#!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. # export DH_VERBOSE=1 install_file = /usr/bin/install -p -o root -g root -m 644 CONFIG_OPTS = --build=$(DEB_BUILD_GNU_TYPE) \ --cache-file=../config.cache \ --prefix=/usr \ --mandir=\$${prefix}/share/man \ --disable-silent-rules \ --with-libctl=/usr/share/libctl DEST_DIR = $(CURDIR)/debian/build-tmp/mpb/usr DEST_DIR_MPI = $(CURDIR)/debian/build-tmp/mpb-mpi/usr LA_DIR = $(CURDIR)/debian/build-tmp # Which MPI implementation? # set ARCH_DEFAULT_MPI_IMPL include /usr/share/mpi-default-dev/debian_defaults ifneq ($(wildcard /usr/lib/$(DEB_HOST_MULTIARCH)/hdf5/$(ARCH_DEFAULT_MPI_IMPL)/libhdf5.so),) export DEB_CPPFLAGS_MAINT_APPEND := -I/usr/include/hdf5/$(ARCH_DEFAULT_MPI_IMPL) export DEB_LDFLAGS_MAINT_APPEND := -Wl,-L/usr/lib/$(DEB_HOST_MULTIARCH)/hdf5/$(ARCH_DEFAULT_MPI_IMPL) endif %: dh $@ --with autoreconf override_dh_clean: dh_clean rm -f config.log config.sub config.guess config.cache ../config.cache rm -f mpb/mpb rm -f mpb/mpb-split rm -f mpb/mpbi-split rm -f utils/mpb-data rm -f src/mpb.h rm -f src/mpbi.h rm -f src/mpb_mpi.h rm -f src/mpbi_mpi.h rm -f src/libmpb.la rm -rf debian/build-tmp override_dh_auto_configure: #XXX weg: ln -s /usr/share/misc/config.sub config.sub #XXX weg: ln -s /usr/share/misc/config.guess config.guess # we build 4 binaries and need to reconfigure for each # so nothing done here # dh_auto_configure -- $(CONFIG_OPTS) override_dh_auto_build: # normal version echo "Step1: normal version start" #XXX dh_auto_configure -- $(CONFIG_OPTS) F77=gfortran CC=mpicc ./configure $(CONFIG_OPTS) dh_auto_build make install prefix=$(DEST_DIR) make clean echo "Step1: normal version end" # version with inverse symmetry #XXX dh_auto_configure -- --with-inv-symmetry $(CONFIG_OPTS) F77=gfortran CC=mpicc ./configure --with-inv-symmetry $(CONFIG_OPTS) echo "Step2: inverse version start" dh_auto_build make install prefix=$(DEST_DIR) make clean echo "Step2: inverse version end" # normal version with mpi echo "Step3: mpi version start" #XXX dh_auto_configure -- --with-mpi $(CONFIG_OPTS) F77=gfortran CC=mpicc ./configure --with-mpi $(CONFIG_OPTS) dh_auto_build make install prefix=$(DEST_DIR_MPI) make clean echo "Step3: mpi version end" # version with inverse symmetry with mpi echo "Step4: mpi inv version start" #XXX dh_auto_configure -- --with-mpi --with-inv-symmetry $(CONFIG_OPTS) F77=gfortran CC=mpicc ./configure --with-mpi --with-inv-symmetry $(CONFIG_OPTS) dh_auto_build echo "Step4: mpi inv version end" make install prefix=$(DEST_DIR_MPI) #make clean <- still needed in dh_auto_install # clear depdenncy_libs in *.la sed -i "/dependency_libs/ s/'.*'/''/" `find $(LA_DIR)/* -name '*.la'` # create mpbi-data.1 cp $(DEST_DIR)/share/man/man1/mpb-data.1 $(DEST_DIR)/share/man/man1/mpbi-data.1 override_dh_auto_install: # last build is for inv + mpi dh_auto_install rm -f config.cache ../config.cache override_dh_auto_test: # tests are done during build, so nothing to do here get-orig-source: mkdir -p ../tarballs uscan --verbose --force-download --destdir=../tarballs #######!/usr/bin/make -f #### Sample debian/rules that uses debhelper. #### GNU copyright 1997 to 1999 by Joey Hess. ### #### 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) ### ###src_toplevel = $(shell pwd) ### ###DEST_DIR = $(CURDIR)/debian/mpb/usr ###DEST_DIR_MPI = $(CURDIR)/debian/mpb-mpi/usr ###BUILD_DIR = $(CURDIR)/debian/build ###BUILD_DIR_INV = $(CURDIR)/debian/buildi ###BUILD_DIR_MPI = $(CURDIR)/debian/buildm ###BUILD_DIR_MPI_INV = $(CURDIR)/debian/buildmi ### ### ###CONFIG_OPTS = --build=$(DEB_BUILD_GNU_TYPE) \ ### --cache-file=../config.cache \ ### --prefix=/usr \ ### --mandir=\$${prefix}/share/man \ ### --with-libctl=/usr/share/libctl ### ###plop = $(shell test -f /usr/lib/atlas/liblapack.so && echo plop) ###ifeq ($(plop),plop) ### CONFIG_OPTS += --with-lapack=/usr/lib/atlas/liblapack.so ###endif ### ###clean: ### dh_testdir ### dh_testroot ### dh_clean debian/config.cache config.sub config.guess stamp-h \ ### autotools-stamp *-normal-stamp *-inv-stamp \ ### *-mpi-stamp *-mpi-inv-stamp ### rm -rf $(BUILD_DIR) $(BUILD_DIR_INV) \ ### $(BUILD_DIR_MPI) $(BUILD_DIR_MPI_INV) ### #### Configuration ### ###autotools-stamp: ### dh_testdir ### rm -f config.sub config.guess ### ln -s /usr/share/misc/config.sub config.sub ### ln -s /usr/share/misc/config.guess config.guess ### touch autotools-stamp ### ###configure: configure-normal-stamp configure-inv-stamp configure-mpi-stamp configure-mpi-inv-stamp ### ###configure-normal-stamp: autotools-stamp ### dh_testdir ### mkdir -p $(BUILD_DIR) ### ( cd $(BUILD_DIR) && F77=gfortran ../../configure $(CONFIG_OPTS) ) ### touch configure-normal-stamp ###configure-inv-stamp: autotools-stamp ### dh_testdir ### mkdir -p $(BUILD_DIR_INV) ### ( cd $(BUILD_DIR_INV) && F77=gfortran ../../configure --with-inv-symmetry $(CONFIG_OPTS) ) ### touch configure-inv-stamp ###configure-mpi-stamp: autotools-stamp ### dh_testdir ### mkdir -p $(BUILD_DIR_MPI) ### ( cd $(BUILD_DIR_MPI) && F77=gfortran ../../configure --with-mpi $(CONFIG_OPTS) ) ### touch configure-mpi-stamp ###configure-mpi-inv-stamp: autotools-stamp ### dh_testdir ### mkdir -p $(BUILD_DIR_MPI_INV) ### ( cd $(BUILD_DIR_MPI_INV) && F77=gfortran ../../configure --with-mpi --with-inv-symmetry $(CONFIG_OPTS) ) ### touch configure-mpi-inv-stamp ### #### Build ### ###build: build-arch build-indep ###build-arch: build-normal-stamp build-inv-stamp build-mpi-stamp build-mpi-inv-stamp ###build-indep: build-normal-stamp build-inv-stamp build-mpi-stamp build-mpi-inv-stamp ### ###build-normal-stamp: configure-normal-stamp ### dh_testdir ### ( cd $(BUILD_DIR) && $(MAKE) ) ### touch build-normal-stamp ###build-inv-stamp: configure-inv-stamp ### dh_testdir ### ( cd $(BUILD_DIR_INV) && $(MAKE) ) ### touch build-inv-stamp ###build-mpi-stamp: configure-mpi-stamp ### dh_testdir ### ( cd $(BUILD_DIR_MPI) && $(MAKE) ) ### touch build-mpi-stamp ###build-mpi-inv-stamp: configure-mpi-inv-stamp ### dh_testdir ### ( cd $(BUILD_DIR_MPI_INV) && $(MAKE) ) ### touch build-mpi-inv-stamp ### #### Installation ### ###install: install-doc install-bin ### ###install-doc: ### dh_testdir ### dh_testroot ### dh_installdirs -i ### dh_install -i ### ###install-bin: build ### dh_testdir ### dh_testroot ### dh_installdirs -a ### ( cd $(BUILD_DIR) && $(MAKE) install prefix=$(DEST_DIR) ) ### ( cd $(BUILD_DIR_INV) && $(MAKE) install prefix=$(DEST_DIR) ) ### ( cd $(BUILD_DIR_MPI) && $(MAKE) install prefix=$(DEST_DIR_MPI) ) ### ( cd $(BUILD_DIR_MPI_INV) && $(MAKE) install prefix=$(DEST_DIR_MPI) ) ### rm -rf $(DEST_DIR_MPI)/share ### #### Build architecture-independent files here. ###binary-indep: install-doc ### dh_testdir -i ### dh_testroot -i ### dh_installdocs -i ### dh_installexamples -i ### dh_installman -i ### dh_installchangelogs -i ChangeLog ### dh_link -i ### dh_compress -i ### dh_fixperms -i ### dh_installdeb -i ### dh_perl -i ### dh_gencontrol -i ### dh_md5sums -i ### dh_builddeb -i ### #### Build architecture-dependent files here. ###binary-arch: install-bin ### dh_testdir -a ### dh_testroot -a ### dh_installdocs -a ### dh_installexamples -a ### dh_installmenu -a ### dh_installcron -a ### dh_installman -a ### dh_installchangelogs -a ChangeLog ### dh_link -a ### dh_strip -a ### dh_compress -a ### dh_fixperms -a ### dh_installdeb -a ### dh_shlibdeps -a ### dh_gencontrol -a ### dh_md5sums -a ### dh_builddeb -a ### ###binary: binary-indep binary-arch ### ###.PHONY: clean configure build install install-doc install-bin binary-indep binary-arch binary ###