author | mickeyl <mickeyl> | 2004-11-15 14:29:41 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2004-11-15 14:29:41 (UTC) |
commit | 5e6ce0ba567dd9c8ae33353fcf1d0554b34241e8 (patch) (unidiff) | |
tree | e3903fd3f146c16d3521db20a6f3ca2db8b95121 /Makefile | |
parent | c9543dc4edd3ea586c04e8114e133296ad9529d9 (diff) | |
download | opie-5e6ce0ba567dd9c8ae33353fcf1d0554b34241e8.zip opie-5e6ce0ba567dd9c8ae33353fcf1d0554b34241e8.tar.gz opie-5e6ce0ba567dd9c8ae33353fcf1d0554b34241e8.tar.bz2 |
this improves Opie build system playing more nice with OE. instructions later...
alert me if this breaks the non-oe work (which i doubt)
-rw-r--r-- | Makefile | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -1,132 +1,136 @@ | |||
1 | #!/usr/bin/make -f | 1 | #!/usr/bin/make -f |
2 | 2 | ||
3 | export TOPDIR:=$(OPIEDIR) | 3 | export TOPDIR:=$(OPIEDIR) |
4 | 4 | ||
5 | include $(TOPDIR)/Vars.make | 5 | include $(TOPDIR)/Vars.make |
6 | ifneq ($(wildcard $(TOPDIR)/Vars.local),) | 6 | ifneq ($(wildcard $(TOPDIR)/Vars.local),) |
7 | include $(TOPDIR)/Vars.local | 7 | include $(TOPDIR)/Vars.local |
8 | endif | 8 | endif |
9 | 9 | ||
10 | noconfig_targets := xconfig menuconfig config oldconfig randconfig \ | 10 | noconfig_targets := xconfig menuconfig config oldconfig randconfig \ |
11 | defconfig allyesconfig allnoconfig allmodconfig \ | 11 | defconfig allyesconfig allnoconfig allmodconfig \ |
12 | clean-configs $(TOPDIR)/scripts/subst $(TOPDIR)/scripts/filesubst \ | 12 | clean-configs $(TOPDIR)/scripts/subst $(TOPDIR)/scripts/filesubst \ |
13 | ipks | 13 | ipks |
14 | 14 | ||
15 | configs += $(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)/development/config.in $(TOPDIR)/inputmethods/config.in $(TOPDIR)/libopie/pim/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/config.in $(TOPDIR)/noncore/todayplugins/config.in $(TOPDIR)/examples/config.in $(TOPDIR)/noncore/securityplugins/config.in | 15 | configs += $(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)/development/config.in $(TOPDIR)/inputmethods/config.in $(TOPDIR)/libopie/pim/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/config.in $(TOPDIR)/noncore/todayplugins/config.in $(TOPDIR)/examples/config.in $(TOPDIR)/noncore/securityplugins/config.in |
16 | 16 | ||
17 | # $(TOPDIR)/.config depends on .depends.cfgs, as it depends on $(configs) | 17 | # $(TOPDIR)/.config depends on .depends.cfgs, as it depends on $(configs) |
18 | # in order to have a full set of config.in files. | 18 | # in order to have a full set of config.in files. |
19 | # .depends depends on $(TOPDIR)/.config | 19 | # .depends depends on $(TOPDIR)/.config |
20 | # everything else depends on .depends, to ensure the dependencies are | 20 | # everything else depends on .depends, to ensure the dependencies are |
21 | # intact. | 21 | # intact. |
22 | # | 22 | # |
23 | # NOTE: The order in which things happen in this makefile is | 23 | # NOTE: The order in which things happen in this makefile is |
24 | # -critical-. Do not rearrange this! | 24 | # -critical-. Do not rearrange this! |
25 | 25 | ||
26 | all : $(TOPDIR)/.config | 26 | all : $(TOPDIR)/.config |
27 | 27 | ||
28 | # | 28 | # |
29 | # The IPK creation is a very slow process. If you want to only create some | 29 | # The IPK creation is a very slow process. If you want to only create some |
30 | # IPKs, e.g. the ones in library, then do | 30 | # IPKs, e.g. the ones in library, then do |
31 | #make ipks IPK_START=library | 31 | #make ipks IPK_START=library |
32 | # and then only the *.control files in this directory will be processed | 32 | # and then only the *.control files in this directory will be processed |
33 | ipks: $(OPIEDIR)/scripts/subst $(OPIEDIR)/scripts/filesubst FORCE $(TOPDIR)/.config | 33 | ipks: $(OPIEDIR)/scripts/subst $(OPIEDIR)/scripts/filesubst FORCE $(TOPDIR)/.config |
34 | @find $(OPIEDIR)/$(IPK_START) -type f -name \*.control | ( for ctrl in `cat`; do \ | 34 | @find $(OPIEDIR)/$(IPK_START) -type f -name \*.control | ( for ctrl in `cat`; do \ |
35 | prerm=`echo $${ctrl/.control/.prerm}`; \ | 35 | prerm=`echo $${ctrl/.control/.prerm}`; \ |
36 | preinst=`echo $${ctrl/.control/.preinst}`; \ | 36 | preinst=`echo $${ctrl/.control/.preinst}`; \ |
37 | postrm=`echo $${ctrl/.control/.postrm}`; \ | 37 | postrm=`echo $${ctrl/.control/.postrm}`; \ |
38 | postinst=`echo $${ctrl/.control/.postinst}`; \ | 38 | postinst=`echo $${ctrl/.control/.postinst}`; \ |
39 | echo "Building ipk of $$ctrl"; \ | 39 | echo "Building ipk of $$ctrl"; \ |
40 | cd $(OPIEDIR); $(OPIEDIR)/scripts/mkipkg --subst=$(OPIEDIR)/scripts/subst --filesubst=$(OPIEDIR)/scripts/filesubst --control=$$ctrl --prerm=$$prerm --preinst=$$preinst --postrm=$$postrm --postinst=$$postinst --strip=$(STRIP) $(OPIEDIR); \ | 40 | cd $(OPIEDIR); $(OPIEDIR)/scripts/mkipkg --subst=$(OPIEDIR)/scripts/subst --filesubst=$(OPIEDIR)/scripts/filesubst --control=$$ctrl --prerm=$$prerm --preinst=$$preinst --postrm=$$postrm --postinst=$$postinst --strip=$(STRIP) $(OPIEDIR); \ |
41 | done ) | 41 | done ) |
42 | 42 | ||
43 | ipks-mt: $(OPIEDIR)/scripts/subst $(OPIEDIR)/scripts/filesubst FORCE $(TOPDIR)/.config | 43 | ipks-mt: $(OPIEDIR)/scripts/subst $(OPIEDIR)/scripts/filesubst FORCE $(TOPDIR)/.config |
44 | @> $(OPIEDIR)/AllThreadedPackages | 44 | @> $(OPIEDIR)/AllThreadedPackages |
45 | @find $(OPIEDIR)/ -type f -name \*.control | grep -v -- "-mt" | while read ctrl ; do \ | 45 | @find $(OPIEDIR)/ -type f -name \*.control | grep -v -- "-mt" | while read ctrl ; do \ |
46 | grep "Package[ ]*:" $${ctrl} | sed "s+Package[ ]*:[ ]*++"; \ | 46 | grep "Package[ ]*:" $${ctrl} | sed "s+Package[ ]*:[ ]*++"; \ |
47 | done | sort | uniq >> $(OPIEDIR)/AllThreadedPackages | 47 | done | sort | uniq >> $(OPIEDIR)/AllThreadedPackages |
48 | @find $(OPIEDIR)/ -type f -name \*.control | while read ctrl ; do \ | 48 | @find $(OPIEDIR)/ -type f -name \*.control | while read ctrl ; do \ |
49 | echo "Converting $$ctrl to -mt package"; \ | 49 | echo "Converting $$ctrl to -mt package"; \ |
50 | nctrl=`$(OPIEDIR)/scripts/tothreaded $$ctrl $(OPIEDIR)/AllThreadedPackages`; \ | 50 | nctrl=`$(OPIEDIR)/scripts/tothreaded $$ctrl $(OPIEDIR)/AllThreadedPackages`; \ |
51 | echo "Building ipk of $$ctrl"; \ | 51 | echo "Building ipk of $$ctrl"; \ |
52 | [ -n $$nctrl ] && cd $(OPIEDIR) && $(OPIEDIR)/scripts/mkipkg --subst=$(OPIEDIR)/scripts/subst --filesubst=$(OPIEDIR)/scripts/filesubst --control=$$nctrl --prerm=$${nctrl/\.control$$/.prerm/} --preinst=$${nctrl/\.control$$/.preinst/} --postrm=$${nctrl/\.control$$/.postrm/} --postinst=$${nctrl/\.control$$/.postinst/} --strip=$(STRIP) $(OPIEDIR); \ | 52 | [ -n $$nctrl ] && cd $(OPIEDIR) && $(OPIEDIR)/scripts/mkipkg --subst=$(OPIEDIR)/scripts/subst --filesubst=$(OPIEDIR)/scripts/filesubst --control=$$nctrl --prerm=$${nctrl/\.control$$/.prerm/} --preinst=$${nctrl/\.control$$/.preinst/} --postrm=$${nctrl/\.control$$/.postrm/} --postinst=$${nctrl/\.control$$/.postinst/} --strip=$(STRIP) $(OPIEDIR); \ |
53 | done | 53 | done |
54 | @rm -f $(OPIEDIR)/AllThreadedPackages | 54 | @rm -f $(OPIEDIR)/AllThreadedPackages |
55 | 55 | ||
56 | FORCE: | 56 | FORCE: |
57 | 57 | ||
58 | $(TOPDIR)/.config : $(TOPDIR)/.depends.cfgs | 58 | $(TOPDIR)/.config : $(TOPDIR)/.depends.cfgs |
59 | 59 | ||
60 | all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(TOPDIR)/.depends.cfgs | 60 | all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(TOPDIR)/.depends.cfgs |
61 | 61 | ||
62 | clean-configs : | 62 | clean-configs : |
63 | @echo "Wiping generated config.in files..." | 63 | @echo "Wiping generated config.in files..." |
64 | @-rm -f $(configs) | 64 | @-rm -f $(configs) |
65 | 65 | ||
66 | ifneq ($(wildcard $(TOPDIR)/.depends.cfgs),) | 66 | ifneq ($(wildcard $(TOPDIR)/.depends.cfgs),) |
67 | include $(TOPDIR)/.depends.cfgs | 67 | include $(TOPDIR)/.depends.cfgs |
68 | endif | 68 | endif |
69 | 69 | ||
70 | all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(configs) | 70 | all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(configs) |
71 | 71 | ||
72 | $(TOPDIR)/.config: $(TOPDIR)/.depends.cfgs $(configs) | 72 | $(TOPDIR)/.config: $(TOPDIR)/.depends.cfgs $(configs) |
73 | $(call descend,scripts/kconfig,conf) | 73 | $(call descend,scripts/kconfig,conf) |
74 | @if [ ! -e $@ ]; then \ | 74 | @if [ ! -e $@ ]; then \ |
75 | cp $(TOPDIR)/def-configs/opie $@; \ | 75 | cp $(TOPDIR)/def-configs/opie $@; \ |
76 | fi | 76 | fi |
77 | @$(MAKE) -C scripts/kconfig conf | 77 | @$(MAKE) -C scripts/kconfig conf |
78 | ./scripts/kconfig/conf -s ./config.in | 78 | ./scripts/kconfig/conf -s ./config.in |
79 | 79 | ||
80 | export | 80 | export |
81 | 81 | ||
82 | ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) | 82 | ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) |
83 | 83 | ||
84 | export include-config := 1 | 84 | export include-config := 1 |
85 | 85 | ||
86 | -include $(TOPDIR)/.config | 86 | -include $(TOPDIR)/.config |
87 | -include $(TOPDIR)/.depends | 87 | -include $(TOPDIR)/.depends |
88 | endif | 88 | endif |
89 | 89 | ||
90 | -include $(TOPDIR)/.config.cmd | 90 | -include $(TOPDIR)/.config.cmd |
91 | 91 | ||
92 | SUBDIRS = $(subdir-y) | 92 | SUBDIRS = $(subdir-y) |
93 | 93 | ||
94 | all clean install ipk: $(SUBDIRS) | 94 | all clean install ipk: $(SUBDIRS) |
95 | 95 | ||
96 | lupdate lrelease: | 96 | lupdate lrelease: |
97 | @for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done | 97 | @for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done |
98 | 98 | ||
99 | opie-lupdate opie-lrelease messages: | 99 | opie-lupdate opie-lrelease messages: |
100 | @for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done; | 100 | @for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done; |
101 | 101 | ||
102 | # from kde | 102 | # from kde |
103 | qtmessages: | 103 | qtmessages: |
104 | cd $(QTDIR)/src ; \ | 104 | cd $(QTDIR)/src ; \ |
105 | sed -e "s,#define,," xml/qxml.cpp > qxml_clean.cpp ;\ | 105 | sed -e "s,#define,," xml/qxml.cpp > qxml_clean.cpp ;\ |
106 | find . -name "*.cpp" | grep -v moc_ > list ;\ | 106 | find . -name "*.cpp" | grep -v moc_ > list ;\ |
107 | for file in qfiledialog qcolordialog qprintdialog \ | 107 | for file in qfiledialog qcolordialog qprintdialog \ |
108 | qurloperator qftp qhttp qlocal qerrormessage; do \ | 108 | qurloperator qftp qhttp qlocal qerrormessage; do \ |
109 | grep -v $$file list > list.new && mv list.new list ;\ | 109 | grep -v $$file list > list.new && mv list.new list ;\ |
110 | done ;\ | 110 | done ;\ |
111 | xgettext -C -ktr -kQT_TRANSLATE_NOOP -n `cat list` -o $(OPIEDIR)/qt-messages.pot | 111 | xgettext -C -ktr -kQT_TRANSLATE_NOOP -n `cat list` -o $(OPIEDIR)/qt-messages.pot |
112 | 112 | ||
113 | ifndef CONFIG_TARGET_OE | ||
113 | $(subdir-y) : $(if $(CONFIG_LIBQPE),$(QTDIR)/stamp-headers $(OPIEDIR)/stamp-headers) \ | 114 | $(subdir-y) : $(if $(CONFIG_LIBQPE),$(QTDIR)/stamp-headers $(OPIEDIR)/stamp-headers) \ |
114 | $(if $(CONFIG_LIBQPE-X11),$(QTDIR)/stamp-headers-x11 $(OPIEDIR)/stamp-headers-x11 ) \ | 115 | $(if $(CONFIG_LIBQPE-X11),$(QTDIR)/stamp-headers-x11 $(OPIEDIR)/stamp-headers-x11 ) \ |
115 | $(TOPDIR)/library/custom.h | 116 | $(TOPDIR)/library/custom.h |
117 | else | ||
118 | $(subdir-y) : $(if $(CONFIG_LIBQPE),$(OPIEDIR)/stamp-headers) $(TOPDIR)/library/custom.h | ||
119 | endif | ||
116 | 120 | ||
117 | clean : $(TOPDIR)/.config | 121 | clean : $(TOPDIR)/.config |
118 | make -C bin clean | 122 | make -C bin clean |
119 | make -C lib clean | 123 | make -C lib clean |
120 | make -C plugins clean | 124 | make -C plugins clean |
121 | 125 | ||
122 | apidox : | 126 | apidox : |
123 | doc/generate_apidox | 127 | doc/generate_apidox |
124 | 128 | ||
125 | mrproper : clean-configs | 129 | mrproper : clean-configs |
126 | find . -name ".moc"|xargs rm -rf | 130 | find . -name ".moc"|xargs rm -rf |
127 | find . -name ".obj"|xargs rm -rf | 131 | find . -name ".obj"|xargs rm -rf |
128 | find lib -name "lib*.*"|xargs rm -f | 132 | find lib -name "lib*.*"|xargs rm -f |
129 | find plugins -name "lib*.*"|xargs rm -f | 133 | find plugins -name "lib*.*"|xargs rm -f |
130 | find . -name "*.pro"|xargs touch | 134 | find . -name "*.pro"|xargs touch |
131 | 135 | ||
132 | include $(TOPDIR)/Rules.make | 136 | include $(TOPDIR)/Rules.make |