#!/usr/bin/make -f # 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) VERSION=$(shell echo `head -2 $(CURDIR)/include/VERSION`|sed -e 's/ //') ABI=$(shell echo `head -3 $(CURDIR)/include/VERSION`|sed -e 's/ //g' -e 's/RC/-/') BASE_NAME=grass$(VERSION) PKG_NAME=grass CFLAGS=-Wall -g ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 else CFLAGS += -O endif ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) STRIP = else STRIP = strip endif TCLINC = /usr/include/tcl include /usr/share/dpatch/dpatch.make versions: @echo "Version: $(VERSION)" @echo "ABI: $(ABI)" templates: $(patsubst %.in,%,$(wildcard debian/*.in)) debian/% :: debian/%.in sed -e 's/@VERSION@/$(VERSION)/' -e 's/@ABI@/$(ABI)/' $< >$@ configure: patch config.status config.status: dh_testdir # Add here commands to configure the package. CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \ --prefix=/usr/lib \ --sysconfdir=/etc \ --sharedstatedir=/var \ --enable-socket \ --enable-shared \ --with-postgres \ --with-mysql \ --with-cxx \ --with-x \ --with-gdal \ --with-freetype \ --with-motif \ --with-readline \ --with-nls \ --with-odbc \ --with-sqlite \ --enable-largefile \ --with-freetype-includes=/usr/include/freetype2 \ --with-tcltk-includes=$(TCLINC) \ --with-postgres-includes=$(shell pg_config --includedir) \ --with-mysql-includes=$(shell mysql_config --include|sed -e 's/-I//') \ --with-proj-share=/usr/share/proj \ --with-wxwidgets=/usr/lib/wx/config/gtk2-unicode-release-2.8 \ --with-python=/usr/bin/python-config \ --with-cairo touch $@ # This target generates arch-dep stuff, unfortunately most doc requires working bins to # be properly generated... build: configure build-stamp build-stamp: dh_testdir $(MAKE) chmod 755 debian/fixpaths.sh debian/fixscripts.sh touch $@ # This target generates truly arch-indep stuff build-indep: configure build-indep-stamp build-indep-stamp: dh_testdir $(MAKE) htmldocs touch $@ clean: templates clean-patched unpatch clean-patched: dh_testdir dh_testroot # Add here commands to clean up after the build process. [ ! -f $(CURDIR)/include/Make/Platform.make ] || $(MAKE) distclean ifneq "$(wildcard /usr/share/misc/config.sub)" "" [ ! -f $(CURDIR)/configure.in ] || cp -f /usr/share/misc/config.sub config.sub endif ifneq "$(wildcard /usr/share/misc/config.guess)" "" [ ! -f $(CURDIR)/configure.in ] || cp -f /usr/share/misc/config.guess config.guess endif dh_clean rm -f lib/proj/nad2bin rm -f tools/timer/main.o rm -f raster/r.le/r.le.setup/polytocell/*.o rm -f raster/r.terraflow/IOStream/lib/src/libiostream.a rm -f debian/$(BASE_NAME).1 rm -f error.log # clean doxygen documentation (programming man) rm -rf doxygenhtml lib/vector/html lib/db/html lib/gis/html \ lib/vector/latex lib/db/latex lib/gis/latex \ lib/g3d/html \ lib/ogsf/html \ lib/proj/html \ lib/gmath/html \ lib/segment/html \ lib/vector/dglib/html \ rfc/html \ swig/html \ lib/g3d/latex \ lib/ogsf/latex \ lib/proj/latex \ lib/gmath/latex \ lib/segment/latex \ lib/vector/dglib/latex \ rfc/latex \ swig/latex install: build dh_testdir dh_testroot dh_clean -k dh_installdirs # install grass core into debian/tmp $(MAKE) $(STRIP) $(MAKE) install INST_DIR=$(CURDIR)/debian/tmp/usr/lib/$(BASE_NAME) \ PREFIX=$(CURDIR)/debian/tmp/usr/lib/$(BASE_NAME) \ BINDIR=$(CURDIR)/debian/tmp/usr/bin # fix all the braindead scripts debian/fixscripts.sh # fix links debian/fixpaths.sh $(CURDIR)/debian/tmp debian/tmp # delete extra license files rm -f debian/tmp/usr/lib/$(BASE_NAME)/bwidget/LICENSE.txt # change section from 1 to .1grass mv debian/tmp/usr/lib/$(BASE_NAME)/man/man1/grass6.1 debian/$(BASE_NAME).1 for m in debian/tmp/usr/lib/$(BASE_NAME)/man/man1/*.1; do n=`basename $$m .1`; mv $$m debian/tmp/usr/lib/$(BASE_NAME)/man/man1/$$n.1grass; done for m in debian/tmp/usr/lib/$(BASE_NAME)/man/man1/*.1grass; do sed -i -e 's/^.TH \(.*\) 1/.TH \1 1grass/' $$m; done # install module makefile install -m 644 include/Make/Module.make debian/$(PKG_NAME)-dev/usr/lib/$(BASE_NAME)/include/Make/Module.make # install pkg-config file install -m 644 grass.pc debian/$(PKG_NAME)-dev/usr/share/pkgconfig/$(BASE_NAME).pc # install icon file for debian menu system install -d debian/tmp/usr/share/icons debian/tmp/usr/bin install -m 644 debian/grass.xpm debian/tmp/usr/share/icons/$(BASE_NAME).xpm # install x-grass wrapper script install -m 755 debian/x-grass debian/tmp/usr/bin/x-grass ln -fs /usr/lib/$(shell objdump -p /usr/lib/`gdal-config --libs|cut -d' ' -f2|sed -e 's/-l/lib/'`.so|grep SONAME|cut -d' ' -f18) \ debian/tmp/usr/lib/$(BASE_NAME)/lib/libgdal.so install-indep: build-indep dh_testdir -i dh_testroot -i install -m 644 -d debian/tmp install -m 644 -d debian/tmp/programming-manual/vector/html/search \ debian/tmp/programming-manual/db/html/search \ debian/tmp/programming-manual/gis/html/search -install -m 644 lib/vector/html/* debian/tmp/programming-manual/vector/html -install -m 644 lib/vector/html/search/* debian/tmp/programming-manual/vector/html/search -install -m 644 lib/db/html/* debian/tmp/programming-manual/db/html -install -m 644 lib/db/html/search/* debian/tmp/programming-manual/db/html/search -install -m 644 lib/gis/html/* debian/tmp/programming-manual/gis/html -install -m 644 lib/gis/html/search/* debian/tmp/programming-manual/gis/html/search # Build architecture-independent files here. binary-indep: install install-indep dh_testdir -i dh_testroot -i dh_installchangelogs -i CHANGES dh_installdocs -i dh_install -i --sourcedir=debian/tmp dh_link -i dh_strip -i dh_compress -i dh_fixperms -i dh_installdeb -i dh_gencontrol -i dh_md5sums -i dh_builddeb -i # Build architecture-dependent files here. binary-arch: install dh_testdir -a dh_testroot -a dh_installchangelogs -a CHANGES dh_installdocs -a dh_installexamples -a dh_install -a --sourcedir=debian/tmp dh_installmenu -a dh_installman -p$(PKG_NAME) debian/$(BASE_NAME).1 -a dh_link -a dh_strip -a dh_compress -a dh_fixperms -a dh_makeshlibs -a -a dh_installdeb -a dh_shlibdeps -a -l$(CURDIR)/debian/$(PKG_NAME)/usr/lib/$(BASE_NAME)/lib dh_gencontrol -a dh_md5sums -a dh_builddeb -a binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install patch unpatch configure clean-patched versions