#!/usr/bin/make -f # Overwrite, if building out-of-tree. SRCDIR=. ABS_SRCDIR=$(abspath $(SRCDIR)) # Try to extract version from ./configure SCITECO_VERSION = $(shell $(SRCDIR)/configure --version | \ sed -n 's/SciTECO configure //p') SCITECO_SRC = sciteco-$(SCITECO_VERSION).tar.gz $(SCITECO_SRC): $(MAKE) dist all : $(SCITECO_SRC) debian mingw-binary # $(UBUNTU) sets the Ubuntu distribution and fixes the package's # version debian-prepare: debian-temp/ .PHONY: debian-temp/ debian-temp/ : $(SCITECO_SRC) rm -rf debian-temp/ mkdir debian-temp/ (cd debian-temp/; \ cp ../$(SCITECO_SRC) \ sciteco_$(SCITECO_VERSION).orig.tar.gz; \ tar xzf sciteco_$(SCITECO_VERSION).orig.tar.gz; \ cp -r $(ABS_SRCDIR)/debian sciteco-$(SCITECO_VERSION)/; \ ) ifneq ($(UBUNTU),) sciteco -e "@EB|debian-temp/sciteco-$(SCITECO_VERSION)/debian/changelog| \ <@FS/ unstable;/ $(UBUNTU);/; -@S/)/R @I/ppa1~$(UBUNTU)1/ L> \ @EW||" endif SIGN ?= no ifeq ($(SIGN),yes) DEBUILD_FLAGS := else DEBUILD_FLAGS := -us -uc endif # Whether to upload upstream sources (dist tarball) to the PPA # This must be YES for new releases. # It must be NO after the tarball has been # uploaded once, else launchpad refuses # building the source package. # Launchpad will also refuse new versions of the # tar ball for the same release, so the tarball # should NOT be cleaned when uploading for multiple # Ubuntu versions. # If a bug is found only during PPA building, # the upstream version must be increased since we # cannot upload a new tarball and adding patches to the # Debian package would be idiotic :-( UPLOAD_SRC ?= yes ifeq ($(UPLOAD_SRC),yes) DEBUILD_FLAGS += -sa else DEBUILD_FLAGS += -sd endif debian-source : debian-temp/source-stamp debian-temp/source-stamp : debian-prepare (cd debian-temp/sciteco-$(SCITECO_VERSION)/; \ debuild -S $(DEBUILD_FLAGS); \ ) touch $@ debian-binary : debian-temp/binary-stamp debian-temp/binary-stamp : debian-prepare (cd debian-temp/sciteco-$(SCITECO_VERSION)/; \ debuild -b $(DEBUILD_FLAGS); \ ) touch $@ debian : debian-source debian-binary ppa : debian-source (cd debian-temp/; \ dput ppa:robin-haberkorn/sciteco *.changes; \ ) # Create Windows release. # Assumes a correctly installed glib (with pkgconfig script) # and static linking of all dependant libraries (no DLLs are # added to the zip). # If a win32.teco_ini exists, it is added to the release # instead of sample.teco_ini. # This also adds gspawn-win32-helper-console.exe to the archive # which is required by the glib spawn functions. # If we ever build a non-console version on Windows, # we should include gspawn-win32-helper.exe instead. # # When linking in PDCurses/win32a statically, the # environment variable PDCURSES_LIBS should be set to # "-lpdcurses -lgdi32 -lcomdlg32" MINGW_UI=pdcurses mingw-binary : sciteco-$(SCITECO_VERSION)-win32.zip sciteco-$(SCITECO_VERSION)-win32.zip : $(SCITECO_SRC) tar xzf $(SCITECO_SRC) (cd sciteco-$(SCITECO_VERSION); \ PKG_CONFIG=i686-w64-mingw32-pkg-config \ PKG_CONFIG_LIBDIR=/usr/i686-w64-mingw32/lib/pkgconfig \ ./configure --host=i686-w64-mingw32 build=i386-pc-linux-gnu \ --prefix=/usr \ --enable-static-executables \ --disable-dependency-tracking \ --with-interface=$(MINGW_UI) \ --disable-bootstrap \ --enable-html-manual \ CFLAGS="-g -O3" CXXFLAGS="-g -O3"; \ ) $(MAKE) -C sciteco-$(SCITECO_VERSION) \ install-strip DESTDIR=`pwd`/temp-install rm -rf sciteco-$(SCITECO_VERSION)/ mkdir temp-bin/ cp -r temp-install/usr/bin/* temp-install/usr/share/sciteco/* \ temp-install/usr/share/doc/sciteco/* \ temp-bin/ cp $(SRCDIR)/win32.teco_ini temp-bin/.teco_ini || \ cp temp-install/usr/share/sciteco/sample.teco_ini \ temp-bin/.teco_ini cp $(SRCDIR)/COPYING $(SRCDIR)/ChangeLog temp-bin/ rm -rf temp-install/ # cp /usr/i686-w64-mingw32/bin/intl.dll \ # /usr/i686-w64-mingw32/bin/libglib-2.0-0.dll \ # /usr/i686-w64-mingw32/bin/pdcurses.dll \ # temp-bin/ cp /usr/i686-w64-mingw32/bin/gspawn-win32-helper-console.exe \ temp-bin/ i686-w64-mingw32-strip -s temp-bin/gspawn-win32-helper-console.exe cd temp-bin/; zip -r ../$@ . rm -rf temp-bin/ clean: rm -rf $(SCITECO_SRC) rm -rf debian-temp/ rm -rf sciteco-$(SCITECO_VERSION)/