From 14ba1f33ae8f55a3c7f556cf28647c7116b6c3c4 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sun, 7 Sep 2014 09:17:23 -0600 Subject: Changes to many Makefiles. For kernel buil object containing main cannot go into library because of name collisions. The object file must be handled as a special case in every Makefile --- apps/system/hex2bin/Makefile | 40 +++++++++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 11 deletions(-) (limited to 'apps/system/hex2bin') diff --git a/apps/system/hex2bin/Makefile b/apps/system/hex2bin/Makefile index 5c4663467..03fbd5910 100644 --- a/apps/system/hex2bin/Makefile +++ b/apps/system/hex2bin/Makefile @@ -42,23 +42,33 @@ include $(APPDIR)/Make.defs ASRCS = CSRCS = hex2bin.c hex2mem.c fhex2mem.c +ifeq ($(CONFIG_BUILD_KERNEL),y) + +HEX2BIN_MAINSRC = hex2bin_main.c +HEX2MEM_MAINSRC = hex2mem_main.c + +else + ifeq ($(CONFIG_SYSTEM_HEX2BIN_BUILTIN),y) -CSRCS += hex2bin_main.c +HEX2BIN_MAINSRC = hex2bin_main.c endif ifeq ($(CONFIG_SYSTEM_HEX2MEM_BUILTIN),y) -CSRCS += hex2mem_main.c +HEX2MEM_MAINSRC = hex2mem_main.c +endif + endif AOBJS = $(ASRCS:.S=$(OBJEXT)) COBJS = $(CSRCS:.c=$(OBJEXT)) -MAINOBJ = $(MAINSRC:.c=$(OBJEXT)) +HEX2BIN_MAINOBJ = $(HEX2BIN_MAINSRC:.c=$(OBJEXT)) +HEX2MEM_MAINOBJ = $(HEX2MEM_MAINSRC:.c=$(OBJEXT)) SRCS = $(ASRCS) $(CSRCS) $(MAINSRC) OBJS = $(AOBJS) $(COBJS) ifneq ($(CONFIG_BUILD_KERNEL),y) - OBJS += $(MAINOBJ) + OBJS += $(HEX2BIN_MAINOBJ) $(HEX2MEM_MAINOBJ) endif ifeq ($(CONFIG_WINDOWS_NATIVE),y) @@ -77,8 +87,11 @@ else INSTALL_DIR = $(BIN_DIR) endif -CONFIG_XYZ_PROGNAME ?= hex2bin$(EXEEXT) -PROGNAME = $(CONFIG_XYZ_PROGNAME) +CONFIG_EXAMPLES_HEX2BIN_PROGNAME ?= hex2bin$(EXEEXT) +HEX2BIN_PROGNAME = $(CONFIG_EXAMPLES_HEX2BIN_PROGNAME) + +CONFIG_EXAMPLES_HEX2MEM_PROGNAME ?= hex2mem$(EXEEXT) +HEX2MEM_PROGNAME = $(CONFIG_EXAMPLES_HEX2MEM_PROGNAME) ROOTDEPPATH = --dep-path . VPATH = @@ -131,12 +144,17 @@ rhex2mem: endif ifeq ($(CONFIG_BUILD_KERNEL),y) -$(BIN_DIR)$(DELIM)$(PROGNAME): $(OBJS) $(MAINOBJ) - @echo "LD: $(PROGNAME)" - $(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $(INSTALL_DIR)$(DELIM)$(PROGNAME) $(ARCHCRT0OBJ) $(MAINOBJ) $(LDLIBS) - $(Q) $(NM) -u $(INSTALL_DIR)$(DELIM)$(PROGNAME) +$(BIN_DIR)$(DELIM)$(HEX2BIN_PROGNAME): $(OBJS) $(HEX2BIN_MAINOBJ) + @echo "LD: $(HEX2BIN_PROGNAME)" + $(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $(INSTALL_DIR)$(DELIM)$(HEX2BIN_PROGNAME) $(ARCHCRT0OBJ) $(HEX2BIN_MAINOBJ) $(LDLIBS) + $(Q) $(NM) -u $(INSTALL_DIR)$(DELIM)$(HEX2BIN_PROGNAME) + +$(BIN_DIR)$(DELIM)$(HEX2MEM_PROGNAME): $(OBJS) $(HEX2MEM_MAINOBJ) + @echo "LD: $(HEX2MEM_PROGNAME)" + $(Q) $(LD) $(LDELFFLAGS) $(LDLIBPATH) -o $(INSTALL_DIR)$(DELIM)$(HEX2MEM_PROGNAME) $(ARCHCRT0OBJ) $(HEX2MEM_MAINOBJ) $(LDLIBS) + $(Q) $(NM) -u $(INSTALL_DIR)$(DELIM)$(HEX2MEM_PROGNAME) -install: $(BIN_DIR)$(DELIM)$(PROGNAME) +install: $(BIN_DIR)$(DELIM)$(HEX2BIN_PROGNAME) $(BIN_DIR)$(DELIM)$(HEX2MEM_PROGNAME) else install: -- cgit v1.2.3