|
|
@ -21,13 +21,14 @@ VPATH_SRC := $(VPATH) |
|
|
|
vpath %.c $(VPATH_SRC) |
|
|
|
vpath %.h $(VPATH_SRC) |
|
|
|
vpath %.cpp $(VPATH_SRC) |
|
|
|
vpath %.cc $(VPATH_SRC) |
|
|
|
vpath %.hpp $(VPATH_SRC) |
|
|
|
vpath %.S $(VPATH_SRC) |
|
|
|
VPATH := |
|
|
|
|
|
|
|
# Convert all SRC to OBJ
|
|
|
|
define OBJ_FROM_SRC |
|
|
|
$(patsubst %.c,$1/%.o,$(patsubst %.cpp,$1/%.o,$(patsubst %.S,$1/%.o,$($1_SRC)))) |
|
|
|
$(patsubst %.c,$1/%.o,$(patsubst %.cpp,$1/%.o,$(patsubst %.cc,$1/%.o,$(patsubst %.S,$1/%.o,$($1_SRC))))) |
|
|
|
endef |
|
|
|
$(foreach OUTPUT,$(OUTPUTS),$(eval $(OUTPUT)_OBJ +=$(call OBJ_FROM_SRC,$(OUTPUT)))) |
|
|
|
|
|
|
@ -202,14 +203,6 @@ ALL_ASFLAGS = $(MCUFLAGS) -x assembler-with-cpp $(ASFLAGS) $(EXTRAFLAGS) |
|
|
|
|
|
|
|
MOVE_DEP = mv -f $(patsubst %.o,%.td,$@) $(patsubst %.o,%.d,$@) |
|
|
|
|
|
|
|
# Default target.
|
|
|
|
all: build sizeafter |
|
|
|
|
|
|
|
# Change the build target to build a HEX file or a library.
|
|
|
|
build: elf hex |
|
|
|
#build: elf hex eep lss sym
|
|
|
|
#build: lib
|
|
|
|
|
|
|
|
|
|
|
|
elf: $(BUILD_DIR)/$(TARGET).elf |
|
|
|
hex: $(BUILD_DIR)/$(TARGET).hex |
|
|
@ -305,7 +298,13 @@ $1/%.o : %.cpp $1/%.d $1/cppflags.txt $1/compiler.txt | $(BEGIN) |
|
|
|
@mkdir -p $$(@D) |
|
|
|
@$$(SILENT) || printf "$$(MSG_COMPILING_CPP) $$<" | $$(AWK_CMD) |
|
|
|
$$(eval CMD=$$(CC) -c $$($1_CPPFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) |
|
|
|
@$(BUILD_CMD) |
|
|
|
@$$(BUILD_CMD) |
|
|
|
|
|
|
|
$1/%.o : %.cc $1/%.d $1/cppflags.txt $1/compiler.txt | $(BEGIN) |
|
|
|
@mkdir -p $$(@D) |
|
|
|
@$$(SILENT) || printf "$$(MSG_COMPILING_CPP) $$<" | $$(AWK_CMD) |
|
|
|
$$(eval CMD=$$(CC) -c $$($1_CPPFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP)) |
|
|
|
@$$(BUILD_CMD) |
|
|
|
|
|
|
|
# Assemble: create object files from assembler source files.
|
|
|
|
$1/%.o : %.S $1/asflags.txt $1/compiler.txt | $(BEGIN) |
|
|
|