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 | 195 |
1 files changed, 86 insertions, 109 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 | ||
5 | |||
6 | export QMAKESPECSDIR=$(OPIEDIR)/mkspecs | ||
2 | 7 | ||
3 | all: default docs | 8 | noconfig_targets := xconfig menuconfig config oldconfig randconfig \ |
9 | defconfig allyesconfig allnoconfig allmodconfig \ | ||
10 | clean-configs | ||
4 | 11 | ||
5 | LIBS=library libopie | 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 |
6 | 13 | ||
14 | # $(TOPDIR)/.config depends on .depends.cfgs, as it depends on $(configs) | ||
15 | # in order to have a full set of config.in files. | ||
16 | # .depends depends on $(TOPDIR)/.config | ||
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! | ||
22 | |||
23 | all : $(TOPDIR)/.config | ||
7 | 24 | ||
8 | INPUTCOMPONENTS= inputmethods/keyboard inputmethods/pickboard \ | 25 | $(TOPDIR)/.config : $(TOPDIR)/.depends.cfgs |
9 | inputmethods/handwriting inputmethods/unikeyboard \ | ||
10 | inputmethods/jumpx inputmethods/kjumpx \ | ||
11 | inputmethods/dvorak inputmethods/multikey \ | ||
12 | 26 | ||
13 | APPLETS= core/applets/batteryapplet \ | 27 | all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(TOPDIR)/.depends.cfgs |
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 | 28 | ||
23 | MAIL= noncore/mail/libmail noncore/mail/bend | 29 | clean-configs : |
30 | @echo "Wiping generated config.in files..." | ||
31 | @-rm -f $(configs) | ||
24 | 32 | ||
25 | PLAYER = core/multimedia/opieplayer/libmpeg3 \ | 33 | -include $(TOPDIR)/.depends.cfgs |
26 | core/multimedia/opieplayer/libmad \ | ||
27 | core/multimedia/opieplayer/wavplugin \ | ||
28 | core/multimedia/opieplayer/modplug | ||
29 | 34 | ||
30 | COMPONENTS=$(LOCALCOMPONENTS) $(INPUTCOMPONENTS) $(APPLETS) $(MAIL) $(PLAYER) | 35 | all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(configs) |
31 | 36 | ||
37 | $(TOPDIR)/.config: $(TOPDIR)/.depends.cfgs $(configs) | ||
38 | $(call descend,scripts/kconfig,conf) | ||
39 | @if [ ! -e $@ ]; then \ | ||
40 | cp $(TOPDIR)/def-configs/opie $@; \ | ||
41 | fi; | ||
42 | @$(MAKE) -C scripts/kconfig conf; | ||
43 | ./scripts/kconfig/conf -s ./config.in | ||
32 | 44 | ||
33 | PIMAPPS = core/pim/addressbook core/pim/datebook \ | 45 | # config rules must have the $(configs) var defined |
34 | core/pim/today core/pim/todo | 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. | ||
35 | 48 | ||
36 | TODAYPLUGINS = core/pim/today/plugins/datebook \ | 49 | xconfig : |
37 | core/pim/today/plugins/addressbook \ | 50 | $(call descend,scripts/kconfig,qconf) |
38 | core/pim/today/plugins/todolist \ | 51 | LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(TOPDIR)/scripts/kconfig \ |
39 | core/pim/today/plugins/mail \ | 52 | ./scripts/kconfig/qconf ./config.in |
40 | noncore/todayplugins/stockticker/stockticker noncore/todayplugins/stockticker/stocktickerlib \ | ||
41 | noncore/todayplugins/fortune \ | ||
42 | noncore/todayplugins/weather | ||
43 | 53 | ||
54 | menuconfig : scripts/lxdialog/lxdialog | ||
55 | $(call descend,scripts/kconfig,mconf) | ||
56 | ./scripts/kconfig/mconf ./config.in | ||
44 | 57 | ||
45 | COREAPPS = core/apps/filebrowser core/apps/helpbrowser \ | 58 | config : |
46 | core/apps/textedit core/apps/embeddedkonsole \ | 59 | $(call descend,scripts/kconfig,conf) |
47 | core/launcher \ | 60 | ./scripts/kconfig/conf ./config.in |
48 | core/opie-login \ | 61 | |
49 | core/apps/oipkg core/apps/qcop | 62 | oldconfig : |
63 | $(call descend,scripts/kconfig,conf) | ||
64 | ./scripts/kconfig/conf -o ./config.in | ||
65 | |||
66 | randconfig : | ||
67 | $(call descend,scripts/kconfig,conf) | ||
68 | ./scripts/kconfig/conf -r ./config.in | ||
69 | |||
70 | allyesconfig : | ||
71 | $(call descend,scripts/kconfig,conf) | ||
72 | ./scripts/kconfig/conf -y ./config.in | ||
73 | |||
74 | allnoconfig : | ||
75 | $(call descend,scripts/kconfig,conf) | ||
76 | ./scripts/kconfig/conf -n ./config.in | ||
77 | |||
78 | defconfig : | ||
79 | $(call descend,scripts/kconfig,conf) | ||
80 | ./scripts/kconfig/conf -d ./config.in | ||
50 | 81 | ||
51 | COREMULTIMEDIA = core/multimedia/opieplayer | ||
52 | 82 | ||
53 | CORESETTINGS = core/settings/light-and-power core/settings/security \ | 83 | export |
54 | noncore/settings/netsystemtime core/settings/citytime \ | ||
55 | core/settings/launcher core/settings/button | ||
56 | 84 | ||
57 | NONCORESETTINGS =noncore/settings/language noncore/settings/rotation \ | 85 | ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) |
58 | noncore/settings/appearance2 noncore/settings/sound \ | ||
59 | noncore/settings/mediummount \ | ||
60 | noncore/settings/tabmanager \ | ||
61 | noncore/settings/sshkeys noncore/settings/usermanager \ | ||
62 | noncore/settings/backup | ||
63 | 86 | ||
64 | NONCORETOOLS = noncore/tools/calculator noncore/tools/clock \ | 87 | export include-config := 1 |
65 | noncore/tools/remote noncore/tools/opie-sh noncore/apps/advancedfm \ | ||
66 | noncore/tools/formatter | ||
67 | 88 | ||
68 | NONCORESTYLES = noncore/styles/liquid noncore/styles/theme noncore/styles/metal \ | 89 | -include $(TOPDIR)/.config |
69 | noncore/styles/flat noncore/styles/fresh | 90 | -include $(TOPDIR)/.depends |
70 | 91 | ||
71 | NONCOREDECOS = noncore/decorations/liquid noncore/decorations/flat \ | 92 | endif |
72 | noncore/decorations/polished | ||
73 | 93 | ||
74 | GAMES = noncore/games/minesweep noncore/games/solitaire \ | 94 | -include $(TOPDIR)/..config.cmd |
75 | noncore/games/tetrix noncore/games/wordgame \ | ||
76 | noncore/games/parashoot noncore/games/snake \ | ||
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 | 95 | ||
84 | NONAPPS = noncore/apps/opie-sheet noncore/apps/tableviewer \ | 96 | SUBDIRS = $(subdir-y) |
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 | |||
89 | NONNET = noncore/net/ftplib noncore/net/opieftp \ | ||
90 | noncore/mail | ||
91 | 97 | ||
92 | NONMULT = noncore/multimedia/showimg noncore/graphics/drawpad \ | 98 | export QMAKESPEC=$(QMAKESPECSDIR)/$(patsubst "%",%,$(CONFIG_SPECFILE)) |
93 | noncore/graphics/qpdf noncore/apps/confedit | ||
94 | 99 | ||
100 | ifdef CONFIG_OPTIMIZATIONS | ||
101 | export CFLAGS_RELEASE=$(patsubst "%,%,$(CONFIG_OPTIMIZATIONS)) | ||
102 | export CFLAGS_RELEASE:=$(patsubst %",%,$(CFLAGS_RELEASE)) | ||
103 | endif | ||
95 | 104 | ||
96 | NONCOMM = noncore/comm/keypebble | 105 | all clean lupdate lrelease install ipk: $(SUBDIRS) |
97 | 106 | ||
98 | PLUGINS = freetype | 107 | $(subdir-y) : $(if $(CONFIG_LIBQPE),$(QTDIR)/stamp-headers) \ |
108 | $(if $(CONFIG_LIBQPE-X11),$(QTDIR)/stamp-headers-x11) \ | ||
109 | $(TOPDIR)/library/custom.h | ||
99 | 110 | ||
100 | APPS=$(LOCALAPPS) $(PIMAPPS) $(COREAPPS) \ | 111 | clean : $(TOPDIR)/.config |
101 | $(COREMULTIMEDIA) $(CORESETTINGS) \ | ||
102 | $(NONCORESETTINGS) $(NONCORETOOLS) $(NONCORESTYLES) \ | ||
103 | $(NONCOREDECOS) $(NONAPPS) $(NONNET) $(NONMULT) \ | ||
104 | $(NONCOMM) $(GAMES) $(TODAYPLUGINS) $(PLUGINS) | ||
105 | |||
106 | |||
107 | 112 | ||
108 | NONTMAKEAPPS := core/opiealarm | 113 | include $(TOPDIR)/Rules.make |
109 | |||
110 | DOCS = docs/src/opie-policy | ||
111 | |||
112 | dynamic: $(APPS) $(NONTMAKEAPPS) | ||
113 | |||
114 | docs: $(DOCS) | ||
115 | |||
116 | $(COMPONENTS): $(LIBS) | ||
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 | ||