r1863

dslinux_amadeus at dslinux.in-berlin.de dslinux_amadeus at dslinux.in-berlin.de
Fri Aug 31 17:59:03 CEST 2007


Author: amadeus
Date: 2007-08-31 17:58:57 +0200 (Fri, 31 Aug 2007)
New Revision: 1863

Log:
improve Makefile for parallel build

Modified: trunk/user/Makefile
===================================================================
--- trunk/user/Makefile	2007-08-26 11:50:54 UTC (rev 1862)
+++ trunk/user/Makefile	2007-08-31 15:58:57 UTC (rev 1863)
@@ -399,19 +399,22 @@
 
 dir_y += games
 
-all: config $(dir_y) $(dir_v) $(dir_p)
-
-.PHONY: $(dir_y) $(dir_v) $(dir_p)
-$(dir_y) $(dir_v) $(dir_p): config
+all_targets := $(sort $(dir_y) $(dir_v) $(dir_p))
+.PHONY: $(all_targets)
+all: config $(all_targets)
+$(all_targets): config
 	if [ -d $@ ]; then \
 		touch $@/.sgbuilt_user; \
 		$(MAKE) -C $@ || exit $$? ; \
 	fi; \
 
-romfs:
-	for i in $(sort $(dir_y)) $(dir_p) ; do \
-		[ ! -d $$i ] || $(MAKE) -C $$i romfs || exit $$? ; \
-	done
+romfstargets := $(patsubst %,%.r, $(sort $(dir_y) $(dir_p)))
+.PHONY: $(romfstargets)
+romfs: $(romfstargets)
+$(romfstargets):
+	if [ -d $(patsubst %.r,%,$@) ]; then \
+		$(MAKE) -C $(patsubst %.r,%,$@) romfs || exit $$? ; \
+	fi; \
 
 clean:
 	-for i in $(dir_v) $(sort $(dir_y) $(dir_n) $(dir_)) $(dir_p) ; do \




More information about the dslinux-commit mailing list