| 1 |
#!/usr/bin/make -f |
| 2 |
|
| 3 |
export TOPDIR:=$(OPIEDIR) |
| 4 |
|
| 5 |
include $(TOPDIR)/Vars.make |
| 6 |
ifneq ($(wildcard $(TOPDIR)/Vars.local),) |
| 7 |
include $(TOPDIR)/Vars.local |
| 8 |
endif |
| 9 |
|
| 10 |
noconfig_targets := xconfig menuconfig config oldconfig randconfig \ |
| 11 |
defconfig allyesconfig allnoconfig allmodconfig \ |
| 12 |
clean-configs $(TOPDIR)/scripts/subst $(TOPDIR)/scripts/filesubst \ |
| 13 |
ipks |
| 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)/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/connman/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 |
|
| 17 |
# $(TOPDIR)/.config depends on .depends.cfgs, as it depends on $(configs) |
| 18 |
# in order to have a full set of config.in files. |
| 19 |
# .depends depends on $(TOPDIR)/.config |
| 20 |
# everything else depends on .depends, to ensure the dependencies are |
| 21 |
# intact. |
| 22 |
# |
| 23 |
# NOTE: The order in which things happen in this makefile is |
| 24 |
# -critical-. Do not rearrange this! |
| 25 |
|
| 26 |
all : $(TOPDIR)/.config |
| 27 |
|
| 28 |
# |
| 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 |
| 31 |
# make ipks IPK_START=library |
| 32 |
# and then only the *.control files in this directory will be processed |
| 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 \ |
| 35 |
prerm=`echo $${ctrl/.control/.prerm}`; \ |
| 36 |
preinst=`echo $${ctrl/.control/.preinst}`; \ |
| 37 |
postrm=`echo $${ctrl/.control/.postrm}`; \ |
| 38 |
postinst=`echo $${ctrl/.control/.postinst}`; \ |
| 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); \ |
| 41 |
done ) |
| 42 |
|
| 43 |
ipks-mt: $(OPIEDIR)/scripts/subst $(OPIEDIR)/scripts/filesubst FORCE $(TOPDIR)/.config |
| 44 |
@> $(OPIEDIR)/AllThreadedPackages |
| 45 |
@find $(OPIEDIR)/ -type f -name \*.control | grep -v -- "-mt" | while read ctrl ; do \ |
| 46 |
grep "Package[ ]*:" $${ctrl} | sed "s+Package[ ]*:[ ]*++"; \ |
| 47 |
done | sort | uniq >> $(OPIEDIR)/AllThreadedPackages |
| 48 |
@find $(OPIEDIR)/ -type f -name \*.control | while read ctrl ; do \ |
| 49 |
echo "Converting $$ctrl to -mt package"; \ |
| 50 |
nctrl=`$(OPIEDIR)/scripts/tothreaded $$ctrl $(OPIEDIR)/AllThreadedPackages`; \ |
| 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/-mt.control/.prerm} --preinst=$${nctrl/-mt.control/.preinst} --postrm=$${nctrl/-mt.control/.postrm} --postinst=$${nctrl/-mt.control/.postinst} --strip=$(STRIP) $(OPIEDIR); \ |
| 53 |
done |
| 54 |
@rm -f $(OPIEDIR)/AllThreadedPackages |
| 55 |
|
| 56 |
FORCE: |
| 57 |
|
| 58 |
$(TOPDIR)/.config : $(TOPDIR)/.depends.cfgs |
| 59 |
|
| 60 |
all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(TOPDIR)/.depends.cfgs |
| 61 |
|
| 62 |
clean-configs : |
| 63 |
@echo "Wiping generated config.in files..." |
| 64 |
@-rm -f $(configs) |
| 65 |
|
| 66 |
ifneq ($(wildcard $(TOPDIR)/.depends.cfgs),) |
| 67 |
include $(TOPDIR)/.depends.cfgs |
| 68 |
endif |
| 69 |
|
| 70 |
all menuconfig xconfig oldconfig config randconfig allyesconfig allnoconfig defconfig : $(configs) |
| 71 |
|
| 72 |
$(TOPDIR)/.config: $(TOPDIR)/.depends.cfgs $(configs) |
| 73 |
$(call descend,scripts/kconfig,conf) |
| 74 |
@if [ ! -e $@ ]; then \ |
| 75 |
cp $(TOPDIR)/def-configs/opie $@; \ |
| 76 |
fi |
| 77 |
@$(MAKE) -C scripts/kconfig conf |
| 78 |
./scripts/kconfig/conf -s ./config.in |
| 79 |
|
| 80 |
export |
| 81 |
|
| 82 |
ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) |
| 83 |
|
| 84 |
export include-config := 1 |
| 85 |
|
| 86 |
-include $(TOPDIR)/.config |
| 87 |
-include $(TOPDIR)/.depends |
| 88 |
endif |
| 89 |
|
| 90 |
-include $(TOPDIR)/.config.cmd |
| 91 |
|
| 92 |
SUBDIRS = $(subdir-y) |
| 93 |
|
| 94 |
all clean install ipk: $(SUBDIRS) |
| 95 |
|
| 96 |
lupdate lrelease: |
| 97 |
@for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done |
| 98 |
|
| 99 |
opie-lupdate opie-lrelease messages: |
| 100 |
@for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done; |
| 101 |
|
| 102 |
# from kde |
| 103 |
qtmessages: |
| 104 |
cd $(QTDIR)/src ; \ |
| 105 |
sed -e "s,#define,," xml/qxml.cpp > qxml_clean.cpp ;\ |
| 106 |
find . -name "*.cpp" | grep -v moc_ > list ;\ |
| 107 |
for file in qfiledialog qcolordialog qprintdialog \ |
| 108 |
qurloperator qftp qhttp qlocal qerrormessage; do \ |
| 109 |
grep -v $$file list > list.new && mv list.new list ;\ |
| 110 |
done ;\ |
| 111 |
xgettext -C -ktr -kQT_TRANSLATE_NOOP -n `cat list` -o $(OPIEDIR)/qt-messages.pot |
| 112 |
|
| 113 |
ifndef CONFIG_TARGET_OE |
| 114 |
$(subdir-y) : $(if $(CONFIG_LIBQPE),$(QTDIR)/stamp-headers $(OPIEDIR)/stamp-headers) \ |
| 115 |
$(if $(CONFIG_LIBQPE-X11),$(QTDIR)/stamp-headers-x11 $(OPIEDIR)/stamp-headers-x11 ) \ |
| 116 |
$(TOPDIR)/library/custom.h |
| 117 |
else |
| 118 |
$(subdir-y) : $(if $(CONFIG_LIBQPE),$(OPIEDIR)/stamp-headers) $(TOPDIR)/library/custom.h |
| 119 |
endif |
| 120 |
|
| 121 |
clean : $(TOPDIR)/.config |
| 122 |
make -C bin clean |
| 123 |
make -C lib clean |
| 124 |
make -C plugins clean |
| 125 |
|
| 126 |
apidox : |
| 127 |
doc/generate_apidox |
| 128 |
|
| 129 |
mrproper : clean-configs |
| 130 |
find . -name ".moc"|xargs rm -rf |
| 131 |
find . -name ".obj"|xargs rm -rf |
| 132 |
find lib -name "lib*.*"|xargs rm -f |
| 133 |
find plugins -name "lib*.*"|xargs rm -f |
| 134 |
find . -name "*.pro"|xargs touch |
| 135 |
rm stamp-headers |
| 136 |
make -C qmake clean |
| 137 |
rm qmake/qmake |
| 138 |
|
| 139 |
include $(TOPDIR)/Rules.make |
| 140 |
|
| 141 |
# to speed up (avoid include/generation of packaging rules) |
| 142 |
ifneq ($(filter package%,$(MAKECMDGOALS)),) |
| 143 |
|
| 144 |
# packaging requested |
| 145 |
|
| 146 |
$(TOPDIR)/Package.make : |
| 147 |
@echo "Generating packaging rules" |
| 148 |
@$(TOPDIR)/scripts/GeneratePackageMake > $(TOPDIR)/Package.make |
| 149 |
|
| 150 |
# load rules to make packages |
| 151 |
-include $(TOPDIR)/Package.make |
| 152 |
|
| 153 |
endif |