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 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
|
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
SHELL := bash
# 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)
MODULES := MySQL ODBC PostgreSQL SQLite SQLite3
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
INCDIRS="-I/usr/include/mysql -I/usr/include/postgresql -I$$PWD/src/HSQL"
# shared library versions, option 1
version=1.6
# 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)}'`
config.status: configure
dh_testdir
# Add here commands to configure the package.
#CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
build: build-stamp
build-stamp:
dh_testdir
# Add here commands to compile the package.
#$(MAKE)
# First, build the HSQL module.
cd HSQL && ln -s ../debian
cd HSQL && dh_haskell_prep -plibghc6-hsql-dev
cd HSQL && dh_haskell_build -plibghc6-hsql-dev
# Register HSQL
sed 's,/usr/lib/haskell-packages/ghc6/lib/hsql-$(version)/ghc-[0-9.]*,$(CURDIR)/HSQL/dist/build,g' < HSQL/.installed-pkg-config > debian/tmp-installed-pkg
echo '[]' > debian/tmp-package-conf
ghc-pkg --force -f debian/tmp-package-conf register debian/tmp-installed-pkg
# Now, build the other modules.
for MOD in $(MODULES); do bash debian/buildmod.sh $$MOD; done
# Now, prep the others.
cd MySQL && dh_haskell_prep -plibghc6-hsql-mysql-dev
cd ODBC && dh_haskell_prep -plibghc6-hsql-odbc-dev
cd PostgreSQL && dh_haskell_prep -plibghc6-hsql-postgresql-dev
cd SQLite && dh_haskell_prep -plibghc6-hsql-sqlite-dev
cd SQLite3 && dh_haskell_prep -plibghc6-hsql-sqlite3-dev
# Now, build docs.
-mkdir doc
-mkdir doctmp
for MOD in HSQL $(MODULES); do pushd $$MOD; cp -r Database ../doctmp; popd; done
mv doctmp/Database/HSQL/Types.hs doctmp/Database/HSQL/Typesi.hs
cpphs --noline doctmp/Database/HSQL/Typesi.hs > doctmp/Database/HSQL/Types.hs
cd doctmp && haddock -h -o ../doc -t HSQL \
Database/HSQL.hs Database/HSQL/Types.hs \
Database/HSQL/{MySQL,ODBC,PostgreSQL,SQLite,SQLite3}.hs
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp
for ASDF in HSQL $(MODULES); do pushd $$ASDF; ./setup clean; popd; done
-rm -rf */setup */Setup.hi */Setup.ho */Setup.o */.*config* */dist doc doctmp
-rm -f debian/tmp-* */debian
-rm -f */*.buildinfo
# Add here commands to clean up after the build process.
-$(MAKE) distclean
rm -rf btree
dh_clean
#-rm config.guess config.sub
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
#cp -f /usr/share/misc/config.sub config.sub
endif
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
#cp -f /usr/share/misc/config.guess config.guess
endif
dh_clean
install: build
dh_testdir
dh_testroot
#dh_clean -k
dh_installdirs -a
# Add here commands to install the package into debian/tmp
#$(MAKE) install prefix=$(CURDIR)/debian/tmp/usr
# dh_haskell -a
cd HSQL && dh_haskell_install -plibghc6-hsql-dev
cd MySQL && dh_haskell_install -plibghc6-hsql-mysql-dev
cd ODBC && dh_haskell_install -plibghc6-hsql-odbc-dev
cd PostgreSQL && dh_haskell_install -plibghc6-hsql-postgresql-dev
cd SQLite && dh_haskell_install -plibghc6-hsql-sqlite-dev
cd SQLite3 && dh_haskell_install -plibghc6-hsql-sqlite3-dev
# Build architecture-independent files here.
binary-indep: build install
dh_testdir
dh_testroot
dh_installchangelogs -i
dh_installdocs -i
dh_installexamples -i examples/*
# dh_install
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_installinit
# dh_installcron
# dh_installinfo
dh_installman -i
dh_link -i
dh_strip -i
dh_compress -i
dh_fixperms -i
# dh_perl
# dh_python
# dh_makeshlibs
dh_installdeb -i
dh_shlibdeps -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs -a
dh_installdocs -a
dh_installexamples -a
# dh_install
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_installinit
# dh_installcron
# dh_installinfo
dh_installman -a
dh_link -a
dh_strip -a
dh_compress -a
dh_fixperms -a
# dh_perl
# dh_python
# dh_makeshlibs
dh_installdeb -a
dh_shlibdeps -a
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
|