manual merge
authorJoshua Oreman <oremanj@krypton.lan>
Sat, 2 May 2009 20:07:40 +0000 (13:07 -0700)
committerJoshua Oreman <oremanj@krypton.lan>
Sat, 2 May 2009 20:07:40 +0000 (13:07 -0700)
1  2 
src/Makefile.housekeeping

@@@ -419,23 -419,6 +419,6 @@@ define src_templat
        @$(MKDIR) -p $(dir $(2))
        @$(RM) $(2)
        @$(TOUCH) $(2)
-       $(foreach OBJ,$(if $(OBJS_$(4)),$(OBJS_$(4)),$(4)), \
-               $(call obj_template,$(1),$(2),$(3),$(OBJ)))
-       @$(PARSEROM) $(1) >> $(2)
- endef
- # obj_template : generate Makefile rules for a given resultant object
- # of a particular source file.  (We can have multiple objects per
- # source file via the OBJS_xxx list.)
- #
- # $(1) is the full path to the source file (e.g. "drivers/net/rtl8139.c")
- # $(2) is the full path to the .d file (e.g. "bin/deps/drivers/net/rtl8139.d")
- # $(3) is the source type (e.g. "c")
- # $(4) is the object name (e.g. "rtl8139")
- #
- define obj_template
        @$(CPP) $(CFLAGS) $(CFLAGS_$(3)) $(CFLAGS_$(4)) -DOBJECT=$(4) \
                -Wno-error -MM $(1) -MG -MP | \
                sed 's/\.o\s*:/_DEPS =/' >> $(2)
                 '\n$(2) : $$($(4)_DEPS)\n' \
                 '\nTAGS : $$($(4)_DEPS)\n' \
                >> $(2)
+       @$(PARSEROM) $(1) >> $(2)
  
  endef
  
@@@ -664,6 -648,37 +648,37 @@@ $(BIN)/%.tmp : $(BLIB) $(MAKEDEPS) $(LD
  $(BIN)/%.map : $(BIN)/%.tmp
        @less $(BIN)/$*.tmp.map
  
+ # Get objects list for the specified target
+ #
+ define objs_list
+       $(sort $(foreach OBJ_SYMBOL,\
+                $(filter obj_%,$(shell $(NM) $(1) | cut -d" " -f3)),\
+                $(patsubst obj_%,%,$(OBJ_SYMBOL))))
+ 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) | \
+               sort -g
+ # Get dependency list for the specified target
+ #
+ define deps_list
+       $(sort $(foreach OBJ,$(call objs_list,$(1)),$($(OBJ)_DEPS)))
+ endef
+ $(BIN)/%.deps : $(BIN)/%.tmp
+       $(Q)$(ECHO) $(call deps_list,$<)
+ # Get unneeded source files for the specified target
+ #
+ define nodeps_list
+       $(sort $(filter-out $(call deps_list,$<),\
+                $(foreach BOBJ,$(BOBJS),\
+                  $($(basename $(notdir $(BOBJ)))_DEPS))))
+ endef
+ $(BIN)/%.nodeps : $(BIN)/%.tmp
+       $(Q)$(ECHO) $(call nodeps_list,$<)
  # Extract compression information from intermediate object file
  #
  $(BIN)/%.zinfo : $(BIN)/%.tmp
@@@ -724,6 -739,7 +739,7 @@@ define media_templat
        @$(ECHO_E) '$$(BIN)/%.$(1) : $$(BIN)/%.$(1).zbin' \
                  '\n\t$$(QM)$(ECHO) "  [FINISH] $$@"' \
                  '\n\t$$(Q)$$(CP) $$< $$@' \
+                 '\n\t$$(Q)$$(PAD_$(1))' \
                  '\n\t$$(Q)$$(FINALISE_$(1))' \
                > $(2)
  
@@@ -836,15 -852,17 +852,25 @@@ CLEANUP += $(ICCFIX
  $(FIREBUG) : util/firebug.c util/fwtools.c $(MAKEDEPS)
        $(QM)$(ECHO) "  [HOSTCC] $@"
        $(Q)$(HOST_CC) -idirafter include -O2 -o $@ $< util/fwtools.c -lraw1394
+ CLEANUP += $(FIREBUG)
+ ###############################################################################
+ #
+ # The FireWire image server
+ #
+ $(FIRESERVE) : util/fireserve.c util/fwtools.c $(MAKEDEPS)
+       $(QM)$(ECHO) "  [HOSTCC] $@"
+       $(Q)$(HOST_CC) -idirafter include -O2 -o $@ $< util/fwtools.c -lraw1394
+ CLEANUP += $(FIRESERVE)
  
 +###############################################################################
 +#
 +# The FireWire image server
 +#
 +$(FIRESERVE) : util/fireserve.c util/fwtools.c $(MAKEDEPS)
 +      $(QM)$(ECHO) "  [HOSTCC] $@"
 +      $(Q)$(HOST_CC) -idirafter include -O2 -o $@ $< util/fwtools.c -lraw1394
 +
  ###############################################################################
  #
  # Auto-incrementing build serial number.  Append "bs" to your list of