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
|
#!/usr/bin/make -f
# -*- makefile -*-
# 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
CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
INSTALL_PROGRAM += -s
endif
# shared library versions, option 1
version=3.0.0
major=3
# 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
touch configure-stamp
build: build-stamp
build-stamp: configure-stamp
dh_testdir
-mkdir -p shared/SRC static/SRC
#
# First build the shared library
#
cd shared/SRC ; \
srcdir=../../SRC; \
$(MAKE) -f $$srcdir/Makefile -I $$srcdir VPATH="$$srcdir" srcdir="$srcdir" NOOPTS="-fPIC" CFLAGS="-O3 -fPIC -pipe" DEBUGFLAGS="-DNDEBUG" ; \
gcc -shared -Wl,-soname,libsuperlu.so.$(major) -o libsuperlu.so.$(version) `ls *.o` -lblas -lm
cd static/SRC ; \
srcdir=../../SRC; \
$(MAKE) -f $$srcdir/Makefile -I $$srcdir VPATH="$$srcdir" srcdir="$$srcdir" CFLAGS="-O3 -pipe" DEBUGFLAGS="-DNDEBUG" LDFLAGS="-s" ;
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
-rm -rf shared static
-$(MAKE) clean
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
( cd shared/SRC && ln -sf libsuperlu.so.$(version) libsuperlu.so.$(major) )
( cd shared/SRC && ln -sf libsuperlu.so.$(version) libsuperlu.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
dh_installchangelogs
dh_installdocs
dh_install -X.svn
dh_link
dh_strip
dh_compress -X.c -XMakefile
dh_fixperms
dh_makeshlibs -V
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
|