[OpenBIOS] [commit] r961 - in trunk/openbios-devel: . config/xml

repository service svn at openbios.org
Wed Nov 17 20:36:18 CET 2010


Author: blueswirl
Date: Wed Nov 17 20:36:18 2010
New Revision: 961
URL: http://tracker.coreboot.org/trac/openbios/changeset/961

Log:
Introduce automatic build dependencies

Use GCC to generate dependency files.

Tested-by: Andreas Färber <andreas.faerber at web.de>
Signed-off-by: Blue Swirl <blauwirbel at gmail.com>

Modified:
   trunk/openbios-devel/Makefile.target
   trunk/openbios-devel/config/xml/rules.xml

Modified: trunk/openbios-devel/Makefile.target
==============================================================================
--- trunk/openbios-devel/Makefile.target	Wed Nov 17 20:36:16 2010	(r960)
+++ trunk/openbios-devel/Makefile.target	Wed Nov 17 20:36:18 2010	(r961)
@@ -14,6 +14,8 @@
 HOSTCFLAGS+= -Wstrict-prototypes -Wmissing-declarations -Wundef -Wendif-labels
 HOSTCFLAGS+= -Wstrict-aliasing -Wwrite-strings -Wmissing-prototypes -Wnested-externs
 HOSTCFLAGS+= -W
+# Flags for dependency generation
+HOSTCFLAGS+= -MMD -MP -MT $@ -MF '$(*D)/$(*F).d'
 HOSTINCLUDES := -I$(SRCDIR)/include -I$(SRCDIR)/kernel -I$(SRCDIR)/kernel/include -I$(ODIR)/target/include
 
 CC     := $(TARGET)gcc
@@ -29,6 +31,8 @@
 CFLAGS+= -Wstrict-prototypes -Wmissing-declarations -Wundef -Wendif-labels
 CFLAGS+= -Wstrict-aliasing -Wwrite-strings -Wmissing-prototypes -Wnested-externs
 CFLAGS+= -Werror
+# Flags for dependency generation
+CFLAGS+= -MMD -MP -MT $@ -MF '$(*D)/$(*F).d'
 INCLUDES := -I$(SRCDIR)/include -I$(SRCDIR)/kernel/include -I$(ODIR)/target/include
 AS_FLAGS+= -g
 
@@ -63,7 +67,7 @@
 	@printf "Cleaning up for $(ARCH)..."
 	@rm -rf forth.dict.core forthstrap *.dict openbios-*
 	@rm -f $(ODIR)/target/include/openbios-version.h $(ODIR)/forth/version.fs
-	@find . -type f \( -name "*~" -o -name '*.o' -o -name '*.a' \) -exec rm \{\} \;
+	@find . -type f \( -name "*~" -o -name '*.o' -o -name '*.d' -o -name '*.a' \) -exec rm \{\} \;
 	@echo " ok"
 
 build-verbose: info build
@@ -71,3 +75,6 @@
 build: all
 
 include rules.mak
+
+# Include automatically generated dependency files
+-include $(wildcard $(ODIR)/host/kernel/*.d $(ODIR)/target/*/*.d $(ODIR)/target/*/*/*.d $(ODIR)/target/*/*/*/*.d)

Modified: trunk/openbios-devel/config/xml/rules.xml
==============================================================================
--- trunk/openbios-devel/config/xml/rules.xml	Wed Nov 17 20:36:16 2010	(r960)
+++ trunk/openbios-devel/config/xml/rules.xml	Wed Nov 17 20:36:18 2010	(r961)
@@ -4,11 +4,11 @@
 	$(call quiet-command,$(HOSTCC) $(HOSTCFLAGS) -o $@ $^," HOSTCC $(TARGET_DIR)$@")
 </rule>
 <rule target="host" entity="object">
-	$(call quiet-command,$(HOSTCC) $(HOSTCFLAGS) $(HOSTINCLUDES) -c -o $@ $^," HOSTCC $(TARGET_DIR)$@")
+	$(call quiet-command,$(HOSTCC) $(HOSTCFLAGS) $(HOSTINCLUDES) -c -o $@ $<," HOSTCC $(TARGET_DIR)$@")
 </rule>
 <rule target="host" entity="object" extracflags="1">
 	$(call quiet-command,$(HOSTCC) $(HOSTCFLAGS) $(HOSTINCLUDES)</rule>
-<rule target="host" entity="object" extracflags="2"> -c -o $@ $^," HOSTCC $(TARGET_DIR)$@")
+<rule target="host" entity="object" extracflags="2"> -c -o $@ $<," HOSTCC $(TARGET_DIR)$@")
 </rule>
 <rule target="host" entity="library">
 	$(call quiet--command,$(AR) cru $@ $^; $(RANLIB) $@," HOSTAR $(TARGET_DIR)$@")
@@ -19,11 +19,11 @@
 	$(call quiet-command,$(CC) $(CFLAGS) -o $@ $^,"  CC    $(TARGET_DIR)$@")
 </rule>
 <rule target="target" entity="object">
-	$(call quiet-command,$(CC) $$EXTRACFLAGS $(CFLAGS) $(INCLUDES) -c -o $@ $^,"  CC    $(TARGET_DIR)$@")
+	$(call quiet-command,$(CC) $$EXTRACFLAGS $(CFLAGS) $(INCLUDES) -c -o $@ $<,"  CC    $(TARGET_DIR)$@")
 </rule>
 <rule target="target" entity="object" extracflags="1">
 	$(call quiet-command,$(CC) $$EXTRACFLAGS $(CFLAGS) $(INCLUDES)</rule>
-<rule target="target" entity="object" extracflags="2"> -c -o $@ $^,"  CC    $(TARGET_DIR)$@")
+<rule target="target" entity="object" extracflags="2"> -c -o $@ $<,"  CC    $(TARGET_DIR)$@")
 </rule>
 <rule target="target" entity="library">
 	$(call quiet-command,$(AR) cru $@ $^; $(RANLIB) $@,"  AR    $(TARGET_DIR)$@")



More information about the OpenBIOS mailing list