Refactor and unify objcopy calls in the build system. Also now properly handles DEBUG builds on hosted targets to keep debug symbols if necessary.

Change-Id: I884031b79c6d49479e4d95752f35ced68872dd5d
This commit is contained in:
Thomas Martitz 2012-04-04 21:43:22 +02:00
parent a54072e299
commit 4b56ee048a
16 changed files with 30 additions and 35 deletions

View file

@ -44,7 +44,7 @@ $(CHESSBOX_OBJDIR)/chessbox.ovl: $(CHESSBOX_OBJ) $(CHESSBOX_OUTLDS)
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(CHESSBOX_OVLFLAGS)
$(call PRINTS,LD $(@F))$(OC) -O binary $(basename $@).elf $@
$(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@)
# special pattern rule for compiling chessbox with extra flags
$(CHESSBOX_OBJDIR)/%.o: $(CHESSBOX_SRCDIR)/%.c $(CHESSBOX_SRCDIR)/chessbox.make

View file

@ -43,4 +43,4 @@ $(GOBAN_BUILDDIR)/goban.ovl: $(GOBAN_OBJ) $(GOBAN_OUTLDS)
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(GOBAN_OVLFLAGS)
$(call PRINTS,LD $(@F))$(OC) -O binary $(basename $@).elf $@
$(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@)

View file

@ -40,11 +40,7 @@ $(IMGVBUILDDIR)/%.ovl: $(IMGDEC_OUTLDS)
$(filter-out $(PLUGIN_CRT0),$(filter %.o, $^)) \
$(filter %.a, $+) \
-lgcc $(IMGDEC_OVLFLAGS)
ifdef APP_TYPE
$(SILENT)cp $(IMGVBUILDDIR)/$*.elf $@
else
$(SILENT)$(OC) -O binary $(IMGVBUILDDIR)/$*.elf $@
endif
$(SILENT)$(call objcopy,$(IMGVBUILDDIR)/$*.elf,$@)
# rule to create reference map for image decoder
$(IMGVBUILDDIR)/%.refmap: $(APPSDIR)/plugin.h $(IMGVSRCDIR)/imageviewer.h $(PLUGINLINK_LDS) $(PLUGIN_LIBS)

View file

@ -56,4 +56,4 @@ $(LUA_BUILDDIR)/lua.ovl: $(LUA_OBJ) $(LUA_OUTLDS)
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(LUA_OVLFLAGS)
$(call PRINTS,LD $(@F))$(OC) -O binary $(basename $@).elf $@
$(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@)

View file

@ -36,10 +36,6 @@ $(PDBOXBUILDDIR)/pdbox.rock:
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(PDBOXLDFLAGS)
ifdef APP_TYPE
$(SILENT)cp $*.elf $@
else
$(SILENT)$(OC) -O binary $*.elf $@
endif
$(SILENT)$(call objcopy,$*.elf,$@)

View file

@ -50,7 +50,7 @@ $(PICTUREFLOW_OBJDIR)/pictureflow.ovl: $(PICTUREFLOW_OBJ) $(PICTUREFLOW_OUTLDS)
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(PICTUREFLOW_OVLFLAGS)
$(call PRINTS,LD $(@F))$(OC) -O binary $(basename $@).elf $@
$(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@)
# special pattern rule for compiling pictureflow with extra flags
$(PICTUREFLOW_OBJDIR)/%.o: $(PICTUREFLOW_SRCDIR)/%.c $(PICTUREFLOW_SRCDIR)/pictureflow.make

View file

@ -120,13 +120,7 @@ $(BUILDDIR)/%.rock:
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(PLUGINLDFLAGS)
ifndef APP_TYPE
$(SILENT)$(OC) -O binary $(BUILDDIR)/$*.elf $@ # objcopy native
else ifeq (,$(findstring sdl-sim,$(APP_TYPE)))
$(SILENT)$(OC) -S -x $(BUILDDIR)/$*.elf $@ # objcopy hosted
else
$(SILENT)cp $(BUILDDIR)/$*.elf $@ # no objcopy, keep debug symbols
endif
$(SILENT)$(call objcopy,$(BUILDDIR)/$*.elf,$@)
$(BUILDDIR)/apps/plugins/%.lua: $(ROOTDIR)/apps/plugins/%.lua
$(call PRINTS,CP $(subst $(ROOTDIR)/,,$<))cp $< $(BUILDDIR)/apps/plugins/

View file

@ -37,4 +37,4 @@ $(ROCKBOY_OBJDIR)/rockboy.ovl: $(ROCKBOY_OBJ) $(ROCKBOY_OUTLDS)
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(ROCKBOY_OVLFLAGS)
$(call PRINTS,LD $(@F))$(OC) -O binary $(basename $@).elf $@
$(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@)

View file

@ -45,7 +45,7 @@ $(ZXBOX_OBJDIR)/zxbox.ovl: $(ZXBOX_OBJ) $(ZXBOX_OUTLDS)
$(filter %.o, $^) \
$(filter %.a, $+) \
-lgcc $(ZXBOX_LDFLAGS)
$(call PRINTS,LD $(@F))$(OC) -O binary $(basename $@).elf $@
$(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@)
# special pattern rule for compiling zxbox with extra flags
$(ZXBOX_OBJDIR)/%.o: $(ZXBOX_SRCDIR)/%.c $(ZXBOX_SRCDIR)/zxbox.make