summaryrefslogtreecommitdiff
authorkergoth <kergoth>2002-11-06 00:23:35 (UTC)
committer kergoth <kergoth>2002-11-06 00:23:35 (UTC)
commit2129e9cd500a7755062c93f3b9ea325b9368ea37 (patch) (unidiff)
treea35fac4ec75b5533142b4aac6a3a708d55e060e9
parentb461afb1563d0af5cdd1705b61f9c920ad124907 (diff)
downloadopie-2129e9cd500a7755062c93f3b9ea325b9368ea37.zip
opie-2129e9cd500a7755062c93f3b9ea325b9368ea37.tar.gz
opie-2129e9cd500a7755062c93f3b9ea325b9368ea37.tar.bz2
custom.h rule
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile.test14
-rw-r--r--Rules.make9
-rw-r--r--config.in.in5
3 files changed, 17 insertions, 11 deletions
diff --git a/Makefile.test b/Makefile.test
index a98eb0d..9af15dc 100644
--- a/Makefile.test
+++ b/Makefile.test
@@ -1,94 +1,90 @@
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
6 6
7configs += $(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 7configs += $(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
8 8
9# $(TOPDIR)/.config depends on .depends.cfgs, as it depends on $(configs) 9# $(TOPDIR)/.config depends on .depends.cfgs, as it depends on $(configs)
10# in order to have a full set of config.in files. 10# in order to have a full set of config.in files.
11# .depends depends on $(TOPDIR)/.config 11# .depends depends on $(TOPDIR)/.config
12# everything else depends on .depends, to ensure the dependencies are 12# everything else depends on .depends, to ensure the dependencies are
13# intact. 13# intact.
14# 14#
15# NOTE: The order in which things happen in this makefile is 15# NOTE: The order in which things happen in this makefile is
16 # -critical-. Do not rearrange this! 16 # -critical-. Do not rearrange this!
17 17
18all : $(TOPDIR)/.config 18all : $(TOPDIR)/.config
19 19
20$(TOPDIR)/.config : $(TOPDIR)/.depends.cfgs 20$(TOPDIR)/.config : $(TOPDIR)/.depends.cfgs
21 21
22all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(TOPDIR)/.depends 22all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(TOPDIR)/.depends
23 23
24clean-configs : $(TOPDIR)/.depends.cfgs 24clean-configs : $(TOPDIR)/.depends.cfgs
25 @echo "Wiping generated config.in files..." 25 @echo "Wiping generated config.in files..."
26 @-rm -f $(configs) 26 @-rm -f $(configs)
27 27
28-include $(TOPDIR)/.depends.cfgs 28-include $(TOPDIR)/.depends.cfgs
29 29
30all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(configs) 30all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(configs)
31 31
32$(TOPDIR)/.config: $(TOPDIR)/.depends.cfgs $(configs) 32$(TOPDIR)/.config: $(TOPDIR)/.depends.cfgs $(configs)
33 $(call descend,scripts/kconfig,conf) 33 $(call descend,scripts/kconfig,conf)
34 @if [ ! -e $@ ]; then \ 34 @if [ ! -e $@ ]; then \
35 cp $(TOPDIR)/def-configs/opie $@; \ 35 cp $(TOPDIR)/def-configs/opie $@; \
36 fi; 36 fi;
37 @$(MAKE) -C scripts/kconfig conf; 37 @$(MAKE) -C scripts/kconfig conf;
38 ./scripts/kconfig/conf -s ./config.in 38 ./scripts/kconfig/conf -s ./config.in
39 39
40# config rules must have the $(configs) var defined 40# config rules must have the $(configs) var defined
41# at the time that they run. we must ensure that .depends.cfgs 41# at the time that they run. we must ensure that .depends.cfgs
42# is built and included by the time we reach this point. 42# is built and included by the time we reach this point.
43 43
44xconfig : 44xconfig :
45 $(call descend,scripts/kconfig,qconf) 45 $(call descend,scripts/kconfig,qconf)
46 LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(TOPDIR)/scripts/kconfig \ 46 LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(TOPDIR)/scripts/kconfig \
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)
79-include $(TOPDIR)/.config 78-include $(TOPDIR)/.config
80endif
81ifeq ($(shell if [ -e $(TOPDIR)/..config.cmd ]; then echo exists; fi),exists)
82-include $(TOPDIR)/..config.cmd 79-include $(TOPDIR)/..config.cmd
83endif
84ifeq ($(if $(filter clean%,$(MAKECMDGOALS)),clean,notclean),notclean)
85-include $(TOPDIR)/.depends 80-include $(TOPDIR)/.depends
86endif
87 81
88export QMAKESPEC=$(QMAKESPECSDIR)/qws/$(patsubst "%",%,$(CONFIG_SPECFILE)) 82export QMAKESPEC=$(QMAKESPECSDIR)/qws/$(patsubst "%",%,$(CONFIG_SPECFILE))
89 83
90all : $(subdir-y) 84all clean: $(subdir-y)
85
86$(subdir-y) : $(TOPDIR)/stamp-headers $(TOPDIR)/library/custom.h
91 87
92$(subdir-y) : $(TOPDIR)/stamp-headers 88clean : $(TOPDIR)/.config
93 89
94include $(TOPDIR)/Rules.make 90include $(TOPDIR)/Rules.make
diff --git a/Rules.make b/Rules.make
index ead629f..c3a9041 100644
--- a/Rules.make
+++ b/Rules.make
@@ -1,62 +1,67 @@
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 | grep -v '^#' | \ 9 cat $(TOPDIR)/packages | grep -v '^#' | \
10 awk '{print \ 10 awk '{print \
11 ".PHONY : " $$2 "\n" \ 11 ".PHONY : " $$2 "\n" \
12 "subdir-$$(" $$1 ") += " $$2 "\n\n"; \ 12 "subdir-$$(" $$1 ") += " $$2 "\n\n"; \
13 print $$2 " : " $$2 "/Makefile\n\t$$(call descend,$$@)\n"; }' > $(TOPDIR)/.depends 13 print $$2 " : " $$2 "/Makefile\n\t$$(call descend,$$@,$(filter-out $$@,$$(MAKECMDGOALS)))\n"; }' > $(TOPDIR)/.depends
14 cat $(TOPDIR)/packages | grep -v '^#' | \ 14 cat $(TOPDIR)/packages | grep -v '^#' | \
15 perl -ne '($$cfg, $$dir, $$pro) = $$_ =~ /^(\S+)\s+(\S+)\s+(\S+)/; if ( -e "$$dir/$$pro" ) { print "$$dir/Makefile : $$dir/$$pro \$$(TOPDIR)/qmake/qmake\n\t\$$(call makefilegen,\$$@)\n\n"; }' \ 15 perl -ne '($$cfg, $$dir, $$pro) = $$_ =~ /^(\S+)\s+(\S+)\s+(\S+)/; if ( -e "$$dir/$$pro" ) { print "$$dir/Makefile : $$dir/$$pro \$$(TOPDIR)/qmake/qmake\n\t\$$(call makefilegen,\$$@)\n\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 : 27$(TOPDIR)/stamp-headers :
28 mkdir -p $(TOPDIR)/include/qpe $(TOPDIR)/include/qtopia \ 28 mkdir -p $(TOPDIR)/include/qpe $(TOPDIR)/include/qtopia \
29 $(TOPDIR)/include/opie $(TOPDIR)/include/qtopia/private 29 $(TOPDIR)/include/opie $(TOPDIR)/include/qtopia/private
30 ( cd include/qpe && rm -f *.h; ln -sf ../../library/*.h .; ln -sf ../../library/backend/*.h .; rm -f *_p.h; ) 30 ( cd include/qpe && rm -f *.h; ln -sf ../../library/*.h .; ln -sf ../../library/backend/*.h .; rm -f *_p.h; )
31 ( cd include/qtopia && rm -f *.h; ln -sf ../../library/*.h .; ) 31 ( cd include/qtopia && rm -f *.h; ln -sf ../../library/*.h .; )
32 ( cd include/qtopia/private && rm -f *.h; ln -sf ../../../library/backend/*.h .; ) 32 ( cd include/qtopia/private && rm -f *.h; ln -sf ../../../library/backend/*.h .; )
33 ( cd include/opie && rm -f *.h; ln -sf ../../libopie/*.h .; rm -f *_p.h; ) 33 ( cd include/opie && rm -f *.h; ln -sf ../../libopie/*.h .; rm -f *_p.h; )
34 ( cd include/opie && ln -sf ../../libsql/*.h .; ) 34 ( cd include/opie && ln -sf ../../libsql/*.h .; )
35 ( cd include/opie && ln -sf ../../libopie/pim/*.h .; ) 35 ( cd include/opie && ln -sf ../../libopie/pim/*.h .; )
36 ( cd include/opie; for generatedHeader in `cd ../../libopie; ls *.ui | sed -e "s,\.ui,\.h,g"`; do \ 36 ( cd include/opie; for generatedHeader in `cd ../../libopie; ls *.ui | sed -e "s,\.ui,\.h,g"`; do \
37 ln -sf ../../libopie/$$generatedHeader $$generatedHeader; done ) 37 ln -sf ../../libopie/$$generatedHeader $$generatedHeader; done )
38 touch $@ 38 touch $@
39 39
40 40$(TOPDIR)/library/custom.h : $(TOPDIR)/.config
41 @-rm -f $@
42 $(if $(patsubst "%",%,$(CONFIG_CUSTOMFILE)),\
43 ln -sf $(patsubst "%",%,$(CONFIG_CUSTOMFILE)) $@,\
44 touch $@\
45 )
41 46
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 : 47$(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 :
43 $(call descend,$(shell dirname $@),$(shell basename $@)) 48 $(call descend,$(shell dirname $@),$(shell basename $@))
44 49
45$(TOPDIR)/qmake/qmake : $(TOPDIR)/mkspecs/default 50$(TOPDIR)/qmake/qmake : $(TOPDIR)/mkspecs/default
46 51
47$(TOPDIR)/mkspecs/default : 52$(TOPDIR)/mkspecs/default :
48 ln -sf linux-g++ $@ 53 ln -sf linux-g++ $@
49 54
50## general rules ## 55## general rules ##
51 56
52define descend 57define descend
53 $(MAKE) -C $(1) $(2) 58 $(MAKE) -C $(1) $(2)
54endef 59endef
55 60
56define makefilegen 61define makefilegen
57 cd $(shell dirname $(1)); $(TOPDIR)/qmake/qmake $(3) -o $(shell basename $(1)) `echo $(1)|sed -e 's,/Makefile$$,,g' -e 's,.*/,,g'`.pro 62 cd $(shell dirname $(1)); $(TOPDIR)/qmake/qmake $(3) -o $(shell basename $(1)) `echo $(1)|sed -e 's,/Makefile$$,,g' -e 's,.*/,,g'`.pro
58endef 63endef
59 64
60define makecfg 65define makecfg
61 $(TOPDIR)/scripts/makecfg.pl $1 66 $(TOPDIR)/scripts/makecfg.pl $1
62endef 67endef
diff --git a/config.in.in b/config.in.in
index 2de0cbc..41998d4 100644
--- a/config.in.in
+++ b/config.in.in
@@ -1,54 +1,59 @@
1mainmenu "Opie Configuration" 1mainmenu "Opie Configuration"
2menu "Build Parameters" 2menu "Build Parameters"
3 3
4#choice 4#choice
5# prompt "Build Processor family" 5# prompt "Build Processor family"
6# default BUILD_X86 6# default BUILD_X86
7# help 7# help
8# Please select the architecture of the machine you will be 8# Please select the architecture of the machine you will be
9# building the OpenZaurus buildroot on. 9# building the OpenZaurus buildroot on.
10# 10#
11# config BUILD_X86 11# config BUILD_X86
12# boolean "X86 Architecture" 12# boolean "X86 Architecture"
13# 13#
14#endchoice 14#endchoice
15 15
16choice 16choice
17 prompt "Target Machine" 17 prompt "Target Machine"
18 default TARGET_X86 18 default TARGET_X86
19 help 19 help
20 Please select the architecture of the machine you will be 20 Please select the architecture of the machine you will be
21 building the OpenZaurus buildroot for. 21 building the OpenZaurus buildroot for.
22 22
23 config TARGET_X86 23 config TARGET_X86
24 boolean "Intel X86" 24 boolean "Intel X86"
25 25
26 config TARGET_SHARP 26 config TARGET_SHARP
27 boolean "Sharp Zaurus SL-5x00 - stock" 27 boolean "Sharp Zaurus SL-5x00 - stock"
28 28
29# config TARGET_OZ 29# config TARGET_OZ
30# boolean "Sharp Zaurus SL-5x00 - OpenZaurus" 30# boolean "Sharp Zaurus SL-5x00 - OpenZaurus"
31 31
32 config TARGET_IPAQ 32 config TARGET_IPAQ
33 boolean "Ipaq" 33 boolean "Ipaq"
34 34
35endchoice 35endchoice
36 36
37config SPECFILE 37config SPECFILE
38 string 38 string
39 default "linux-generic-g++" if TARGET_X86 39 default "linux-generic-g++" if TARGET_X86
40 default "linux-sharp-g++" if TARGET_SHARP 40 default "linux-sharp-g++" if TARGET_SHARP
41# default "linux-oz-g++" if TARGET_OZ 41# default "linux-oz-g++" if TARGET_OZ
42 default "linux-ipaq-g++" if TARGET_IPAQ 42 default "linux-ipaq-g++" if TARGET_IPAQ
43 43
44config CUSTOMFILE
45 string
46 default "custom-ipaq.h" if TARGET_IPAQ
47 default "custom-sharp.h" if TARGET_SHARP
48
44#config CROSS 49#config CROSS
45# string "Crosscompilation prefix" 50# string "Crosscompilation prefix"
46# default "arm-linux-" 51# default "arm-linux-"
47# help 52# help
48# Crosscompilation prefix is the prefix which will be prepended 53# Crosscompilation prefix is the prefix which will be prepended
49# to all compilation commands. For example, a crosscompilation prefix 54# to all compilation commands. For example, a crosscompilation prefix
50# of arm-linux-, results in the build calling arm-linux-gcc as its CC. 55# of arm-linux-, results in the build calling arm-linux-gcc as its CC.
51 56
52endmenu 57endmenu
53 58
54@sources@ 59@sources@