mirror of
				https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
				synced 2025-10-31 11:21:06 +00:00 
			
		
		
		
	
		
			
	
	
		
			60 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
|  | # Useful tools
 | ||
|  | CROSS_COMPILE ?= arm-none-eabi- | ||
|  | 
 | ||
|  | CC       := $(CROSS_COMPILE)gcc | ||
|  | CXX      := $(CROSS_COMPILE)g++ | ||
|  | LD       := $(CROSS_COMPILE)ld -v | ||
|  | AR       := $(CROSS_COMPILE)ar | ||
|  | AS       := $(CROSS_COMPILE)gcc | ||
|  | OBJCOPY  := $(CROSS_COMPILE)objcopy | ||
|  | DISAS    := $(CROSS_COMPILE)objdump | ||
|  | OBJDUMP  := $(CROSS_COMPILE)objdump | ||
|  | SIZE     := $(CROSS_COMPILE)size | ||
|  | DFU      ?= dfu-util | ||
|  | 
 | ||
|  | # Suppress annoying output unless V is set
 | ||
|  | ifndef V | ||
|  |    SILENT_CC       = @echo '  [CC]       ' $(@:$(BUILD_PATH)/%.o=%.c); | ||
|  |    SILENT_AS       = @echo '  [AS]       ' $(@:$(BUILD_PATH)/%.o=%.S); | ||
|  |    SILENT_CXX      = @echo '  [CXX]      ' $(@:$(BUILD_PATH)/%.o=%.cpp); | ||
|  |    SILENT_LD       = @echo '  [LD]       ' $(@F); | ||
|  |    SILENT_AR       = @echo '  [AR]       ' | ||
|  |    SILENT_OBJCOPY  = @echo '  [OBJCOPY]  ' $(@F); | ||
|  |    SILENT_DISAS    = @echo '  [DISAS]    ' $(@:$(BUILD_PATH)/%.bin=%).disas; | ||
|  |    SILENT_OBJDUMP  = @echo '  [OBJDUMP]  ' $(OBJDUMP); | ||
|  | endif | ||
|  | 
 | ||
|  | # Extra build configuration
 | ||
|  | 
 | ||
|  | BUILDDIRS := | ||
|  | TGT_BIN   := | ||
|  | 
 | ||
|  | CFLAGS   = $(GLOBAL_CFLAGS) $(TGT_CFLAGS) | ||
|  | CXXFLAGS = $(GLOBAL_CXXFLAGS) $(TGT_CXXFLAGS) | ||
|  | ASFLAGS  = $(GLOBAL_ASFLAGS) $(TGT_ASFLAGS) | ||
|  | 
 | ||
|  | # Hacks to determine extra libraries we need to link against based on
 | ||
|  | # the toolchain. The default specifies no extra libraries, but it can
 | ||
|  | # be overridden.
 | ||
|  | LD_TOOLCHAIN_PATH := $(LDDIR)/toolchains/generic | ||
|  | ifneq ($(findstring ARM/embedded,$(shell $(CC) --version)),) | ||
|  | # GCC ARM Embedded, https://launchpad.net/gcc-arm-embedded/
 | ||
|  | LD_TOOLCHAIN_PATH := $(LDDIR)/toolchains/gcc-arm-embedded | ||
|  | endif | ||
|  | ifneq ($(findstring Linaro GCC,$(shell $(CC) --version)),) | ||
|  | # Summon/Linaro GCC ARM Embedded, https://github.com/esden/summon-arm-toolchain
 | ||
|  | LD_TOOLCHAIN_PATH := $(LDDIR)/toolchains/gcc-arm-embedded | ||
|  | endif | ||
|  | # Add toolchain directory to LD search path
 | ||
|  | TOOLCHAIN_LDFLAGS := -L $(LD_TOOLCHAIN_PATH) | ||
|  | 
 | ||
|  | # General directory independent build rules, generate dependency information
 | ||
|  | $(BUILD_PATH)/%.o: %.c | ||
|  | 	$(SILENT_CC) $(CC) $(CFLAGS) -MMD -MP -MF $(@:%.o=%.d) -MT $@ -o $@ -c $< | ||
|  | 
 | ||
|  | $(BUILD_PATH)/%.o: %.cpp | ||
|  | 	$(SILENT_CXX) $(CXX) $(CFLAGS) $(CXXFLAGS) -MMD -MP -MF $(@:%.o=%.d) -MT $@ -o $@ -c $< | ||
|  | 
 | ||
|  | $(BUILD_PATH)/%.o: %.S | ||
|  | 	$(SILENT_AS) $(AS) $(ASFLAGS) -MMD -MP -MF $(@:%.o=%.d) -MT $@ -o $@ -c $< |