1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
#!/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
# This is the debhelper compatability version to use.
export DH_COMPAT=4
headers = err.h machine.h matrix.h meminfo.h sparse.h zmatrix.h \
iter.h matlab.h matrix2.h oldnames.h sparse2.h zmatrix2.h
torm = macheps maxint torture sptort ztorture meschach.a libmeschach.a
# shared library versions, option 1
# (version=1.2)
version=$(shell expr `pwd` : '.*-\([0-9.]*\)')
# (major=1)
major=$(shell expr `pwd` : '.*-\([0-9]*\).[0-9.]*')
# option 2, assuming the library is created as src/.libs/libfoo.so.2.0.5 or so
#version=`ls src/.libs/lib*.so.* | \
# awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
#major=`ls src/.libs/lib*.so.* | \
# awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`
configure: configure-stamp
configure-stamp:
dh_testdir
# Add here commands to configure the package.
./configure --prefix=/usr --mandir=\$${prefix}/share/man --with-all
touch configure-stamp
build: configure-stamp build-stamp
build-stamp:
dh_testdir
# Add here commands to compile the package.
$(MAKE) vers=$(version) CC=$(CC) CFLAGS="-O3 -fPIC -D_REENTRANT" shared
$(MAKE) clean
$(MAKE) vers=$(version) CC=$(CC) CFLAGS="-O3 -D_REENTRANT" static
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
# Add here commands to clean up after the build process.
-$(MAKE) realclean
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# Add here commands to install the package into debian/meschach.
# $(MAKE) install prefix=$(CURDIR)/debian/meschach/usr
install -d debian/meschach/usr/lib/
cp libmeschach.so debian/meschach/usr/lib/libmeschach.so.$(version)
ln -s libmeschach.so.$(version) debian/meschach/usr/lib/libmeschach.so.$(major)
install -d debian/meschach-dev/usr/lib/
cp libmeschach.a debian/meschach-dev/usr/lib/libmeschach.a
ln -s libmeschach.so.$(version) debian/meschach-dev/usr/lib/libmeschach.so
install -d debian/meschach-dev/usr/include/meschach
cp $(headers) debian/meschach-dev/usr/include/meschach
# 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 meschach package by moving files from meschach-dev
#
# dh_movefiles --sourcedir=debian/meschach -plibmeschach \
# usr/lib/libmeschach.so
dh_installdocs
dh_installexamples -pmeschach-dev tut*.c *tort*.c *.dat
# dh_undocumented
dh_installchangelogs
dh_link
dh_strip
dh_compress
dh_fixperms
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 configure
|