$* doesn't work if the target doesn't use a wildcard. Furthermore the GNU make manual discourages its use. Using works, and automatically ensures the correct directory. zxbox.map and chessbox.map were put into the wrong dir (build dir) and overwrote each other.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19176 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Jens Arnold 2008-11-21 22:00:35 +00:00
parent fea18742a2
commit 5e4a6824bb
3 changed files with 9 additions and 9 deletions

View file

@ -25,7 +25,7 @@ else
CHESSBOX_INLDS := $(APPSDIR)/plugins/plugin.lds
ROCKS += $(CHESSBOX_OBJDIR)/chessbox.rock
endif
CHESSBOX_OVLFLAGS = -T$(CHESSBOX_OUTLDS) -Wl,--gc-sections -Wl,-Map,$*.map
CHESSBOX_OVLFLAGS = -T$(CHESSBOX_OUTLDS) -Wl,--gc-sections -Wl,-Map,$(basename $@).map
CHESSBOX_OUTLDS = $(CHESSBOX_OBJDIR)/chessbox.lds
else
### simulator
@ -46,11 +46,11 @@ $(CHESSBOX_OUTLDS): $(CHESSBOX_INLDS) $(CHESSBOX_OBJ)
$(CHESSBOX_OBJDIR)/chessbox.rock: $(CHESSBOX_OBJ) $(CHESSBOX_OUTLDS) $(PLUGINBITMAPLIB)
$(CHESSBOX_OBJDIR)/chessbox.ovl: $(CHESSBOX_OBJ) $(CHESSBOX_OUTLDS) $(PLUGINBITMAPLIB)
$(SILENT)$(CC) $(PLUGINFLAGS) -o $(CHESSBOX_OBJDIR)/$*.elf \
$(SILENT)$(CC) $(PLUGINFLAGS) -o $(basename $@).elf \
$(filter %.o, $^) \
$(filter %.a, $^) \
-lgcc $(CHESSBOX_OVLFLAGS)
$(call PRINTS,LD $(@F))$(OC) -O binary $(CHESSBOX_OBJDIR)/$*.elf $@
$(call PRINTS,LD $(@F))$(OC) -O binary $(basename $@).elf $@
# special pattern rule for compiling chessbox with extra flags
$(CHESSBOX_OBJDIR)/%.o: $(CHESSBOX_SRCDIR)/%.c $(PLUGINBITMAPLIB) $(CHESSBOX_SRCDIR)/chessbox.make

View file

@ -26,7 +26,7 @@ else
ROCKBOY_INLDS := $(APPSDIR)/plugins/plugin.lds
ROCKS += $(ROCKBOY_OBJDIR)/rockboy.rock
endif
ROCKBOY_OVLFLAGS = -T$(ROCKBOY_OUTLDS) -Wl,--gc-sections -Wl,-Map,$(ROCKBOY_OBJDIR)/$*.map
ROCKBOY_OVLFLAGS = -T$(ROCKBOY_OUTLDS) -Wl,--gc-sections -Wl,-Map,$(basename $@).map
ROCKBOY_OUTLDS = $(ROCKBOY_OBJDIR)/rockboy.lds
else
### simulator
@ -46,8 +46,8 @@ $(ROCKBOY_OUTLDS): $(ROCKBOY_INLDS) $(ROCKBOY_OBJ)
$(ROCKBOY_OBJDIR)/rockboy.rock: $(ROCKBOY_OBJ) $(ROCKBOY_OUTLDS) $(PLUGINBITMAPLIB)
$(ROCKBOY_OBJDIR)/rockboy.ovl: $(ROCKBOY_OBJ) $(ROCKBOY_OUTLDS) $(PLUGINBITMAPLIB)
$(SILENT)$(CC) $(PLUGINFLAGS) -o $(ROCKBOY_OBJDIR)/$*.elf \
$(SILENT)$(CC) $(PLUGINFLAGS) -o $(basename $@).elf \
$(filter %.o, $^) \
$(filter %.a, $^) \
-lgcc $(ROCKBOY_OVLFLAGS)
$(call PRINTS,LD $(@F))$(OC) -O binary $(ROCKBOY_OBJDIR)/$*.elf $@
$(call PRINTS,LD $(@F))$(OC) -O binary $(basename $@).elf $@

View file

@ -36,7 +36,7 @@ ifdef SIMVER
ZXBOX_LDFLAGS = $(SHARED_FLAG) # <-- from Makefile
else
ZXBOX_OUTLDS = $(ZXBOX_OBJDIR)/zxbox.lds
ZXBOX_LDFLAGS = -T$(ZXBOX_OUTLDS) -Wl,--gc-sections -Wl,-Map,$(BUILDDIR)/$*.map
ZXBOX_LDFLAGS = -T$(ZXBOX_OUTLDS) -Wl,--gc-sections -Wl,-Map,$(basename $@).map
endif
$(ZXBOX_OUTLDS): $(ZXBOX_INLDS) $(ZXBOX_OBJ)
@ -45,11 +45,11 @@ $(ZXBOX_OUTLDS): $(ZXBOX_INLDS) $(ZXBOX_OBJ)
$(ZXBOX_OBJDIR)/zxbox.rock: $(ZXBOX_OBJ) $(ZXBOX_OUTLDS) $(PLUGINBITMAPLIB)
$(ZXBOX_OBJDIR)/zxbox.ovl: $(ZXBOX_OBJ) $(ZXBOX_OUTLDS) $(PLUGINBITMAPLIB) $(PLUGINLIB)
$(SILENT)$(CC) $(PLUGINFLAGS) -o $(ZXBOX_OBJDIR)/$*.elf \
$(SILENT)$(CC) $(PLUGINFLAGS) -o $(basename $@).elf \
$(filter %.o, $^) \
$(filter %.a, $^) \
-lgcc $(ZXBOX_LDFLAGS)
$(call PRINTS,LD $(@F))$(OC) -O binary $(ZXBOX_OBJDIR)/$*.elf $@
$(call PRINTS,LD $(@F))$(OC) -O binary $(basename $@).elf $@
# special pattern rule for compiling zxbox with extra flags
$(ZXBOX_OBJDIR)/%.o: $(ZXBOX_SRCDIR)/%.c $(PLUGINBITMAPLIB) $(ZXBOX_SRCDIR)/zxbox.make