author | kergoth <kergoth> | 2003-01-24 01:09:11 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2003-01-24 01:09:11 (UTC) |
commit | fdf29b4b01231c746f7697365fcd7bd57d154365 (patch) (side-by-side diff) | |
tree | 309306f501beb67a0267fa2b925a3fdaadbd6f2a | |
parent | 3de1877c4c39c3cc99848204da8e32fc6e3d9efb (diff) | |
download | opie-fdf29b4b01231c746f7697365fcd7bd57d154365.zip opie-fdf29b4b01231c746f7697365fcd7bd57d154365.tar.gz opie-fdf29b4b01231c746f7697365fcd7bd57d154365.tar.bz2 |
Add debug to config system. enabling/disabling this option alters a toplevel gen.pro file, which alters the CONFIG parameter in the .pro files. In this way you can enable/disable debug builds globally via the config system.
-rw-r--r-- | Rules.make | 12 | ||||
-rw-r--r-- | config.in | 4 | ||||
-rw-r--r-- | include.pro | 2 |
3 files changed, 17 insertions, 1 deletions
@@ -1,98 +1,108 @@ ## targets ## $(configs) : $(call makecfg,$@) +$(TOPDIR)/gen.pro : $(TOPDIR)/.config + echo > $@ +ifneq ($(CONFIG_DEBUG),) + echo CONFIG += debug >> $@ + echo CONFIG -= release >> $@ +else + echo CONFIG -= debug >> $@ + echo CONFIG += release >> $@ +endif + $(TOPDIR)/.depends : $(shell if [ -e $(TOPDIR)/config.in ]\; then echo $(TOPDIR)/config.in\; fi\;) $(TOPDIR)/.config $(TOPDIR)/packages @echo Generating dependency information... # add to subdir-y, and add descend rules @cat $(TOPDIR)/packages | grep -v '^#' | \ awk '{print \ ".PHONY : " $$2 "\n" \ "subdir-$$(" $$1 ") += " $$2 "\n\n"; \ print $$2 " : " $$2 "/Makefile\n\t$$(call descend,$$@,$(filter-out $$@,$$(filter-out $$@,$$(MAKECMDGOALS))))\n"; }' > $(TOPDIR)/.depends cat $(TOPDIR)/packages | grep -v '^#' | \ - perl -ne '($$cfg, $$dir, $$pro) = $$_ =~ /^(\S+)\s+(\S+)\s+(\S+)/; if ( -e "$$dir/$$pro" ) { print "$$dir/Makefile : $$dir/$$pro \$$(QMAKE)\n\t\$$(call makefilegen,\$$@)\n\n"; }' \ + perl -ne '($$cfg, $$dir, $$pro) = $$_ =~ /^(\S+)\s+(\S+)\s+(\S+)/; if ( -e "$$dir/$$pro" ) { print "$$dir/Makefile : $$dir/$$pro \$$(QMAKE) \$$(OPIEDIR)/gen.pro\n\t\$$(call makefilegen,\$$@)\n\n"; }' \ >> $(TOPDIR)/.depends # interpackage dependency generation @cat $(TOPDIR)/packages | \ $(TOPDIR)/scripts/deps.pl >> $(TOPDIR)/.depends $(TOPDIR)/.depends.cfgs: # config.in interdependencies @echo $(configs) | sed -e 's,/config.in,,g' | ( for i in `cat`; do echo $$i; done ) > dirs @cat dirs | ( for i in `cat`; do if [ "`cat dirs|grep $$i 2>/dev/null|wc -l`" -ne "1" ]; then deps=`cat dirs|grep $$i| grep -v "^$$i$$"|for i in \`cat|sed -e's,^$(TOPDIR)/,$$(TOPDIR)/,g'\`; do echo $$i/config.in; done`; echo `echo $$i/config.in|sed -e 's,^$(TOPDIR)/,$$(TOPDIR)/,'` : $$deps; fi; done ) >> $@ @-rm -f dirs $(QTDIR)/stamp-headers : @-rm -f $@* ( cd $(QTDIR)/include; \ $(patsubst %,ln -sf ../src/kernel/%;,qgfx_qws.h qwsmouse_qws.h \ qcopchannel_qws.h qwindowsystem_qws.h \ qfontmanager_qws.h qwsdefaultdecoration_qws.h)) touch $@ $(QTDIR)/stamp-headers-x11 : @-rm -f $@* cd $(QTDIR)/include; $(patsubst %,ln -sf $(OPIEDIR)/x11/libqpe-x11/qt/%;,qgfx_qws.h qwsmouse_qws.h qcopchannel_qws.h qwindowsystem_qws.h qfontmanager_qws.h qwsdefaultdecoration_qws.h) touch $@ $(OPIEDIR)/stamp-headers : @-rm -f $@* mkdir -p $(TOPDIR)/include/qpe $(TOPDIR)/include/qtopia \ $(TOPDIR)/include/opie $(TOPDIR)/include/qtopia/private ( cd include/qpe && rm -f *.h; ln -sf ../../library/*.h .; ln -sf ../../library/backend/*.h .; rm -f *_p.h; ) ( cd include/qtopia && rm -f *.h; ln -sf ../../library/*.h .; ) ( cd include/qtopia/private && rm -f *.h; ln -sf ../../../library/backend/*.h .; ) ( cd include/opie && rm -f *.h; ln -sf ../../libopie/*.h .; rm -f *_p.h; ) ( cd include/opie && ln -sf ../../libsql/*.h .; ) ( cd include/opie && ln -sf ../../libopie/pim/*.h .; ) ( cd include/opie; for generatedHeader in `cd ../../libopie; ls *.ui | sed -e "s,\.ui,\.h,g"`; do \ ln -sf ../../libopie/$$generatedHeader $$generatedHeader; done ) ln -sf ../../library/custom.h $(TOPDIR)/include/qpe/custom.h touch $@ $(OPIEDIR)/stamp-headers-x11 : @-rm -f $@* mkdir -p $(TOPDIR)/include/qpe $(TOPDIR)/include/qtopia \ $(TOPDIR)/include/opie $(TOPDIR)/include/qtopia/private ( cd include/qpe && rm -f *.h; ln -sf ../../library/*.h .; ln -sf ../../library/backend/*.h .; rm -f *_p.h; ) ( cd include/qtopia && rm -f *.h; ln -sf ../../library/*.h .; ) ( cd include/qtopia/private && rm -f *.h; ln -sf ../../../library/backend/*.h .; ) ( cd include/opie && rm -f *.h; ln -sf ../../libopie/*.h .; rm -f *_p.h; ) ( cd include/opie && ln -sf ../../libsql/*.h .; ) ( cd include/opie && ln -sf ../../libopie/pim/*.h .; ) ( cd include/opie; for generatedHeader in `cd ../../libopie; ls *.ui | sed -e "s,\.ui,\.h,g"`; do \ ln -sf ../../libopie/$$generatedHeader $$generatedHeader; done ) ln -sf ../../library/custom.h $(TOPDIR)/include/qpe/custom.h ( cd include/qpe; ln -sf ../../x11/libqpe-x11/qpe/*.h .; ) touch $@ $(TOPDIR)/library/custom.h : $(TOPDIR)/.config @-rm -f $@ @$(if $(patsubst "%",%,$(CONFIG_CUSTOMFILE)),\ ln -sf $(patsubst "%",%,$(CONFIG_CUSTOMFILE)) $@) @touch $@ $(TOPDIR)/scripts/lxdialog/lxdialog $(TOPDIR)/scripts/kconfig/conf scripts/kconfig/conf $(TOPDIR)/scripts/kconfig/mconf scripts/kconfig/mconf $(TOPDIR)/scripts/kconfig/qconf scripts/kconfig/qconf $(TOPDIR)/qmake/qmake : $(call descend,$(shell dirname $@),$(shell basename $@)) $(TOPDIR)/qmake/qmake : $(TOPDIR)/mkspecs/default $(TOPDIR)/mkspecs/default : ln -sf linux-g++ $@ ## general rules ## define descend $(MAKE) $(if $(QMAKE),QMAKE=$(QMAKE)) -C $(1) $(2) endef define makefilegen cd $(if $(1),$(shell dirname $(1))); $(TOPDIR)/qmake/qmake $(3) -o $(if $(1),$(shell basename $(1))) `cat $(OPIEDIR)/packages | grep " \`echo $(1)|sed -e 's,/Makefile$$,,'\` " | \ head -1 | awk '{print $$3}'` endef define makecfg $(TOPDIR)/scripts/makecfg.pl $1 $(OPIEDIR) endef @@ -1,136 +1,140 @@ mainmenu "Opie Configuration" menu "Build Parameters" #choice # prompt "Build Processor family" # default BUILD_X86 # help # Please select the architecture of the machine you will be # building the OpenZaurus buildroot on. # # config BUILD_X86 # boolean "X86 Architecture" # #endchoice choice prompt "Target Machine" default TARGET_X86 help Please select the architecture of the machine you will be building the OpenZaurus buildroot for. config TARGET_X86 boolean "Intel X86" config TARGET_SHARP boolean "Sharp Zaurus SL-5x00 - stock" # config TARGET_OZ # boolean "Sharp Zaurus SL-5x00 - OpenZaurus" config TARGET_IPAQ boolean "Ipaq" endchoice config OPTIMIZE boolean "Use optimizations" default "y" if ! TARGET_X86 +config DEBUG + boolean "Enable debug builds" + default "n" + config SPECFILE string default "qws/linux-generic-g++" if TARGET_X86 && (! X11) default "linux-g++" if TARGET_X86 && X11 default "qws/linux-sharp-g++" if TARGET_SHARP && (! X11) default "linux-g++" if TARGET_SHARP && X11 # default "linux-oz-g++" if TARGET_OZ default "qws/linux-ipaq-g++" if TARGET_IPAQ && (! X11) default "linux-g++" if TARGET_IPAQ && X11 config CUSTOMFILE string default "custom-ipaq.h" if TARGET_IPAQ default "custom-sharp.h" if TARGET_SHARP config OPTIMIZATIONS string "Optimization flags" depends OPTIMIZE default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_IPAQ default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SHARP #config CROSS # string "Crosscompilation prefix" # default "arm-linux-" # help # Crosscompilation prefix is the prefix which will be prepended # to all compilation commands. For example, a crosscompilation prefix # of arm-linux-, results in the build calling arm-linux-gcc as its CC. endmenu menu "Base" choice prompt "Qpe Library Selection" default LIBQPE source library/config.in source x11/config.in endchoice source libopie/config.in source core/opie-login/config.in source core/opiealarm/config.in source core/launcher/config.in endmenu comment "" #config APPLETS # bool "Applets" # default "y" menu "Applets" # depends APPLETS source core/applets/config.in source noncore/applets/config.in endmenu #config APPS # bool "Apps" # default "y" menu "Apps" # depends APPS source core/apps/config.in source noncore/apps/config.in endmenu menu "Communications and Networking" source noncore/comm/config.in source noncore/mail/config.in source noncore/net/config.in endmenu menu "Games" source noncore/games/config.in endmenu menu "Graphics and Multimedia" source freetype/config.in source noncore/graphics/config.in source core/multimedia/config.in source noncore/multimedia/config.in endmenu menu "Input methods" source inputmethods/config.in endmenu menu "Pim" source core/pim/config.in menu "Today Plugins" source noncore/todayplugins/config.in source core/pim/today/plugins/config.in endmenu endmenu menu "Settings" source core/settings/config.in diff --git a/include.pro b/include.pro index da2da04..4f1144f 100644 --- a/include.pro +++ b/include.pro @@ -1,70 +1,72 @@ # make install # base opie install path prefix = /opt/QtPalmtop contains( TEMPLATE, lib ) { target.path = $$prefix/lib } !contains( TEMPLATE, lib ) { target.path = $$prefix/bin } INSTALLS += target # ipkg control files control.path = /CONTROL control.files = control postinst prerm postrm preinst conffiles INSTALLS += control # images, default is $$prefix/pics/$$TARGET pics.path = $$prefix/pics/$$TARGET pics.files = pics/* INSTALLS += pics # sounds, default path is $$prefix/sounds/$$TARGET sounds.path = $$prefix/sounds/$$TARGET sounds.files = sounds/* INSTALLS += sounds # init scripts, default path is /etc/init.d init.path = /etc/init.d init.files = init.d/* INSTALLS += init # data, default path is /usr/share/$$TARGET data.path = /usr/share/$$TARGET data.files = share/* INSTALLS += data etc.path = $$prefix/etc/ etc.files = etc/* INSTALLS += etc apps.path = $$prefix/apps/ apps.files = apps/* INSTALLS += apps # sounds, default path is $$prefix/sounds/$$TARGET sounds.path = $$prefix/sounds/$$TARGET sounds.files = sounds/* INSTALLS += sounds # anything in nonstandard paths root.path = / root.files = root/* INSTALLS += root # new targets lupdate.target = lupdate lupdate.commands = lupdate -noobsolete $(PRO) lrelease.target = lrelease lrelease.commands = lrelease $(PRO) ipk.target = ipk ipk.commands = tmp=`mktemp -d /tmp/ipkg-opie.XXXXXXXXXX` && ( $(MAKE) INSTALL_ROOT="$$$$tmp" install && ipkg-build $$$$tmp; rm -rf $$$$tmp; ) QMAKE_EXTRA_UNIX_TARGETS += lupdate lrelease ipk QMAKE_LFLAGS += -Wl,-rpath=$$prefix/lib QMAKE_LIBDIR += $(OPIEDIR)/lib + +include ( $(OPIEDIR)/gen.pro ) |