[build] Fix DEBUG builds for filenames with hyphens
authorJoshua Oreman <oremanj@rwcr.net>
Thu, 15 Oct 2009 18:07:20 +0000 (14:07 -0400)
committerMarty Connor <mdc@etherboot.org>
Thu, 15 Oct 2009 18:07:20 +0000 (14:07 -0400)
Debug builds for filenames with hyphens such as:

     $ make bin/via-rhine.dsk DEBUG=via-rhine

fail with:

     [BUILD] bin/via-rhine.dbg1.o
     <command-line>: error: missing whitespace after the macro name
     make: *** [bin/via-rhine.dbg1.o] Error 1

This is because "-" is not a legal character in C identifiers, and
gcc rejects "-Ddebug_via-rhine=1" as an argument.

Signed-off-by: Daniel Verkamp <daniel@drv.nu>
Signed-off-by: Joshua Oreman <oremanj@rwcr.net>
Signed-off-by: Marty Connor <mdc@etherboot.org>
src/Makefile.housekeeping

index df2a620..e83a3e5 100644 (file)
@@ -410,7 +410,7 @@ endif
 #
 COMPILE_c      = $(CC) $(CFLAGS) $(CFLAGS_c) $(OBJ_CFLAGS)
 RULE_c         = $(Q)$(COMPILE_c) -c $< -o $@ $(POST_O)
-RULE_c_to_dbg%.o = $(Q)$(COMPILE_c) -Ddebug_$(OBJECT)=$* -c $< -o $@ $(POST_O)
+RULE_c_to_dbg%.o = $(Q)$(COMPILE_c) -Ddebug_$(subst -,_,$(OBJECT))=$* -c $< -o $@ $(POST_O)
 RULE_c_to_c    = $(Q)$(COMPILE_c) -E -c $< > $@
 RULE_c_to_s    = $(Q)$(COMPILE_c) -S -g0 -c $< -o $@