[makefile] Allow .sizes target to work with funny-named objects
authorJoshua Oreman <oremanj@rwcr.net>
Wed, 30 Dec 2009 01:28:34 +0000 (20:28 -0500)
committerMarty Connor <mdc@etherboot.org>
Thu, 14 Jan 2010 16:28:52 +0000 (11:28 -0500)
The bin/xxx.sizes targets examine the list of obj_ symbols in bin/xxx.tmp
to determine which objects to measure the size of. These symbols have been
normalized to C identifiers, so the result is an error message from `size'
when examining a target that includes objects that were originally named
with hyphens.

Fix by turning obj_foo_bar into $(wildcard bin/foo?bar.o) instead of
bin/foo_bar.o.

Signed-off-by: Marty Connor <mdc@etherboot.org>
src/Makefile.housekeeping

index 63745ff..1642374 100644 (file)
@@ -677,7 +677,7 @@ endef
 $(BIN)/%.objs : $(BIN)/%.tmp
        $(Q)$(ECHO) $(call objs_list,$<)
 $(BIN)/%.sizes : $(BIN)/%.tmp
-       $(Q)$(SIZE) -t $(foreach OBJ,$(call objs_list,$<),$(BIN)/$(OBJ).o) | \
+       $(Q)$(SIZE) -t $(foreach OBJ,$(call objs_list,$<),$(wildcard $(BIN)/$(subst _,?,$(OBJ)).o)) | \
                sort -g
 
 # Get dependency list for the specified target