diff --git a/build.mk b/build.mk index 4c9c71b..3246f12 100644 --- a/build.mk +++ b/build.mk @@ -1,10 +1,10 @@ -ifndef BINDIR -$(error BINDIR is not defined in the Makefile) +ifndef OUTDIR +OUTDIR = bin endif ifndef OBJDIR -OBJDIR = $(BINDIR)/obj +OBJDIR = $(OUTDIR)/obj endif @@ -41,7 +41,7 @@ #update CFLAGS and LDFLAGS CFLAGS += $(PLATFORM_CFLAGS) $(ARCH_CFLAGS) $(OPT_CFLAGS) -O$(OPTLEVEL) -g$(DBGLEVEL) $(addprefix -I, $(INCDIRS)) $(addprefix -D, $(CPPDEFS)) CXXFLAGS += $(PLATFORM_CXXFLAGS) $(ARCH_CFLAGS) $(OPT_CFLAGS) -O$(OPTLEVEL) -g$(DBGLEVEL) $(addprefix -I, $(INCDIRS)) $(addprefix -D, $(CPPDEFS)) -LDFLAGS += $(PLATFORM_LDFLAGS) $(ARCH_CFLAGS) $(OPT_CFLAGS) -O$(OPTLEVEL) -g$(DBGLEVEL) -Wl,-Map=$(BINDIR)/$(TARGET).map,--gc-sections,--cref +LDFLAGS += $(PLATFORM_LDFLAGS) $(ARCH_CFLAGS) $(OPT_CFLAGS) -O$(OPTLEVEL) -g$(DBGLEVEL) -Wl,-Map=$(OUTDIR)/$(TARGET).map,--gc-sections,--cref #create list of all objects ALLOBJS = $(addprefix $(OBJDIR)/, $(patsubst %.s, %.o, $(notdir $(ASRCS)))) $(addprefix $(OBJDIR)/, $(patsubst %.c, %.o, $(notdir $(CSRCS)))) $(addprefix $(OBJDIR)/, $(patsubst %.cpp, %.o, $(notdir $(CXXSRCS)))) @@ -130,67 +130,67 @@ clean: user_clean_target @$(ECHO) Cleaning application files ... - -$(RM) -rf $(BINDIR) $(OBJDIR) + -$(RM) -rf $(OUTDIR) $(OBJDIR) -$(BINDIR)/$(TARGET_VER).elf: $(MAKEFILE_LIST) $(ALLOBJS) $(COMPONENT_LIBS) $(LIBS) $(LINKER_SCRIPT) | $(BINDIR)/ +$(OUTDIR)/$(TARGET_VER).elf: $(MAKEFILE_LIST) $(ALLOBJS) $(COMPONENT_LIBS) $(LIBS) $(LINKER_SCRIPT) | $(OUTDIR)/ @$(ECHO) "Linking ..." ifdef LINKER_SCRIPT - $(CC) -o $(BINDIR)/$(TARGET_VER).elf -T$(LINKER_SCRIPT) $(ALLOBJS) $(COMPONENT_LIBS) $(LIBS) $(LDFLAGS) + $(CC) -o $(OUTDIR)/$(TARGET_VER).elf -T$(LINKER_SCRIPT) $(ALLOBJS) $(COMPONENT_LIBS) $(LIBS) $(LDFLAGS) else - $(CC) -o $(BINDIR)/$(TARGET_VER).elf $(ALLOBJS) $(LIBS) $(LDFLAGS) + $(CC) -o $(OUTDIR)/$(TARGET_VER).elf $(ALLOBJS) $(LIBS) $(LDFLAGS) endif ifndef NO_SYM - $(NM) -t d -S --size-sort $(BINDIR)/$(TARGET_VER).elf > $(BINDIR)/$(TARGET_VER).sym + $(NM) -t d -S --size-sort $(OUTDIR)/$(TARGET_VER).elf > $(OUTDIR)/$(TARGET_VER).sym endif ifndef NO_LST - $(OBJDUMP) -xds -S -l $(BINDIR)/$(TARGET_VER).elf > $(BINDIR)/$(TARGET_VER).lst + $(OBJDUMP) -xds -S -l $(OUTDIR)/$(TARGET_VER).elf > $(OUTDIR)/$(TARGET_VER).lst endif ifeq ($(RELEASE), yes) - $(STRIP) --strip-debug --strip-unneeded $(BINDIR)/$(TARGET_VER).elf + $(STRIP) --strip-debug --strip-unneeded $(OUTDIR)/$(TARGET_VER).elf endif ifndef NO_SIZE - @$(SIZE) -A -d $(BINDIR)/$(TARGET_VER).elf + @$(SIZE) -A -d $(OUTDIR)/$(TARGET_VER).elf endif $(EMPTY_LINE) -$(BINDIR)/$(TARGET_VER).a: $(MAKEFILE_LIST) $(ALLOBJS) | $(BINDIR)/ +$(OUTDIR)/$(TARGET_VER).a: $(MAKEFILE_LIST) $(ALLOBJS) | $(OUTDIR)/ @$(ECHO) "Creating static library ..." - $(AR) rcs $(BINDIR)/$(TARGET_VER).a $(ALLOBJS) + $(AR) rcs $(OUTDIR)/$(TARGET_VER).a $(ALLOBJS) ifndef NO_SYM - $(NM) -t d -S --size-sort $(BINDIR)/$(TARGET_VER).a > $(BINDIR)/$(TARGET_VER)_a.sym + $(NM) -t d -S --size-sort $(OUTDIR)/$(TARGET_VER).a > $(OUTDIR)/$(TARGET_VER)_a.sym endif ifndef NO_LST - $(OBJDUMP) -xds -S -l $(BINDIR)/$(TARGET_VER).a > $(BINDIR)/$(TARGET_VER)_a.lst + $(OBJDUMP) -xds -S -l $(OUTDIR)/$(TARGET_VER).a > $(OUTDIR)/$(TARGET_VER)_a.lst endif ifeq ($(RELEASE), yes) - $(STRIP) --strip-debug --strip-unneeded $(BINDIR)/$(TARGET_VER).a + $(STRIP) --strip-debug --strip-unneeded $(OUTDIR)/$(TARGET_VER).a endif @$(ECHO) -$(BINDIR)/$(TARGET_VER).so: $(MAKEFILE_LIST) $(ALLOBJS) | $(BINDIR)/ +$(OUTDIR)/$(TARGET_VER).so: $(MAKEFILE_LIST) $(ALLOBJS) | $(OUTDIR)/ @$(ECHO) "Creating shared library ..." ifdef LINKER_SCRIPT - $(CC) -o $(BINDIR)/$(TARGET_VER).so -T$(LINKER_SCRIPT) $(ALLOBJS) $(COMPONENT_LIBS) $(LIBS) $(LDFLAGS) -rdynamic -shared -Wl,-soname,$(TARGET).so + $(CC) -o $(OUTDIR)/$(TARGET_VER).so -T$(LINKER_SCRIPT) $(ALLOBJS) $(COMPONENT_LIBS) $(LIBS) $(LDFLAGS) -rdynamic -shared -Wl,-soname,$(TARGET).so else - $(CC) -o $(BINDIR)/$(TARGET_VER).so $(ALLOBJS) $(LIBS) $(LDFLAGS) -rdynamic -shared -Wl,-soname,$(TARGET).so + $(CC) -o $(OUTDIR)/$(TARGET_VER).so $(ALLOBJS) $(LIBS) $(LDFLAGS) -rdynamic -shared -Wl,-soname,$(TARGET).so endif ifndef NO_SYM - $(NM) -t d -S --size-sort $(BINDIR)/$(TARGET_VER).so > $(BINDIR)/$(TARGET_VER)_so.sym + $(NM) -t d -S --size-sort $(OUTDIR)/$(TARGET_VER).so > $(OUTDIR)/$(TARGET_VER)_so.sym endif ifndef NO_LST - $(OBJDUMP) -xds -S -l $(BINDIR)/$(TARGET_VER).so > $(BINDIR)/$(TARGET_VER)_so.lst + $(OBJDUMP) -xds -S -l $(OUTDIR)/$(TARGET_VER).so > $(OUTDIR)/$(TARGET_VER)_so.lst endif ifeq ($(RELEASE), yes) - $(STRIP) --strip-debug --strip-unneeded $(BINDIR)/$(TARGET_VER).so + $(STRIP) --strip-debug --strip-unneeded $(OUTDIR)/$(TARGET_VER).so endif @$(ECHO) $(foreach dir, $(OBJDIR), $(eval $(call CREATE_DIRECTORY, $(dir)))) -$(eval $(call CREATE_DIRECTORY, $(BINDIR))) +$(eval $(call CREATE_DIRECTORY, $(OUTDIR))) $(foreach source, $(ASRCS), $(eval $(call COMPILE_ASM_SOURCE, $(OBJDIR)/$(notdir $(source:%.s=%.o)), $(source), $(CFLAGS)))) $(foreach source, $(CSRCS), $(eval $(call COMPILE_C_SOURCE, $(OBJDIR)/$(notdir $(source:%.c=%.o)), $(source), $(CFLAGS)))) diff --git a/config_cortex_m0.mk b/config_cortex_m0.mk index 3ef0ecb..5bb47ca 100644 --- a/config_cortex_m0.mk +++ b/config_cortex_m0.mk @@ -24,8 +24,8 @@ define CONFIG_TARGETS -$(BINDIR)/$(TARGET_VER).hex: $(BINDIR)/$(TARGET_VER).elf | $(BINDIR)/ - $(OBJCOPY) -O ihex $(BINDIR)/$(TARGET_VER).elf $(BINDIR)/$(TARGET_VER).hex +$(OUTDIR)/$(TARGET_VER).hex: $(OUTDIR)/$(TARGET_VER).elf | $(OUTDIR)/ + $(OBJCOPY) -O ihex $(OUTDIR)/$(TARGET_VER).elf $(OUTDIR)/$(TARGET_VER).hex @echo endef diff --git a/config_cortex_m3.mk b/config_cortex_m3.mk index 7ae4d2b..029dcf8 100644 --- a/config_cortex_m3.mk +++ b/config_cortex_m3.mk @@ -24,8 +24,8 @@ define CONFIG_TARGETS -$(BINDIR)/$(TARGET_VER).hex: $(BINDIR)/$(TARGET_VER).elf | $(BINDIR)/ - $(OBJCOPY) -O ihex $(BINDIR)/$(TARGET_VER).elf $(BINDIR)/$(TARGET_VER).hex +$(OUTDIR)/$(TARGET_VER).hex: $(OUTDIR)/$(TARGET_VER).elf | $(OUTDIR)/ + $(OBJCOPY) -O ihex $(OUTDIR)/$(TARGET_VER).elf $(OUTDIR)/$(TARGET_VER).hex @echo endef diff --git a/config_cortex_m4.mk b/config_cortex_m4.mk index c56d3d8..9e10343 100644 --- a/config_cortex_m4.mk +++ b/config_cortex_m4.mk @@ -23,8 +23,8 @@ define CONFIG_TARGETS -$(BINDIR)/$(TARGET_VER).hex: $(BINDIR)/$(TARGET_VER).elf | $(BINDIR)/ - $(OBJCOPY) -O ihex $(BINDIR)/$(TARGET_VER).elf $(BINDIR)/$(TARGET_VER).hex +$(OUTDIR)/$(TARGET_VER).hex: $(OUTDIR)/$(TARGET_VER).elf | $(OUTDIR)/ + $(OBJCOPY) -O ihex $(OUTDIR)/$(TARGET_VER).elf $(OUTDIR)/$(TARGET_VER).hex @echo endef diff --git a/config_cortex_m4f.mk b/config_cortex_m4f.mk index 5048b3b..176b52b 100644 --- a/config_cortex_m4f.mk +++ b/config_cortex_m4f.mk @@ -24,8 +24,8 @@ define CONFIG_TARGETS -$(BINDIR)/$(TARGET_VER).hex: $(BINDIR)/$(TARGET_VER).elf | $(BINDIR)/ - $(OBJCOPY) -O ihex $(BINDIR)/$(TARGET_VER).elf $(BINDIR)/$(TARGET_VER).hex +$(OUTDIR)/$(TARGET_VER).hex: $(OUTDIR)/$(TARGET_VER).elf | $(OUTDIR)/ + $(OBJCOPY) -O ihex $(OUTDIR)/$(TARGET_VER).elf $(OUTDIR)/$(TARGET_VER).hex @echo endef diff --git a/config_cortex_m7.mk b/config_cortex_m7.mk index ee671bd..7b5401a 100644 --- a/config_cortex_m7.mk +++ b/config_cortex_m7.mk @@ -24,8 +24,8 @@ define CONFIG_TARGETS -$(BINDIR)/$(TARGET_VER).hex: $(BINDIR)/$(TARGET_VER).elf | $(BINDIR)/ - $(OBJCOPY) -O ihex $(BINDIR)/$(TARGET_VER).elf $(BINDIR)/$(TARGET_VER).hex +$(OUTDIR)/$(TARGET_VER).hex: $(OUTDIR)/$(TARGET_VER).elf | $(OUTDIR)/ + $(OBJCOPY) -O ihex $(OUTDIR)/$(TARGET_VER).elf $(OUTDIR)/$(TARGET_VER).hex @echo endef diff --git a/config_linux.mk b/config_linux.mk index ec78307..ed992f3 100644 --- a/config_linux.mk +++ b/config_linux.mk @@ -21,12 +21,12 @@ PLATFORM_LDFLAGS = define CONFIG_TARGETS -$(BINDIR)/$(TARGET_VER): $(BINDIR)/$(TARGET_VER).elf | $(BINDIR)/ - @$(CP) -av $(BINDIR)/$(TARGET_VER).elf $(BINDIR)/$(TARGET_VER) +$(OUTDIR)/$(TARGET_VER): $(OUTDIR)/$(TARGET_VER).elf | $(OUTDIR)/ + @$(CP) -av $(OUTDIR)/$(TARGET_VER).elf $(OUTDIR)/$(TARGET_VER) ifdef BUILD_VERSION -$(BINDIR)/$(TARGET): $(BINDIR)/$(TARGET_VER).elf | $(BINDIR)/ - @$(CP) -av $(BINDIR)/$(TARGET_VER).elf $(BINDIR)/$(TARGET) +$(OUTDIR)/$(TARGET): $(OUTDIR)/$(TARGET_VER).elf | $(OUTDIR)/ + @$(CP) -av $(OUTDIR)/$(TARGET_VER).elf $(OUTDIR)/$(TARGET) endif endef