summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile.test5
-rw-r--r--Rules.make20
2 files changed, 24 insertions, 1 deletions
diff --git a/Makefile.test b/Makefile.test
index 122e555..6753ee1 100644
--- a/Makefile.test
+++ b/Makefile.test
@@ -1,90 +1,93 @@
1#!/usr/bin/make -f 1#!/usr/bin/make -f
2export OPIEDIR:=$(shell pwd) 2export OPIEDIR:=$(shell pwd)
3export TOPDIR:=$(OPIEDIR) 3export TOPDIR:=$(OPIEDIR)
4 4
5export QMAKESPECSDIR=$(OPIEDIR)/mkspecs 5export QMAKESPECSDIR=$(OPIEDIR)/mkspecs
6export QMAKESPEC=$(QMAKESPECSDIR)/qws/linux-generic-g++ 6export QMAKESPEC=$(QMAKESPECSDIR)/qws/linux-generic-g++
7 7
8configs += $(TOPDIR)/core/applets/restartapplet2/config.in $(TOPDIR)/core/applets/config.in $(TOPDIR)/core/apps/config.in $(TOPDIR)/core/multimedia/config.in $(TOPDIR)/core/pim/config.in $(TOPDIR)/core/pim/today/plugins/config.in $(TOPDIR)/core/settings/config.in $(TOPDIR)/core/config.in $(TOPDIR)/development/config.in $(TOPDIR)/inputmethods/config.in $(TOPDIR)/libopie/ofileselector/config.in $(TOPDIR)/libopie/pim/config.in $(TOPDIR)/libsql/config.in $(TOPDIR)/noncore/applets/config.in $(TOPDIR)/noncore/apps/opie-console/test/config.in $(TOPDIR)/noncore/apps/config.in $(TOPDIR)/noncore/comm/config.in $(TOPDIR)/noncore/decorations/config.in $(TOPDIR)/noncore/games/config.in $(TOPDIR)/noncore/graphics/config.in $(TOPDIR)/noncore/multimedia/config.in $(TOPDIR)/noncore/net/config.in $(TOPDIR)/noncore/net/opietooth/config.in $(TOPDIR)/noncore/settings/config.in $(TOPDIR)/noncore/styles/config.in $(TOPDIR)/noncore/tools/calc2/config.in $(TOPDIR)/noncore/tools/config.in $(TOPDIR)/noncore/unsupported/opiemail/ifaces/config.in $(TOPDIR)/noncore/unsupported/config.in $(TOPDIR)/noncore/config.in $(TOPDIR)/noncore/todayplugins/config.in $(TOPDIR)/x11/ipc/server/config.in $(TOPDIR)/x11/ipc/config.in $(TOPDIR)/x11/config.in $(TOPDIR)/config.in 8configs += $(TOPDIR)/core/applets/restartapplet2/config.in $(TOPDIR)/core/applets/config.in $(TOPDIR)/core/apps/config.in $(TOPDIR)/core/multimedia/config.in $(TOPDIR)/core/pim/config.in $(TOPDIR)/core/pim/today/plugins/config.in $(TOPDIR)/core/settings/config.in $(TOPDIR)/core/config.in $(TOPDIR)/development/config.in $(TOPDIR)/inputmethods/config.in $(TOPDIR)/libopie/ofileselector/config.in $(TOPDIR)/libopie/pim/config.in $(TOPDIR)/libsql/config.in $(TOPDIR)/noncore/applets/config.in $(TOPDIR)/noncore/apps/opie-console/test/config.in $(TOPDIR)/noncore/apps/config.in $(TOPDIR)/noncore/comm/config.in $(TOPDIR)/noncore/decorations/config.in $(TOPDIR)/noncore/games/config.in $(TOPDIR)/noncore/graphics/config.in $(TOPDIR)/noncore/multimedia/config.in $(TOPDIR)/noncore/net/config.in $(TOPDIR)/noncore/net/opietooth/config.in $(TOPDIR)/noncore/settings/config.in $(TOPDIR)/noncore/styles/config.in $(TOPDIR)/noncore/tools/calc2/config.in $(TOPDIR)/noncore/tools/config.in $(TOPDIR)/noncore/unsupported/opiemail/ifaces/config.in $(TOPDIR)/noncore/unsupported/config.in $(TOPDIR)/noncore/config.in $(TOPDIR)/noncore/todayplugins/config.in $(TOPDIR)/x11/ipc/server/config.in $(TOPDIR)/x11/ipc/config.in $(TOPDIR)/x11/config.in $(TOPDIR)/config.in
9 9
10# $(TOPDIR)/.config depends on .depends.cfgs, as it depends on $(configs) 10# $(TOPDIR)/.config depends on .depends.cfgs, as it depends on $(configs)
11# in order to have a full set of config.in files. 11# in order to have a full set of config.in files.
12# .depends depends on $(TOPDIR)/.config 12# .depends depends on $(TOPDIR)/.config
13# everything else depends on .depends, to ensure the dependencies are 13# everything else depends on .depends, to ensure the dependencies are
14# intact. 14# intact.
15# 15#
16# NOTE: The order in which things happen in this makefile is 16# NOTE: The order in which things happen in this makefile is
17 # -critical-. Do not rearrange this! 17 # -critical-. Do not rearrange this!
18 18
19all : $(TOPDIR)/.config 19all : $(TOPDIR)/.config
20 20
21$(TOPDIR)/.config : $(TOPDIR)/.depends.cfgs 21$(TOPDIR)/.config : $(TOPDIR)/.depends.cfgs
22 22
23all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(TOPDIR)/.depends 23all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(TOPDIR)/.depends
24 24
25clean-configs : $(TOPDIR)/.depends.cfgs 25clean-configs : $(TOPDIR)/.depends.cfgs
26 @echo "Wiping generated config.in files..." 26 @echo "Wiping generated config.in files..."
27 @-rm -f $(configs) 27 @-rm -f $(configs)
28 28
29-include $(TOPDIR)/.depends.cfgs 29-include $(TOPDIR)/.depends.cfgs
30 30
31all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(configs) 31all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(configs)
32 32
33$(TOPDIR)/.config: $(TOPDIR)/.depends.cfgs $(configs) 33$(TOPDIR)/.config: $(TOPDIR)/.depends.cfgs $(configs)
34 $(call descend,scripts/kconfig,conf) 34 $(call descend,scripts/kconfig,conf)
35 @if [ ! -e $@ ]; then \ 35 @if [ ! -e $@ ]; then \
36 cp $(TOPDIR)/def-configs/opie $@; \ 36 cp $(TOPDIR)/def-configs/opie $@; \
37 fi; 37 fi;
38 @$(MAKE) -C scripts/kconfig conf; 38 @$(MAKE) -C scripts/kconfig conf;
39 ./scripts/kconfig/conf -s ./config.in 39 ./scripts/kconfig/conf -s ./config.in
40 40
41# config rules must have the $(configs) var defined 41# config rules must have the $(configs) var defined
42# at the time that they run. we must ensure that .depends.cfgs 42# at the time that they run. we must ensure that .depends.cfgs
43# is built and included by the time we reach this point. 43# is built and included by the time we reach this point.
44 44
45xconfig : 45xconfig :
46 $(call descend,scripts/kconfig,qconf) 46 $(call descend,scripts/kconfig,qconf)
47 ./scripts/kconfig/qconf ./config.in 47 ./scripts/kconfig/qconf ./config.in
48 48
49menuconfig : scripts/lxdialog/lxdialog 49menuconfig : scripts/lxdialog/lxdialog
50 $(call descend,scripts/kconfig,mconf) 50 $(call descend,scripts/kconfig,mconf)
51 ./scripts/kconfig/mconf ./config.in 51 ./scripts/kconfig/mconf ./config.in
52 52
53config : 53config :
54 $(call descend,scripts/kconfig,conf) 54 $(call descend,scripts/kconfig,conf)
55 ./scripts/kconfig/conf ./config.in 55 ./scripts/kconfig/conf ./config.in
56 56
57oldconfig : 57oldconfig :
58 $(call descend,scripts/kconfig,conf) 58 $(call descend,scripts/kconfig,conf)
59 ./scripts/kconfig/conf -o ./config.in 59 ./scripts/kconfig/conf -o ./config.in
60 60
61randconfig : 61randconfig :
62 $(call descend,scripts/kconfig,conf) 62 $(call descend,scripts/kconfig,conf)
63 ./scripts/kconfig/conf -r ./config.in 63 ./scripts/kconfig/conf -r ./config.in
64 64
65allyesconfig : 65allyesconfig :
66 $(call descend,scripts/kconfig,conf) 66 $(call descend,scripts/kconfig,conf)
67 ./scripts/kconfig/conf -y ./config.in 67 ./scripts/kconfig/conf -y ./config.in
68 68
69allnoconfig : 69allnoconfig :
70 $(call descend,scripts/kconfig,conf) 70 $(call descend,scripts/kconfig,conf)
71 ./scripts/kconfig/conf -n ./config.in 71 ./scripts/kconfig/conf -n ./config.in
72 72
73defconfig : 73defconfig :
74 $(call descend,scripts/kconfig,conf) 74 $(call descend,scripts/kconfig,conf)
75 ./scripts/kconfig/conf -d ./config.in 75 ./scripts/kconfig/conf -d ./config.in
76 76
77 77
78ifeq ($(if $(filter clean%,$(MAKECMDGOALS)),clean,notclean),notclean) 78ifeq ($(if $(filter clean%,$(MAKECMDGOALS)),clean,notclean),notclean)
79-include $(TOPDIR)/.config 79-include $(TOPDIR)/.config
80endif 80endif
81ifeq ($(shell if [ -e $(TOPDIR)/..config.cmd ]; then echo exists; fi),exists) 81ifeq ($(shell if [ -e $(TOPDIR)/..config.cmd ]; then echo exists; fi),exists)
82-include $(TOPDIR)/..config.cmd 82-include $(TOPDIR)/..config.cmd
83endif 83endif
84ifeq ($(if $(filter clean%,$(MAKECMDGOALS)),clean,notclean),notclean) 84ifeq ($(if $(filter clean%,$(MAKECMDGOALS)),clean,notclean),notclean)
85-include $(TOPDIR)/.depends 85-include $(TOPDIR)/.depends
86endif 86endif
87 87
88all : $(subdir-y) 88all : $(subdir-y)
89 89
90$(subdir-y) : $(TOPDIR)/stamp-headers
91
92
90include $(TOPDIR)/Rules.make 93include $(TOPDIR)/Rules.make
diff --git a/Rules.make b/Rules.make
index 1342b49..c079acf 100644
--- a/Rules.make
+++ b/Rules.make
@@ -1,42 +1,62 @@
1## targets ## 1## targets ##
2 2
3$(configs) : 3$(configs) :
4 $(call makecfg,$@) 4 $(call makecfg,$@)
5 5
6$(TOPDIR)/.depends : $(shell if [ -e $(TOPDIR)/config.in ]\; then echo $(TOPDIR)/config.in\; fi\;) $(TOPDIR)/.config $(TOPDIR)/packages 6$(TOPDIR)/.depends : $(shell if [ -e $(TOPDIR)/config.in ]\; then echo $(TOPDIR)/config.in\; fi\;) $(TOPDIR)/.config $(TOPDIR)/packages
7 @echo Generating dependency information... 7 @echo Generating dependency information...
8# add to subdir-y, and add descend rules 8# add to subdir-y, and add descend rules
9 @cat $(TOPDIR)/packages | \ 9 @cat $(TOPDIR)/packages | \
10 awk '/^#/ { next }; {print \ 10 awk '/^#/ { next }; {print \
11 ".PHONY : " $$2 "\n" \ 11 ".PHONY : " $$2 "\n" \
12 "subdir-$$(" $$1 ") += " $$2 "\n\n" \ 12 "subdir-$$(" $$1 ") += " $$2 "\n\n" \
13 $$2 "/Makefile : " $$2 "/" $$3 " $$(TOPDIR)/qmake/qmake\n\t" \ 13 $$2 "/Makefile : " $$2 "/" $$3 " $$(TOPDIR)/qmake/qmake\n\t" \
14 "$$(call makefilegen,$$@)\n\n" \ 14 "$$(call makefilegen,$$@)\n\n" \
15 $$2 " : " $$2 "/Makefile\n\t$$(call descend,$$@)\n"}'\ 15 $$2 " : " $$2 "/Makefile\n\t$$(call descend,$$@)\n"}'\
16 > $(TOPDIR)/.depends 16 > $(TOPDIR)/.depends
17# interpackage dependency generation 17# interpackage dependency generation
18 @cat $(TOPDIR)/packages | \ 18 @cat $(TOPDIR)/packages | \
19 $(TOPDIR)/scripts/deps.pl >> $(TOPDIR)/.depends 19 $(TOPDIR)/scripts/deps.pl >> $(TOPDIR)/.depends
20 20
21$(TOPDIR)/.depends.cfgs: 21$(TOPDIR)/.depends.cfgs:
22# config.in interdependencies 22# config.in interdependencies
23 @echo $(configs) | sed -e 's,/config.in,,g' | ( for i in `cat`; do echo $$i; done ) > dirs 23 @echo $(configs) | sed -e 's,/config.in,,g' | ( for i in `cat`; do echo $$i; done ) > dirs
24 @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 @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 ) >> $@
25 @-rm -f dirs 25 @-rm -f dirs
26 26
27$(TOPDIR)/stamp-headers :
28 mkdir -p $(TOPDIR)/include/qpe $(TOPDIR)/include/qtopia \
29 $(TOPDIR)/include/opie $(TOPDIR)/include/qtopia/private
30 ( cd include/qpe && rm -f *.h; ln -s ../../library/*.h .; ln -s ../../library/backend/*.h .; rm -f *_p.h; )
31 ( cd include/qtopia && rm -f *.h; ln -s ../../library/*.h .; )
32 ( cd include/qtopia/private && rm -f *.h; ln -s ../../../library/backend/*.h .; )
33 ( cd include/opie && rm -f *.h; ln -s ../../libopie/*.h .; rm -f *_p.h; )
34 ( cd include/opie && ln -s ../../libsql/*.h .; )
35 ( cd include/opie && ln -s ../../libopie/pim/*.h .; )
36 ( cd include/opie; for generatedHeader in `cd ../../libopie; ls *.ui | sed -e "s,\.ui,\.h,g"`; do \
37 ln -s ../../libopie/$$generatedHeader $$generatedHeader; done )
38 touch $@
39
40
41
27$(TOPDIR)/scripts/lxdialog/lxdialog $(TOPDIR)/scripts/kconfig/conf scripts/kconfig/conf $(TOPDIR)/scripts/kconfig/mconf scripts/kconfig/mconf $(TOPDIR)/scripts/kconfig/qconf scripts/kconfig/qconf $(TOPDIR)/qmake/qmake : 42$(TOPDIR)/scripts/lxdialog/lxdialog $(TOPDIR)/scripts/kconfig/conf scripts/kconfig/conf $(TOPDIR)/scripts/kconfig/mconf scripts/kconfig/mconf $(TOPDIR)/scripts/kconfig/qconf scripts/kconfig/qconf $(TOPDIR)/qmake/qmake :
28 $(call descend,$(shell dirname $@),$(shell basename $@)) 43 $(call descend,$(shell dirname $@),$(shell basename $@))
29 44
45$(TOPDIR)/qmake/qmake : $(TOPDIR)/mkspecs/default
46
47$(TOPDIR)/mkspecs/default :
48 ln -sf linux-g++ $@
49
30## general rules ## 50## general rules ##
31 51
32define descend 52define descend
33 $(MAKE) -C $(1) $(2) 53 $(MAKE) -C $(1) $(2)
34endef 54endef
35 55
36define makefilegen 56define makefilegen
37 cd $(shell dirname $(1)); $(TOPDIR)/qmake/qmake $(3) -o $(shell basename $(1)) `echo $(1)|sed -e 's,/Makefile$$,,g' -e 's,.*/,,g'`.pro 57 cd $(shell dirname $(1)); $(TOPDIR)/qmake/qmake $(3) -o $(shell basename $(1)) `echo $(1)|sed -e 's,/Makefile$$,,g' -e 's,.*/,,g'`.pro
38endef 58endef
39 59
40define makecfg 60define makecfg
41 $(TOPDIR)/scripts/makecfg.pl $1 61 $(TOPDIR)/scripts/makecfg.pl $1
42endef 62endef