author | kergoth <kergoth> | 2002-11-05 18:26:02 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2002-11-05 18:26:02 (UTC) |
commit | 468f1826ade3afaf7a8b8587b297d9ec6e0ccf3f (patch) (unidiff) | |
tree | 76a3e2002b736da582de22852c9b4e7cfa6de2f2 | |
parent | bbacc58102236691c8161fac2674998ce428ac3c (diff) | |
download | opie-468f1826ade3afaf7a8b8587b297d9ec6e0ccf3f.zip opie-468f1826ade3afaf7a8b8587b297d9ec6e0ccf3f.tar.gz opie-468f1826ade3afaf7a8b8587b297d9ec6e0ccf3f.tar.bz2 |
Rearranged root makefile to fix dependencies on make targets, split config.in generation rules into .depends.cfgs
-rw-r--r-- | Makefile.test | 50 | ||||
-rw-r--r-- | Rules.make | 8 |
2 files changed, 40 insertions, 18 deletions
diff --git a/Makefile.test b/Makefile.test index 3311cde..b30b85d 100644 --- a/Makefile.test +++ b/Makefile.test | |||
@@ -7,3 +7,16 @@ export QMAKESPEC=$(QMAKESPECSDIR)/qws/linux-generic-g++ | |||
7 | 7 | ||
8 | all : | 8 | # $(TOPDIR)/.config depends on .depends.cfgs, as it depends on $(configs) |
9 | # in order to have a full set of config.in files. | ||
10 | # .depends depends on $(TOPDIR)/.config | ||
11 | # everything else depends on .depends, to ensure the dependencies are | ||
12 | # intact. | ||
13 | # | ||
14 | # NOTE: The order in which things happen in this makefile is | ||
15 | # -critical-. Do not rearrange this! | ||
16 | |||
17 | all : $(TOPDIR)/.config | ||
18 | |||
19 | $(TOPDIR)/.config : $(TOPDIR)/.depends.cfgs | ||
20 | |||
21 | all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(TOPDIR)/.depends | ||
9 | 22 | ||
@@ -13,9 +26,7 @@ clean-configs : $(TOPDIR)/.depends | |||
13 | 26 | ||
14 | -include $(TOPDIR)/.config | 27 | -include $(TOPDIR)/.depends.cfgs |
15 | -include $(TOPDIR)/..config.cmd | ||
16 | -include $(TOPDIR)/.depends | ||
17 | 28 | ||
18 | all : $(TOPDIR)/.depends $(configs) $(subdir-y) | 29 | all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(configs) |
19 | 30 | ||
20 | ./.config: $(configs) | 31 | $(TOPDIR)/.config: $(TOPDIR)/.depends.cfgs $(configs) |
21 | $(call descend,scripts/kconfig,conf) | 32 | $(call descend,scripts/kconfig,conf) |
@@ -27,3 +38,7 @@ all : $(TOPDIR)/.depends $(configs) $(subdir-y) | |||
27 | 38 | ||
28 | xconfig: $(configs) | 39 | # config rules must have the $(configs) var defined |
40 | # at the time that they run. we must ensure that .depends.cfgs | ||
41 | # is built and included by the time we reach this point. | ||
42 | |||
43 | xconfig : | ||
29 | $(call descend,scripts/kconfig,qconf) | 44 | $(call descend,scripts/kconfig,qconf) |
@@ -31,3 +46,3 @@ xconfig: $(configs) | |||
31 | 46 | ||
32 | menuconfig: $(configs) scripts/lxdialog/lxdialog | 47 | menuconfig : scripts/lxdialog/lxdialog |
33 | $(call descend,scripts/kconfig,mconf) | 48 | $(call descend,scripts/kconfig,mconf) |
@@ -35,3 +50,3 @@ menuconfig: $(configs) scripts/lxdialog/lxdialog | |||
35 | 50 | ||
36 | config: $(configs) | 51 | config : |
37 | $(call descend,scripts/kconfig,conf) | 52 | $(call descend,scripts/kconfig,conf) |
@@ -39,3 +54,3 @@ config: $(configs) | |||
39 | 54 | ||
40 | oldconfig: $(configs) | 55 | oldconfig : |
41 | $(call descend,scripts/kconfig,conf) | 56 | $(call descend,scripts/kconfig,conf) |
@@ -43,3 +58,3 @@ oldconfig: $(configs) | |||
43 | 58 | ||
44 | randconfig: $(configs) | 59 | randconfig : |
45 | $(call descend,scripts/kconfig,conf) | 60 | $(call descend,scripts/kconfig,conf) |
@@ -47,3 +62,3 @@ randconfig: $(configs) | |||
47 | 62 | ||
48 | allyesconfig: $(configs) | 63 | allyesconfig : |
49 | $(call descend,scripts/kconfig,conf) | 64 | $(call descend,scripts/kconfig,conf) |
@@ -51,3 +66,3 @@ allyesconfig: $(configs) | |||
51 | 66 | ||
52 | allnoconfig: $(configs) | 67 | allnoconfig : |
53 | $(call descend,scripts/kconfig,conf) | 68 | $(call descend,scripts/kconfig,conf) |
@@ -55,3 +70,3 @@ allnoconfig: $(configs) | |||
55 | 70 | ||
56 | defconfig: $(configs) | 71 | defconfig : |
57 | $(call descend,scripts/kconfig,conf) | 72 | $(call descend,scripts/kconfig,conf) |
@@ -60,3 +75,8 @@ defconfig: $(configs) | |||
60 | 75 | ||
61 | include $(TOPDIR)/Rules.make | 76 | -include $(TOPDIR)/.config |
77 | -include $(TOPDIR)/..config.cmd | ||
78 | -include $(TOPDIR)/.depends | ||
62 | 79 | ||
80 | all : $(subdir-y) | ||
81 | |||
82 | include $(TOPDIR)/Rules.make | ||
@@ -5,3 +5,3 @@ $(configs) : | |||
5 | 5 | ||
6 | $(TOPDIR)/.depends : $(shell if [ -e $(TOPDIR)/config.in ]\; then echo $(TOPDIR)/config.in\; fi\;) | 6 | $(TOPDIR)/.depends : $(shell if [ -e $(TOPDIR)/config.in ]\; then echo $(TOPDIR)/config.in\; fi\;) $(TOPDIR)/.config |
7 | @echo Generating dependency information... | 7 | @echo Generating dependency information... |
@@ -19,6 +19,8 @@ $(TOPDIR)/.depends : $(shell if [ -e $(TOPDIR)/config.in ]\; then echo $(TOPDIR) | |||
19 | $(TOPDIR)/scripts/deps.pl >> $(TOPDIR)/.depends | 19 | $(TOPDIR)/scripts/deps.pl >> $(TOPDIR)/.depends |
20 | |||
21 | $(TOPDIR)/.depends.cfgs: | ||
20 | # generation of config.in files, and config.in interdependencies | 22 | # generation of config.in files, and config.in interdependencies |
21 | @find $(TOPDIR)/ -name config.in | ( for cfg in `cat`; do dir=`dirname $$cfg`; name=`basename $$dir`; if [ ! -e $$dir/$$name.pro ]; then echo $$dir; fi; done; ) > dirs | 23 | @find $(TOPDIR)/ -name config.in | ( for cfg in `cat`; do dir=`dirname $$cfg`; name=`basename $$dir`; if [ ! -e $$dir/$$name.pro ]; then echo $$dir; fi; done; ) > dirs |
22 | @echo "configs += `echo \`cat dirs | sed -e's,^$(TOPDIR)/,$$(TOPDIR)/,g' -e's,$$,/config.in,g'\``" >> .depends | 24 | @echo "configs += `echo \`cat dirs | sed -e's,^$(TOPDIR)/,$$(TOPDIR)/,g' -e's,$$,/config.in,g'\``" >> $@ |
23 | @cat dirs | ( for i in `cat`; do if [ "`cat dirs|grep $$i 2>/dev/null|wc -l`" -ne "1" ]; then deps=`cat dirs|grep $$i| grep -v "^$$i$$"|for i in \`cat|sed -e's,^$(TOPDIR)/,$$(TOPDIR)/,g'\`; do echo $$i/config.in; done`; echo `echo $$i/config.in|sed -e 's,^$(TOPDIR)/,$$(TOPDIR)/,'` : $$deps; fi; done ) >> $(TOPDIR)/.depends | 25 | @cat dirs | ( for i in `cat`; do if [ "`cat dirs|grep $$i 2>/dev/null|wc -l`" -ne "1" ]; then deps=`cat dirs|grep $$i| grep -v "^$$i$$"|for i in \`cat|sed -e's,^$(TOPDIR)/,$$(TOPDIR)/,g'\`; do echo $$i/config.in; done`; echo `echo $$i/config.in|sed -e 's,^$(TOPDIR)/,$$(TOPDIR)/,'` : $$deps; fi; done ) >> $@ |
24 | @-rm -f dirs | 26 | @-rm -f dirs |