author | kergoth <kergoth> | 2003-01-16 18:06:02 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2003-01-16 18:06:02 (UTC) |
commit | c984baa73724d079076b28788c174ce9fa83fdb5 (patch) (unidiff) | |
tree | af0d37330ebc9f00804d4a47d5d059832d31b44b /Makefile | |
parent | 3904d85eac20dfd21cf2a3245977f9946865fd92 (diff) | |
download | opie-c984baa73724d079076b28788c174ce9fa83fdb5.zip opie-c984baa73724d079076b28788c174ce9fa83fdb5.tar.gz opie-c984baa73724d079076b28788c174ce9fa83fdb5.tar.bz2 |
Use new buildsystem, more documentation coming shortly. Also silenced dependency generation a bit.
-rw-r--r-- | Makefile | 181 |
1 files changed, 79 insertions, 102 deletions
@@ -1,136 +1,113 @@ | |||
1 | hehindefault: dynamic | 1 | #!/usr/bin/make -f |
2 | export OPIEDIR:=$(shell pwd) | ||
3 | export TOPDIR:=$(OPIEDIR) | ||
4 | export QMAKE:=$(OPIEDIR)/qmake/qmake | ||
2 | 5 | ||
3 | all: default docs | 6 | export QMAKESPECSDIR=$(OPIEDIR)/mkspecs |
4 | 7 | ||
5 | LIBS=library libopie | 8 | noconfig_targets := xconfig menuconfig config oldconfig randconfig \ |
9 | defconfig allyesconfig allnoconfig allmodconfig \ | ||
10 | clean-configs | ||
6 | 11 | ||
12 | 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/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/todayplugins/config.in | ||
7 | 13 | ||
8 | INPUTCOMPONENTS= inputmethods/keyboard inputmethods/pickboard \ | 14 | # $(TOPDIR)/.config depends on .depends.cfgs, as it depends on $(configs) |
9 | inputmethods/handwriting inputmethods/unikeyboard \ | 15 | # in order to have a full set of config.in files. |
10 | inputmethods/jumpx inputmethods/kjumpx \ | 16 | # .depends depends on $(TOPDIR)/.config |
11 | inputmethods/dvorak inputmethods/multikey \ | 17 | # everything else depends on .depends, to ensure the dependencies are |
18 | # intact. | ||
19 | # | ||
20 | # NOTE: The order in which things happen in this makefile is | ||
21 | # -critical-. Do not rearrange this! | ||
12 | 22 | ||
13 | APPLETS= core/applets/batteryapplet \ | 23 | all : $(TOPDIR)/.config |
14 | core/applets/irdaapplet core/applets/volumeapplet \ | ||
15 | core/applets/clockapplet \ | ||
16 | core/applets/homeapplet core/applets/suspendapplet \ | ||
17 | core/applets/logoutapplet \ | ||
18 | core/applets/screenshotapplet core/applets/clipboardapplet \ | ||
19 | core/applets/cardmon core/applets/obex \ | ||
20 | core/applets/vmemo \ | ||
21 | noncore/applets/wirelessapplet noncore/applets/notesapplet | ||
22 | 24 | ||
23 | MAIL= noncore/mail/libmail noncore/mail/bend | 25 | $(TOPDIR)/.config : $(TOPDIR)/.depends.cfgs |
24 | 26 | ||
25 | PLAYER = core/multimedia/opieplayer/libmpeg3 \ | 27 | all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(TOPDIR)/.depends.cfgs |
26 | core/multimedia/opieplayer/libmad \ | ||
27 | core/multimedia/opieplayer/wavplugin \ | ||
28 | core/multimedia/opieplayer/modplug | ||
29 | 28 | ||
30 | COMPONENTS=$(LOCALCOMPONENTS) $(INPUTCOMPONENTS) $(APPLETS) $(MAIL) $(PLAYER) | 29 | clean-configs : |
30 | @echo "Wiping generated config.in files..." | ||
31 | @-rm -f $(configs) | ||
31 | 32 | ||
33 | -include $(TOPDIR)/.depends.cfgs | ||
32 | 34 | ||
33 | PIMAPPS = core/pim/addressbook core/pim/datebook \ | 35 | all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(configs) |
34 | core/pim/today core/pim/todo | ||
35 | 36 | ||
36 | TODAYPLUGINS = core/pim/today/plugins/datebook \ | 37 | $(TOPDIR)/.config: $(TOPDIR)/.depends.cfgs $(configs) |
37 | core/pim/today/plugins/addressbook \ | 38 | $(call descend,scripts/kconfig,conf) |
38 | core/pim/today/plugins/todolist \ | 39 | @if [ ! -e $@ ]; then \ |
39 | core/pim/today/plugins/mail \ | 40 | cp $(TOPDIR)/def-configs/opie $@; \ |
40 | noncore/todayplugins/stockticker/stockticker noncore/todayplugins/stockticker/stocktickerlib \ | 41 | fi; |
41 | noncore/todayplugins/fortune \ | 42 | @$(MAKE) -C scripts/kconfig conf; |
42 | noncore/todayplugins/weather | 43 | ./scripts/kconfig/conf -s ./config.in |
43 | 44 | ||
45 | # config rules must have the $(configs) var defined | ||
46 | # at the time that they run. we must ensure that .depends.cfgs | ||
47 | # is built and included by the time we reach this point. | ||
44 | 48 | ||
45 | COREAPPS = core/apps/filebrowser core/apps/helpbrowser \ | 49 | xconfig : |
46 | core/apps/textedit core/apps/embeddedkonsole \ | 50 | $(call descend,scripts/kconfig,qconf) |
47 | core/launcher \ | 51 | LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(TOPDIR)/scripts/kconfig \ |
48 | core/opie-login \ | 52 | ./scripts/kconfig/qconf ./config.in |
49 | core/apps/oipkg core/apps/qcop | ||
50 | 53 | ||
51 | COREMULTIMEDIA = core/multimedia/opieplayer | 54 | menuconfig : scripts/lxdialog/lxdialog |
55 | $(call descend,scripts/kconfig,mconf) | ||
56 | ./scripts/kconfig/mconf ./config.in | ||
52 | 57 | ||
53 | CORESETTINGS = core/settings/light-and-power core/settings/security \ | 58 | config : |
54 | noncore/settings/netsystemtime core/settings/citytime \ | 59 | $(call descend,scripts/kconfig,conf) |
55 | core/settings/launcher core/settings/button | 60 | ./scripts/kconfig/conf ./config.in |
56 | 61 | ||
57 | NONCORESETTINGS =noncore/settings/language noncore/settings/rotation \ | 62 | oldconfig : |
58 | noncore/settings/appearance2 noncore/settings/sound \ | 63 | $(call descend,scripts/kconfig,conf) |
59 | noncore/settings/mediummount \ | 64 | ./scripts/kconfig/conf -o ./config.in |
60 | noncore/settings/tabmanager \ | ||
61 | noncore/settings/sshkeys noncore/settings/usermanager \ | ||
62 | noncore/settings/backup | ||
63 | 65 | ||
64 | NONCORETOOLS = noncore/tools/calculator noncore/tools/clock \ | 66 | randconfig : |
65 | noncore/tools/remote noncore/tools/opie-sh noncore/apps/advancedfm \ | 67 | $(call descend,scripts/kconfig,conf) |
66 | noncore/tools/formatter | 68 | ./scripts/kconfig/conf -r ./config.in |
67 | 69 | ||
68 | NONCORESTYLES = noncore/styles/liquid noncore/styles/theme noncore/styles/metal \ | 70 | allyesconfig : |
69 | noncore/styles/flat noncore/styles/fresh | 71 | $(call descend,scripts/kconfig,conf) |
72 | ./scripts/kconfig/conf -y ./config.in | ||
70 | 73 | ||
71 | NONCOREDECOS = noncore/decorations/liquid noncore/decorations/flat \ | 74 | allnoconfig : |
72 | noncore/decorations/polished | 75 | $(call descend,scripts/kconfig,conf) |
76 | ./scripts/kconfig/conf -n ./config.in | ||
73 | 77 | ||
74 | GAMES = noncore/games/minesweep noncore/games/solitaire \ | 78 | defconfig : |
75 | noncore/games/tetrix noncore/games/wordgame \ | 79 | $(call descend,scripts/kconfig,conf) |
76 | noncore/games/parashoot noncore/games/snake \ | 80 | ./scripts/kconfig/conf -d ./config.in |
77 | noncore/games/mindbreaker \ | ||
78 | noncore/games/go noncore/games/qasteroids \ | ||
79 | noncore/games/fifteen noncore/games/tictac \ | ||
80 | noncore/games/kcheckers noncore/games/kpacman \ | ||
81 | noncore/games/kbill noncore/games/buzzword \ | ||
82 | noncore/games/bounce noncore/games/sfcave | ||
83 | 81 | ||
84 | NONAPPS = noncore/apps/opie-sheet noncore/apps/tableviewer \ | ||
85 | noncore/apps/opie-reader noncore/apps/checkbook noncore/apps/oxygen \ | ||
86 | noncore/apps/sysinfo noncore/net/opieirc noncore/apps/aqpkg \ | ||
87 | noncore/apps/opie-console noncore/apps/opie-write | ||
88 | 82 | ||
89 | NONNET = noncore/net/ftplib noncore/net/opieftp \ | 83 | export |
90 | noncore/mail | ||
91 | 84 | ||
92 | NONMULT = noncore/multimedia/showimg noncore/graphics/drawpad \ | 85 | ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) |
93 | noncore/graphics/qpdf noncore/apps/confedit | ||
94 | 86 | ||
87 | export include-config := 1 | ||
95 | 88 | ||
96 | NONCOMM = noncore/comm/keypebble | 89 | -include $(TOPDIR)/.config |
90 | -include $(TOPDIR)/.depends | ||
97 | 91 | ||
98 | PLUGINS = freetype | 92 | endif |
99 | 93 | ||
100 | APPS=$(LOCALAPPS) $(PIMAPPS) $(COREAPPS) \ | 94 | -include $(TOPDIR)/..config.cmd |
101 | $(COREMULTIMEDIA) $(CORESETTINGS) \ | ||
102 | $(NONCORESETTINGS) $(NONCORETOOLS) $(NONCORESTYLES) \ | ||
103 | $(NONCOREDECOS) $(NONAPPS) $(NONNET) $(NONMULT) \ | ||
104 | $(NONCOMM) $(GAMES) $(TODAYPLUGINS) $(PLUGINS) | ||
105 | 95 | ||
96 | SUBDIRS = $(subdir-y) | ||
106 | 97 | ||
98 | export QMAKESPEC=$(QMAKESPECSDIR)/$(patsubst "%",%,$(CONFIG_SPECFILE)) | ||
107 | 99 | ||
108 | NONTMAKEAPPS := core/opiealarm | 100 | ifdef CONFIG_OPTIMIZATIONS |
101 | export CFLAGS_RELEASE=$(patsubst "%,%,$(CONFIG_OPTIMIZATIONS)) | ||
102 | export CFLAGS_RELEASE:=$(patsubst %",%,$(CFLAGS_RELEASE)) | ||
103 | endif | ||
109 | 104 | ||
110 | DOCS = docs/src/opie-policy | 105 | all clean lupdate lrelease install ipk: $(SUBDIRS) |
111 | 106 | ||
112 | dynamic: $(APPS) $(NONTMAKEAPPS) | 107 | $(subdir-y) : $(if $(CONFIG_LIBQPE),$(QTDIR)/stamp-headers) \ |
108 | $(if $(CONFIG_LIBQPE-X11),$(QTDIR)/stamp-headers-x11) \ | ||
109 | $(TOPDIR)/library/custom.h | ||
113 | 110 | ||
114 | docs: $(DOCS) | 111 | clean : $(TOPDIR)/.config |
115 | 112 | ||
116 | $(COMPONENTS): $(LIBS) | 113 | include $(TOPDIR)/Rules.make |
117 | |||
118 | $(NONTMAKEAPPS) $(APPS): $(LIBS) $(COMPONENTS) | ||
119 | |||
120 | $(LIBS) $(COMPONENTS) $(NONTMAKEAPPS) $(APPS) $(DOCS): | ||
121 | $(MAKE) -C $@ -f Makefile | ||
122 | |||
123 | showcomponents: | ||
124 | @echo $(LIBS) $(APPS) $(COMPONENTS) | ||
125 | |||
126 | clean: | ||
127 | for dir in $(NONTMAKEAPPS) $(APPS) $(LIBS) $(COMPONENTS) $(DOCS); do $(MAKE) -C $$dir -f Makefile $@ || exit 1; done | ||
128 | |||
129 | lupdate: | ||
130 | for dir in $(APPS) $(LIBS) $(COMPONENTS); do $(MAKE) -C $$dir -f Makefile $@ || exit 1; done | ||
131 | |||
132 | lrelease: | ||
133 | for dir in $(APPS) $(LIBS) $(COMPONENTS); do $(MAKE) -C $$dir -f Makefile $@ || exit 1; done | ||
134 | |||
135 | |||
136 | .PHONY: default dynamic $(NONTMAKEAPPS) $(LIBS) $(APPS) $(COMPONENTS) $(DOCS) showcomponents clean | ||