#!/usr/bin/make -f # -*- makefile -*- # debian/rules for libg2 # Author: Eric Cain # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # These are used for cross-compiling and for saving the configure script # from having to guess our platform (since we know it already) DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) CFLAGS = -Wall -g ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 else CFLAGS += -O2 endif # Use the latest version number in the CHANGES file version=`head -n 1 CHANGES | \ awk '{if (match($$0,/^[0-9]+\.[0-9]+[A-Za-z]/)) print substr($$0,RSTART,RLENGTH)}'` rversion=`head -n 1 CHANGES | \ awk '{if (match($$0,/^[0-9]+\.[0-9]+/)) print substr($$0,RSTART,RLENGTH)}'` major=`head -n 1 CHANGES | \ awk '{if (match($$0,/^[0-9]+/)) print substr($$0,RSTART,RLENGTH)}'` config.status: dh_testdir QUILT_PATCHES=debian/patches quilt push -a || test $$? = 2 dh_autotools-dev_updateconfig # do also save configure which is changed here to be able to restore it afterwards in the clean target cp -a configure configure.dh-orig libtoolize -f -c autoconf CFLAGS="$(CFLAGS) -Wl,-z,defs" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info build: build-stamp build-stamp: config.status dh_testdir # compile the package. $(MAKE) depend $(MAKE) libg2.a RVERSION=$(rversion) MVERSION=$(major) # clean up and build the shared lib -rm -f src/*.o src/*/*.o $(MAKE) PICFLAG="-fPIC" RVERSION=$(rversion) MVERSION=$(major) shared (cd ./g2_perl && perl Makefile.PL INSTALLDIRS=vendor LIBS="-L$(CURIDR)/g2_perl/.. -lg2") $(MAKE) -C ./g2_perl touch build-stamp clean: dh_testdir dh_testroot rm -f build-stamp # clean up after the build process. [ ! -f Makefile ] || $(MAKE) RVERSION=$(rversion) MVERSION=$(major) clean if [ -f Makefile.bak ] ; then mv Makefile.bak Makefile ; fi if [ -f configure.dh-orig ] ; then mv configure.dh-orig configure ; fi dh_autotools-dev_restoreconfig dh_clean QUILT_PATCHES=debian/patches quilt pop -a -R || test $$? = 2 rm -f ltmain.sh rm -rf .pc install: build dh_testdir dh_testroot dh_prep dh_installdirs # install the package into debian/tmp $(MAKE) RVERSION=$(rversion) MVERSION=$(major) install prefix=$(CURDIR)/debian/libg2-dev $(MAKE) -C ./g2_perl install DESTDIR=$(CURDIR)/debian/libg2$(major)-perl mkdir -p debian/tmp/usr/lib mv debian/libg2-dev/usr/lib/libg2.so.$(rversion) debian/tmp/usr/lib/libg2.so.$(rversion) mv debian/libg2-dev/usr/lib/libg2.so.$(major) debian/tmp/usr/lib/libg2.so.$(major) ln -s libg2.so.$(rversion) debian/tmp/usr/lib/libg2.so # Build architecture-independent files here. binary-indep: build install # We have nothing to do by default. # Build architecture-dependent files here. binary-arch: build install dh_testdir dh_testroot # build libg2${major} package by moving files from tmp dh_movefiles -plibg2$(major) \ usr/lib/libg2.so.$(major) \ usr/lib/libg2.so.$(rversion) dh_movefiles -plibg2-dev \ usr/lib/libg2.so install -m 755 -d debian/libg2$(major)-perl/usr/share/perl5/ mv debian/libg2$(major)-perl/usr/lib/perl5/*.pm debian/libg2$(major)-perl/usr/share/perl5/ chrpath --delete $(CURDIR)/debian/libg20-perl/usr/lib/perl5/auto/G2/G2.so dh_installchangelogs CHANGES dh_installdocs dh_installexamples dh_link dh_strip dh_compress dh_fixperms dh_perl dh_makeshlibs dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install