summaryrefslogtreecommitdiff
path: root/Makefile
authorkergoth <kergoth>2003-01-16 18:06:02 (UTC)
committer kergoth <kergoth>2003-01-16 18:06:02 (UTC)
commitc984baa73724d079076b28788c174ce9fa83fdb5 (patch) (unidiff)
treeaf0d37330ebc9f00804d4a47d5d059832d31b44b /Makefile
parent3904d85eac20dfd21cf2a3245977f9946865fd92 (diff)
downloadopie-c984baa73724d079076b28788c174ce9fa83fdb5.zip
opie-c984baa73724d079076b28788c174ce9fa83fdb5.tar.gz
opie-c984baa73724d079076b28788c174ce9fa83fdb5.tar.bz2
Use new buildsystem, more documentation coming shortly. Also silenced dependency generation a bit.
Diffstat (limited to 'Makefile') (more/less context) (show whitespace changes)
-rw-r--r--Makefile181
1 files changed, 79 insertions, 102 deletions
diff --git a/Makefile b/Makefile
index a22669a..2741105 100644
--- a/Makefile
+++ b/Makefile
@@ -1,136 +1,113 @@
1hehindefault: dynamic 1#!/usr/bin/make -f
2export OPIEDIR:=$(shell pwd)
3export TOPDIR:=$(OPIEDIR)
4export QMAKE:=$(OPIEDIR)/qmake/qmake
2 5
3all: default docs 6export QMAKESPECSDIR=$(OPIEDIR)/mkspecs
4 7
5LIBS=library libopie 8noconfig_targets := xconfig menuconfig config oldconfig randconfig \
9 defconfig allyesconfig allnoconfig allmodconfig \
10 clean-configs
6 11
12configs += $(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
8INPUTCOMPONENTS= 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
13APPLETS= core/applets/batteryapplet \ 23all : $(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
23MAIL= noncore/mail/libmail noncore/mail/bend 25$(TOPDIR)/.config : $(TOPDIR)/.depends.cfgs
24 26
25PLAYER = core/multimedia/opieplayer/libmpeg3 \ 27all 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) 29clean-configs :
30 @echo "Wiping generated config.in files..."
31 @-rm -f $(configs)
31 32
33-include $(TOPDIR)/.depends.cfgs
32 34
33PIMAPPS = core/pim/addressbook core/pim/datebook \ 35all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(configs)
34 core/pim/today core/pim/todo
35 36
36TODAYPLUGINS = 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
45COREAPPS = core/apps/filebrowser core/apps/helpbrowser \ 49xconfig :
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
51COREMULTIMEDIA = core/multimedia/opieplayer 54menuconfig : scripts/lxdialog/lxdialog
55 $(call descend,scripts/kconfig,mconf)
56 ./scripts/kconfig/mconf ./config.in
52 57
53CORESETTINGS = core/settings/light-and-power core/settings/security \ 58config :
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
57NONCORESETTINGS =noncore/settings/language noncore/settings/rotation \ 62oldconfig :
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
64NONCORETOOLS = noncore/tools/calculator noncore/tools/clock \ 66randconfig :
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
68NONCORESTYLES = noncore/styles/liquid noncore/styles/theme noncore/styles/metal \ 70allyesconfig :
69 noncore/styles/flat noncore/styles/fresh 71 $(call descend,scripts/kconfig,conf)
72 ./scripts/kconfig/conf -y ./config.in
70 73
71NONCOREDECOS = noncore/decorations/liquid noncore/decorations/flat \ 74allnoconfig :
72 noncore/decorations/polished 75 $(call descend,scripts/kconfig,conf)
76 ./scripts/kconfig/conf -n ./config.in
73 77
74GAMES = noncore/games/minesweep noncore/games/solitaire \ 78defconfig :
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
84NONAPPS = 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
89NONNET = noncore/net/ftplib noncore/net/opieftp \ 83export
90 noncore/mail
91 84
92NONMULT = noncore/multimedia/showimg noncore/graphics/drawpad \ 85ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
93 noncore/graphics/qpdf noncore/apps/confedit
94 86
87export include-config := 1
95 88
96NONCOMM = noncore/comm/keypebble 89-include $(TOPDIR)/.config
90-include $(TOPDIR)/.depends
97 91
98PLUGINS = freetype 92endif
99 93
100APPS=$(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
96SUBDIRS = $(subdir-y)
106 97
98export QMAKESPEC=$(QMAKESPECSDIR)/$(patsubst "%",%,$(CONFIG_SPECFILE))
107 99
108NONTMAKEAPPS := core/opiealarm 100ifdef CONFIG_OPTIMIZATIONS
101export CFLAGS_RELEASE=$(patsubst "%,%,$(CONFIG_OPTIMIZATIONS))
102export CFLAGS_RELEASE:=$(patsubst %",%,$(CFLAGS_RELEASE))
103endif
109 104
110DOCS = docs/src/opie-policy 105all clean lupdate lrelease install ipk: $(SUBDIRS)
111 106
112dynamic: $(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
114docs: $(DOCS) 111clean : $(TOPDIR)/.config
115 112
116$(COMPONENTS): $(LIBS) 113include $(TOPDIR)/Rules.make
117
118$(NONTMAKEAPPS) $(APPS): $(LIBS) $(COMPONENTS)
119
120$(LIBS) $(COMPONENTS) $(NONTMAKEAPPS) $(APPS) $(DOCS):
121 $(MAKE) -C $@ -f Makefile
122
123showcomponents:
124 @echo $(LIBS) $(APPS) $(COMPONENTS)
125
126clean:
127 for dir in $(NONTMAKEAPPS) $(APPS) $(LIBS) $(COMPONENTS) $(DOCS); do $(MAKE) -C $$dir -f Makefile $@ || exit 1; done
128
129lupdate:
130 for dir in $(APPS) $(LIBS) $(COMPONENTS); do $(MAKE) -C $$dir -f Makefile $@ || exit 1; done
131
132lrelease:
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