## Please read the README in this directory to see how to use this ## Makefile snippet # Let's use whatever clean target the specific app provides CONTROL = `if test -e familiar/control1; then echo control1; else echo control; fi` # URL to source tarball SOURCE = http://gpe.linuxtogo.org/download/source/$(PACKAGE)-$(VERSION).tar.gz # can change this to e.g. /var/tmp/deb DEB_PATH = ../deb ifeq ($(CVSBUILD),yes) LIBGPEWIDGET_PC = libgpewidget-uninstalled PC_EXTRA=PKG_CONFIG_PATH=../../base/libgpewidget else LIBGPEWIDGET_PC = libgpewidget endif ifeq ($(IN_LIBGPEWIDGET),) GPECFLAGS = $(shell $(PC_EXTRA) pkg-config --cflags $(LIBGPEWIDGET_PC)) GPELIBS = $(shell $(PC_EXTRA) pkg-config --libs $(LIBGPEWIDGET_PC)) endif GTKCFLAGS = $(shell pkg-config --cflags gtk+-2.0) GTKLIBS = $(shell pkg-config --libs gtk+-2.0) STANDARD_CPPFLAGS = -D_GNU_SOURCE -DPACKAGE=\"$(PACKAGE)\" -DPREFIX=\"$(PREFIX)\" -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\" STANDARD_CFLAGS = -MD -Wall ifeq ($(DEBUG),yes) CFLAGS += -O2 -g LDFLAGS = -g else CFLAGS += -Os -fomit-frame-pointer endif dist: check-source clean dist-prep rm -rf ../$(PACKAGE)-$(VERSION) mkdir ../$(PACKAGE)-$(VERSION) ( tar cf - --exclude "*/CVS" --exclude CVS --exclude "*~" --exclude "#*#" --exclude "debian" --exclude ".*" --exclude "*.ipk" --exclude "*.ipk.*" --exclude "*.mo" --exclude "*.batch" --exclude "translation-ipkgs.txt" * ) | (cd ../$(PACKAGE)-$(VERSION); tar xf -) ( if [ -f linguas ]; then LINGUAS=`cat linguas`; PATCH_LINGUAS="s:^LINGUAS =.*:LINGUAS = $${LINGUAS}:"; fi; cd ../$(PACKAGE)-$(VERSION) && mkdir build && cp $(BUILD)/Makefile.dpkg_ipkg $(BUILD)/Makefile.translation build/ && sed "s:^CVSBUILD =.*:CVSBUILD = no:;s:^DEBUG =.*:DEBUG = no:;s:Makefile.translation-auto-linguas:Makefile.translation:;$${PATCH_LINGUAS}" < Makefile > Makefile.new && mv Makefile.new Makefile ) ( cd .. ; tar cf - $(PACKAGE)-$(VERSION) | gzip -9 >$(PACKAGE)-$(VERSION).tar.gz ) rm -rf ../$(PACKAGE)-$(VERSION) $(MAKE) printinfo dist-upload: dist scp ../$(PACKAGE)-$(VERSION).tar.gz $(USER)@linuxtogo.org:/media/data/projects/gpe/source/ dist-prep: ipkg-prep: install-mo: # empty, can be filled in Makefile.translation install: install-program install-mo clean-dist: rm -rf familiar/dist familiar/dist.list clean: clean-dist check-source: @if [ -f familiar/$(CONTROL) ] && ! grep -q '^Source:' familiar/$(CONTROL); then echo -e "\nNo Source: field in control file. Aborting.\n"; exit 1; fi ipkg: check-source ipkg-prep clean rm -rf familiar/dist mkdir -p familiar/dist/CONTROL sed 's:VERSION:$(VERSION):;s$$SOURCE$$$(SOURCE)$$' < familiar/$(CONTROL) > familiar/dist/CONTROL/control if test -e familiar/conffiles; then install -m 644 familiar/conffiles familiar/dist/CONTROL; fi if test -e familiar/preinst; then install familiar/preinst familiar/dist/CONTROL; fi if test -e familiar/postinst; then install familiar/postinst familiar/dist/CONTROL; fi if test -e familiar/prerm; then install familiar/prerm familiar/dist/CONTROL; fi if test -e familiar/postrm; then install familiar/postrm familiar/dist/CONTROL; fi $(MAKE) DESTDIR=`pwd`/familiar/dist PREFIX=/usr prefix=/usr DEBUG=no install-program rm -rf familiar/dist.list ipkg-build -o 0 -g 0 familiar/dist | sed 's/^Packaged .*into //; t 1; d; : 1; s:.*/::' >> familiar/dist.list if [ "x$(LINGUAS)" != "x" ]; then make translation-ipkg; tr ' ' '\n' < translation-ipkgs.txt >> familiar/dist.list; fi md5sum `cat familiar/dist.list` > $(PACKAGE)_$(VERSION).batch rm -rf familiar/dist familiar/dist.list $(MAKE) printinfo dpkg: dist mkdir -p $(DEB_PATH) ( olddir=`pwd`; cd $(DEB_PATH); rm -rf $(PACKAGE)-$(VERSION); ln -s $$olddir/../$(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)_$(VERSION).orig.tar.gz ; tar xzf $(PACKAGE)_$(VERSION).orig.tar.gz ) mkdir -p $(DEB_PATH)/$(PACKAGE)-$(VERSION)/debian for i in debian/*; do if test -f $$i; then cp $$i $(DEB_PATH)/$(PACKAGE)-$(VERSION)/debian/; fi; done CVSTAG := $(shell echo $(PACKAGE)-$(VERSION) | tr [a-z.] [A-Z_]) printinfo: @printf '-------------------------------------------------------------------------------\n' @printf "If this becomes a package release, please add a CVS tag.\n" @printf "You can use 'make tag' for that, it will execute\n" @printf " cvs tag %s\n" $(CVSTAG) @printf "Please upload a tarball (created with 'make dist') to\n" @printf " ftp://ftp.handhelds.org/pub/projects/gpe/\n" @printf " (handhelds.org:~ftp/pub/projects/gpe/source)\n" @printf "You can use 'make dist-upload' to do that.\n" @printf "You are currently known as USER %s.\n" $(USER) @printf '-------------------------------------------------------------------------------\n' tag: check-source cvs tag $(CVSTAG) retag: check-source cvs tag -F $(CVSTAG) source: tag dist-upload %.pc: %.pc.in sed 's:PREFIX:$(PREFIX):;s:BUILDDIR:$(shell pwd):;s:VERSION:$(VERSION):' < $< > $@ .c.o:; $(CC) $(CFLAGS) $(CPPFLAGS) $(PACKAGE_CFLAGS) $(PACKAGE_CPPFLAGS) -c $< -o $@