mirror of
				https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
				synced 2025-10-31 03:14:16 +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 $<
 |