summaryrefslogtreecommitdiff
path: root/Makefile
Unidiff
Diffstat (limited to 'Makefile') (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile195
1 files changed, 86 insertions, 109 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
5
6export QMAKESPECSDIR=$(OPIEDIR)/mkspecs
2 7
3all: default docs 8noconfig_targets := xconfig menuconfig config oldconfig randconfig \
9 defconfig allyesconfig allnoconfig allmodconfig \
10 clean-configs
4 11
5LIBS=library libopie 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
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
23all : $(TOPDIR)/.config
7 24
8INPUTCOMPONENTS= 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
13APPLETS= core/applets/batteryapplet \ 27all 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
23MAIL= noncore/mail/libmail noncore/mail/bend 29clean-configs :
30 @echo "Wiping generated config.in files..."
31 @-rm -f $(configs)
24 32
25PLAYER = 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) 35all 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
33PIMAPPS = 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
36TODAYPLUGINS = core/pim/today/plugins/datebook \ 49xconfig :
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
54menuconfig : scripts/lxdialog/lxdialog
55 $(call descend,scripts/kconfig,mconf)
56 ./scripts/kconfig/mconf ./config.in
44 57
45COREAPPS = core/apps/filebrowser core/apps/helpbrowser \ 58config :
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 62oldconfig :
63 $(call descend,scripts/kconfig,conf)
64 ./scripts/kconfig/conf -o ./config.in
65
66randconfig :
67 $(call descend,scripts/kconfig,conf)
68 ./scripts/kconfig/conf -r ./config.in
69
70allyesconfig :
71 $(call descend,scripts/kconfig,conf)
72 ./scripts/kconfig/conf -y ./config.in
73
74allnoconfig :
75 $(call descend,scripts/kconfig,conf)
76 ./scripts/kconfig/conf -n ./config.in
77
78defconfig :
79 $(call descend,scripts/kconfig,conf)
80 ./scripts/kconfig/conf -d ./config.in
50 81
51COREMULTIMEDIA = core/multimedia/opieplayer
52 82
53CORESETTINGS = core/settings/light-and-power core/settings/security \ 83export
54 noncore/settings/netsystemtime core/settings/citytime \
55 core/settings/launcher core/settings/button
56 84
57NONCORESETTINGS =noncore/settings/language noncore/settings/rotation \ 85ifeq ($(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
64NONCORETOOLS = noncore/tools/calculator noncore/tools/clock \ 87export include-config := 1
65 noncore/tools/remote noncore/tools/opie-sh noncore/apps/advancedfm \
66 noncore/tools/formatter
67 88
68NONCORESTYLES = 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
71NONCOREDECOS = noncore/decorations/liquid noncore/decorations/flat \ 92endif
72 noncore/decorations/polished
73 93
74GAMES = 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
84NONAPPS = noncore/apps/opie-sheet noncore/apps/tableviewer \ 96SUBDIRS = $(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
89NONNET = noncore/net/ftplib noncore/net/opieftp \
90 noncore/mail
91 97
92NONMULT = noncore/multimedia/showimg noncore/graphics/drawpad \ 98export QMAKESPEC=$(QMAKESPECSDIR)/$(patsubst "%",%,$(CONFIG_SPECFILE))
93 noncore/graphics/qpdf noncore/apps/confedit
94 99
100ifdef CONFIG_OPTIMIZATIONS
101export CFLAGS_RELEASE=$(patsubst "%,%,$(CONFIG_OPTIMIZATIONS))
102export CFLAGS_RELEASE:=$(patsubst %",%,$(CFLAGS_RELEASE))
103endif
95 104
96NONCOMM = noncore/comm/keypebble 105all clean lupdate lrelease install ipk: $(SUBDIRS)
97 106
98PLUGINS = 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
100APPS=$(LOCALAPPS) $(PIMAPPS) $(COREAPPS) \ 111clean : $(TOPDIR)/.config
101 $(COREMULTIMEDIA) $(CORESETTINGS) \
102 $(NONCORESETTINGS) $(NONCORETOOLS) $(NONCORESTYLES) \
103 $(NONCOREDECOS) $(NONAPPS) $(NONNET) $(NONMULT) \
104 $(NONCOMM) $(GAMES) $(TODAYPLUGINS) $(PLUGINS)
105
106
107 112
108NONTMAKEAPPS := core/opiealarm 113include $(TOPDIR)/Rules.make
109
110DOCS = docs/src/opie-policy
111
112dynamic: $(APPS) $(NONTMAKEAPPS)
113
114docs: $(DOCS)
115
116$(COMPONENTS): $(LIBS)
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