Version 4.0.1
[clsql/s11.git] / debian / rules
blob9068b4e841186e35f40a2c3006d93ee474d0ff52
1 #!/usr/bin/make -f
3 plain-pkg := clsql
5 pkg := cl-sql
6 pkg-uffi := cl-sql-uffi
7 pkg-mysql := cl-sql-mysql
8 pkg-pg := cl-sql-postgresql
9 pkg-pg-socket := cl-sql-postgresql-socket
10 pkg-aodbc := cl-sql-aodbc
11 pkg-odbc := cl-sql-odbc
12 pkg-sqlite := cl-sql-sqlite
13 pkg-sqlite3 := cl-sql-sqlite3
14 pkg-oracle := cl-sql-oracle
15 pkg-tests := cl-sql-tests
16 all-pkgs := $(pkg) $(pkg-uffi) $(pkg-mysql) $(pkg-pg) $(pkg-pg-socket) $(pkg-aodbc) $(pkg-odbc) $(pkg-sqlite) $(pkg-sqlite3) $(pkg-tests)
19 UPSTREAM_VER := $(shell sed -n -e "s/${pkg} (\(.*\)-[0-9A-Za-z\.]).*/\1/p" < debian/changelog |head -1)
21 ## Lisp sources
22 srcs := $(wildcard sql/*.lisp) clsql.asd
23 srcs-uffi := $(wildcard uffi/*.lisp) $(wildcard uffi/*.c)
24 srcs-uffi-so = $(wildcard uffi/*.so)
25 srcs-mysql := $(wildcard db-mysql/*.lisp) $(wildcard db-mysql/*.c)
26 srcs-mysql-so = $(wildcard db-mysql/*.so)
27 srcs-pg := $(wildcard db-postgresql/*.lisp)
28 srcs-pg-socket := $(wildcard db-postgresql-socket/*.lisp)
29 srcs-aodbc := $(wildcard db-aodbc/*.lisp)
30 srcs-odbc := $(wildcard db-odbc/*.lisp)
31 srcs-sqlite := $(wildcard db-sqlite/*.lisp)
32 srcs-sqlite3 := $(wildcard db-sqlite3/*.lisp)
33 srcs-oracle := $(wildcard db-oracle/*.lisp)
34 srcs-tests := $(wildcard tests/*.lisp)
36 clc-base := usr/share/common-lisp
37 clc-source := $(clc-base)/source
38 clc-systems := $(clc-base)/systems
39 doc-dir := usr/share/doc/cl-sql
41 clc-clsql := $(clc-source)/$(plain-pkg)
43 clc-sql := $(clc-source)/clsql
44 lispdir-sql := $(clc-sql)/sql
45 clc-uffi := $(clc-source)/clsql-uffi
46 lispdir-uffi := $(clc-uffi)/uffi
47 sodir-uffi := usr/lib/clsql
48 clc-mysql := $(clc-source)/clsql-mysql
49 lispdir-mysql := $(clc-mysql)/db-mysql
50 sodir-mysql := usr/lib/clsql
51 clc-pg := $(clc-source)/clsql-postgresql
52 lispdir-pg := $(clc-pg)/db-postgresql
53 clc-pg-socket := $(clc-source)/clsql-postgresql-socket
54 lispdir-pg-socket := $(clc-pg-socket)/db-postgresql-socket
55 clc-aodbc := $(clc-source)/clsql-aodbc
56 lispdir-aodbc := $(clc-aodbc)/db-aodbc
57 clc-odbc := $(clc-source)/clsql-odbc
58 lispdir-odbc := $(clc-odbc)/db-odbc
59 clc-sqlite := $(clc-source)/clsql-sqlite
60 lispdir-sqlite := $(clc-sqlite)/db-sqlite
61 clc-sqlite3 := $(clc-source)/clsql-sqlite3
62 lispdir-sqlite3 := $(clc-sqlite3)/db-sqlite3
63 clc-oracle := $(clc-source)/clsql-oracle
64 lispdir-oracle := $(clc-oracle)/db-oracle
65 clc-tests := $(clc-source)/clsql-tests
66 lispdir-tests := $(clc-tests)/tests
68 configure: configure-stamp
69 configure-stamp:
70 dh_testdir
71 touch configure-stamp
74 build-arch: configure-stamp build-arch-stamp
75 build-arch-stamp:
76 dh_testdir
77 $(MAKE)
78 touch build-arch-stamp
80 build-indep: configure-stamp build-indep-stamp
81 build-indep-stamp:
82 dh_testdir
83 touch build-indep-stamp
85 build: build-arch build-indep
87 clean:
88 dh_testdir
89 dh_testroot
90 rm -f build-arch-stamp build-indep-stamp configure-stamp
91 [ ! -f Makefile ] || $(MAKE) distclean
92 find . -type f -and -name \*~ -or -name .\*~ -exec rm -f {} \;
93 dh_clean
95 install: DH_OPTIONS=
96 install: build
97 dh_testdir
98 dh_testroot
99 dh_clean -k
100 dh_installdirs
102 dh_installdirs --all $(clc-systems) $(clc-source)
103 dh_installdirs -p $(pkg) $(lispdir-sql) etc
104 dh_installdirs -p $(pkg-uffi) $(lispdir-uffi) $(sodir-uffi)
105 dh_installdirs -p $(pkg-pg) $(lispdir-pg)
106 dh_installdirs -p $(pkg-pg-socket) $(lispdir-pg-socket)
107 dh_installdirs -p $(pkg-mysql) $(lispdir-mysql) $(sodir-mysql)
108 dh_installdirs -p $(pkg-aodbc) $(lispdir-aodbc)
109 dh_installdirs -p $(pkg-odbc) $(lispdir-odbc)
110 dh_installdirs -p $(pkg-sqlite) $(lispdir-sqlite)
111 dh_installdirs -p $(pkg-sqlite3) $(lispdir-sqlite3)
112 dh_installdirs -p $(pkg-oracle) $(lispdir-oracle)
113 dh_installdirs -p $(pkg-tests) $(lispdir-tests)
115 # Main package
116 dh_install -p $(pkg) $(srcs) $(lispdir-sql)
117 dh_install -p $(pkg) clsql.asd $(clc-clsql)
118 dh_install -p $(pkg) debian/clsql-init.lisp etc
120 # UFFI
121 dh_install -p $(pkg-uffi) $(srcs-uffi) $(lispdir-uffi)
122 dh_install -p $(pkg-uffi) $(srcs-uffi-so) $(sodir-uffi)
123 dh_install -p $(pkg-uffi) clsql-uffi.asd $(clc-uffi)
125 # Backends
126 dh_install -p $(pkg-mysql) $(srcs-mysql) $(lispdir-mysql)
127 dh_install -p $(pkg-mysql) clsql-mysql.asd $(clc-mysql)
128 dh_install -p $(pkg-mysql) $(srcs-mysql-so) $(sodir-mysql)
129 dh_install -p $(pkg-pg) $(srcs-pg) $(lispdir-pg)
130 dh_install -p $(pkg-pg) clsql-postgresql.asd $(clc-pg)
131 dh_install -p $(pkg-pg-socket) $(srcs-pg-socket) $(lispdir-pg-socket)
132 dh_install -p $(pkg-pg-socket) clsql-postgresql-socket.asd $(clc-pg-socket)
133 dh_install -p $(pkg-aodbc) $(srcs-aodbc) $(lispdir-aodbc)
134 dh_install -p $(pkg-aodbc) clsql-aodbc.asd $(clc-aodbc)
135 dh_install -p $(pkg-odbc) $(srcs-odbc) $(lispdir-odbc)
136 dh_install -p $(pkg-odbc) clsql-odbc.asd $(clc-odbc)
137 dh_install -p $(pkg-sqlite) $(srcs-sqlite) $(lispdir-sqlite)
138 dh_install -p $(pkg-sqlite) clsql-sqlite.asd $(clc-sqlite)
139 dh_install -p $(pkg-sqlite3) $(srcs-sqlite3) $(lispdir-sqlite3)
140 dh_install -p $(pkg-sqlite3) clsql-sqlite3.asd $(clc-sqlite3)
141 dh_install -p $(pkg-oracle) $(srcs-oracle) $(lispdir-oracle)
142 dh_install -p $(pkg-oracle) clsql-oracle.asd $(clc-oracle)
144 dh_install -p $(pkg-tests) $(srcs-tests) $(lispdir-tests)
145 dh_install -p $(pkg-tests) clsql-tests.asd $(clc-tests)
147 # CLC Systems
148 dh_link -p $(pkg) $(clc-clsql)/clsql.asd $(clc-systems)/clsql.asd
149 dh_link -p $(pkg-uffi) $(clc-uffi)/clsql-uffi.asd $(clc-systems)/clsql-uffi.asd
150 dh_link -p $(pkg-mysql) $(clc-mysql)/clsql-mysql.asd $(clc-systems)/clsql-mysql.asd
151 dh_link -p $(pkg-pg) $(clc-pg)/clsql-postgresql.asd $(clc-systems)/clsql-postgresql.asd
152 dh_link -p $(pkg-pg-socket) $(clc-pg-socket)/clsql-postgresql-socket.asd $(clc-systems)/clsql-postgresql-socket.asd
153 dh_link -p $(pkg-aodbc) $(clc-aodbc)/clsql-aodbc.asd $(clc-systems)/clsql-aodbc.asd
154 dh_link -p $(pkg-odbc) $(clc-odbc)/clsql-odbc.asd $(clc-systems)/clsql-odbc.asd
155 dh_link -p $(pkg-sqlite) $(clc-sqlite)/clsql-sqlite.asd $(clc-systems)/clsql-sqlite.asd
156 dh_link -p $(pkg-sqlite3) $(clc-sqlite3)/clsql-sqlite3.asd $(clc-systems)/clsql-sqlite3.asd
157 dh_link -p $(pkg-oracle) $(clc-oracle)/clsql-oracle.asd $(clc-systems)/clsql-oracle.asd
158 dh_link -p $(pkg-tests) $(clc-tests)/clsql-tests.asd $(clc-systems)/clsql-tests.asd
160 # Documentation
161 rm -rf doc/html
162 (cd doc; tar xzf html.tar.gz; cd ..)
163 dh_install -p $(pkg) doc/html $(doc-dir)
164 rm -rf doc/html
165 cp doc/clsql.pdf doc/cl-sql.pdf
166 rm -f doc/cl-sql.pdf.gz
167 gzip doc/cl-sql.pdf
168 dh_install -p $(pkg) doc/cl-sql.pdf.gz $(doc-dir)
169 rm -f doc/cl-sql.pdf.gz
171 set -e ;\
172 for p in $(all-pkgs); do \
173 echo "processing maintainer scripts for $$p" ;\
174 l=`echo $$p | sed -e "s/^cl-/cl/;"` ;\
175 sed -e "s/%%/$$l/;" debian/preinst.template > debian/$$p.preinst ;\
176 sed -e "s/%%/$$l/;" debian/prerm.template > debian/$$p.prerm ;\
177 sed -e "s/%%/$$l/;" debian/postinst.template > debian/$$p.postinst ;\
178 chown root.root debian/$$p.prerm debian/$$p.prerm debian/$$p.preinst; \
179 chmod +x debian/$$p.prerm debian/$$p.prerm debian/$$p.preinst; \
180 done
183 binary-indep: build install
184 dh_testdir -i
185 dh_testroot -i
186 # dh_installdebconf -i
187 dh_installdocs -i
188 dh_installexamples -i examples/*
189 dh_installmenu -i
190 # dh_installlogrotate -i
191 # dh_installemacsen -i
192 # dh_installpam -i
193 # dh_installmime -i
194 # dh_installinit -i
195 dh_installcron -i
196 # dh_installman -i
197 dh_installinfo -i
198 # dh_undocumented -i
199 dh_installchangelogs ChangeLog -i
200 dh_link -i
201 dh_compress -i
202 dh_fixperms -i
203 # dh_makeshlibs -i
204 dh_installdeb -i
205 # dh_perl -i
206 dh_gencontrol -i
207 dh_md5sums -i
208 dh_builddeb -i
210 # Build architecture-dependent files here.
211 binary-arch: build install
212 dh_testdir -a
213 dh_testroot -a
214 # dh_installdebconf -a
215 dh_installdocs -a
216 dh_installexamples -a
217 dh_installmenu -a
218 # dh_installlogrotate -a
219 # dh_installemacsen -a
220 # dh_installpam -a
221 # dh_installmime -a
222 # dh_installinit -a
223 dh_installcron -a
224 # dh_installman -a
225 dh_installinfo -a
226 # dh_undocumented -a
227 dh_installchangelogs ChangeLog -a
228 dh_strip -a
229 dh_link -a
230 dh_compress -a
231 dh_fixperms -a
232 # dh_makeslhibs -a
233 dh_installdeb -a
234 # dh_perl -a
235 dh_shlibdeps -a
236 dh_gencontrol -a
237 dh_md5sums -a
238 dh_builddeb -a
240 binary: binary-indep binary-arch
242 .PHONY: build clean binary-indep binary-arch binary install configure