#!/usr/bin/make -f #-*- makefile -*- # Made with the aid of dh_make, by Craig Small # Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess. # Also some stuff taken from debmake scripts, by Christoph Lameter. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # This is the debhelper compatability version to use. #export DH_COMPAT=1 # OpenMPI is only supported on a subset of architectures at this time. # This list should remain synced with the Build-Depends and the Architecture # line of netpipe-openmpi in debian/control. OPENMPI_ARCH = alpha amd64 armel armhf arm64 i386 ia64 powerpc powerpcspe ppc64el sparc sparc64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS) CC := cc $(LDFLAGS) CFLAGS := $(shell dpkg-buildflags --get CPPFLAGS; dpkg-buildflags --get CFLAGS) build: build-arch build-indep build-arch: build-stamp build-indep: build-stamp build-stamp: dh_testdir $(MAKE) tcp CC="$(CC)" CFLAGS="$(CFLAGS)" cp debian/netpipe.1 NPtcp.1 $(MAKE) pvm CC="$(CC)" CFLAGS="$(CFLAGS)" cp debian/netpipe.1 NPpvm.1 $(MAKE) mpi MPICC="mpicc.lam $(LDFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" mv NPmpi NPlam cp debian/netpipe.1 NPlam.1 ifneq (,$(findstring $(DEB_HOST_ARCH),$(OPENMPI_ARCH))) $(MAKE) mpi MPICC="mpicc.openmpi $(LDFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" mv NPmpi NPopenmpi cp debian/netpipe.1 NPopenmpi.1 endif # $(MAKE) mpi MPICC=mpicc.mpich # mv NPmpi NPmpich # cp debian/netpipe.1 NPmpich.1 $(MAKE) mpi MPICC="mpicc.mpich $(LDFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" mv NPmpi NPmpich2 cp debian/netpipe.1 NPmpich2.1 # MPI2_INC not necessary, but must not be empty $(MAKE) mpi2 MPI2CC="mpicc.lam $(LDFLAGS)" MPI2_INC=./ CC="$(CC)" CFLAGS="$(CFLAGS)" mv NPmpi2 NPlam2 cp debian/netpipe.1 NPlam2.1 ifneq (,$(findstring $(DEB_HOST_ARCH),$(OPENMPI_ARCH))) $(MAKE) mpi2 MPI2CC="mpicc.openmpi $(LDFLAGS)" MPI2_INC=./ CC="$(CC)" CFLAGS="$(CFLAGS)" mv NPmpi2 NPopenmpi2 cp debian/netpipe.1 NPopenmpi2.1 endif touch build-stamp clean: dh_testdir dh_testroot rm -f build-stamp install-stamp $(MAKE) clean for i in tcp lam lam2 openmpi openmpi2 mpich mpich2 pvm; do rm -f NP$${i}*; done # rm -f NPtcp.1 NPlam.1 NPopenmpi.1 NPmpich.1 NPmpich2.1 NPopenmpi2.1 NPpvm.1 # rm -f NPtcp NPopenmpi NPmpich NPopenmpi2 NPlam2 NPpvm NPmpich2 NPlam dh_clean install: install-stamp install-stamp: build-stamp dh_testdir dh_testroot dh_prep dh_installdirs mkdir -p debian/tmp/usr/bin cp NPtcp NPlam NPlam2 NPmpich2 NPpvm `pwd`/debian/tmp/usr/bin # NPmpich ifneq (,$(findstring $(DEB_HOST_ARCH),$(OPENMPI_ARCH))) cp NPopenmpi NPopenmpi2 `pwd`/debian/tmp/usr/bin endif dh_movefiles touch install-stamp # Build architecture-independent files here. binary-indep: build install # dh_testversion dh_testdir -i dh_testroot -i dh_installdocs -i dh_installexamples -i dh_installmenu -i # dh_installemacsen -i # dh_installpam -i # dh_installinit -i dh_installcron -i # dh_installmanpages -i dh_installinfo -i # dh_undocumented dh_installchangelogs -i 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: build install # dh_testversion dh_testdir -a dh_testroot -a dh_installdocs -a dh_installexamples -a dh_installmenu -a # dh_installemacsen -a # dh_installpam -a # dh_installinit -a dh_installcron -a dh_installman -a # dh_installmanpages -pnetpipe-openmpi NPtcp.1 NPmpich.1 NPpvm.1 netpipe.1 # dh_installmanpages -pnetpipe-pvm NPtcp.1 NPmpich.1 NPopenmpi.1 NPopenmpi2.1 netpipe.1 # dh_installmanpages -pnetpipe-tcp NPmpich.1 NPopenmpi.1 NPopenmpi2.1 NPpvm.1 netpipe.1 # dh_installmanpages -pnetpipe-mpich NPtcp.1 NPopenmpi.1 NPopenmpi2.1 NPpvm.1 netpipe.1 dh_installinfo -a # dh_undocumented dh_installchangelogs -a dh_strip -a dh_link -a dh_compress -a dh_fixperms -a dh_installdeb -a # dh_makeshlibs -a # dh_perl -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a source diff: @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false binary: binary-arch .PHONY: build clean binary-indep binary-arch binary install