r2140: *** empty log message ***
[clsql.git] / debian / rules
1 #!/usr/bin/make -f
2 # Sample debian/rules that uses debhelper.
3 # GNU copyright 1997 to 1999 by Joey Hess.
4
5 # Uncomment this to turn on verbose mode.
6 export DH_VERBOSE=1
7
8 # This is the debhelper compatibility version to use.
9 export DH_COMPAT=3
10
11 pkg             := cl-sql
12 pkg-base        := cl-sql-base
13 pkg-mysql       := cl-sql-mysql
14 pkg-pg          := cl-sql-postgresql
15 pkg-pg-socket   := cl-sql-postgresql-socket
16 pkg-aodbc       := cl-sql-aodbc
17 all-pkgs        := $(pkg) $(pkg-base) $(pkg-mysql) $(pkg-pg) $(pkg-pg-socket) $(pkg-aodbc)
18
19 prefix          := debian/$(pkg)
20 prefix-base     := debian/$(pkg-base)
21 prefix-mysql    := debian/$(pkg-mysql)
22 prefix-pg       := debian/$(pkg-pg)
23 prefix-pg-socket := debian/$(pkg-pg-socket)
24 prefix-aodbc    := debian/$(pkg-aodbc)
25
26 ## Lisp sources
27 srcs            := $(wildcard sql/*.cl)
28 srcs-base       := $(wildcard base/*.cl)
29 srcs-base-uffi  := $(wildcard interfaces/clsql-uffi/*.cl) 
30 srcs-base-uffi-so:= $(wildcard interfaces/clsql-uffi/*.so)
31 srcs-mysql      := $(wildcard interfaces/mysql/*.cl)
32 srcs-mysql-so   :=  $(wildcard interfaces/mysql/*.so)
33 srcs-pg         := $(wildcard interfaces/postgresql/*.cl)
34 srcs-pg-socket  := $(wildcard interfaces/postgresql-socket/*.cl)
35 srcs-aodbc      := $(wildcard interfaces/aodbc/*.cl)
36
37 INSTALL := install
38 INSTALLFLAGS    := -g root -o root -m 0644
39 INSTALLEXECFLAGS        := -g root -o root -m 0755
40 INSTALLDIRFLAGS := -d -g root -o root -m 0755
41
42 clc-base        := usr/share/common-lisp
43 clc-source      := $(clc-base)/source
44 clc-systems     := $(clc-base)/systems
45 doc-dir         := $(prefix)/usr/share/doc/cl-sql
46
47
48 configure: configure-stamp
49 configure-stamp:
50         dh_testdir
51         # Add here commands to configure the package.
52         touch configure-stamp
53
54
55 build: build-stamp
56
57 build-stamp: configure-stamp 
58         dh_testdir
59         # Compile helper libraries
60         $(MAKE)
61         touch build-stamp
62
63 clean:
64         dh_testdir
65         dh_testroot
66         rm -f build-stamp configure-stamp
67         # Add here commands to clean up after the build process.
68         $(MAKE) clean
69         dh_clean
70
71 install: build
72         dh_testdir
73         dh_testroot
74         dh_clean -k
75         dh_installdirs
76
77         # Main package
78         $(INSTALL) $(INSTALLFLAGS) $(srcs) $(prefix)/$(clc-source)/clsql/sql
79
80         # Base
81         $(INSTALL) $(INSTALLFLAGS) $(srcs-base) $(prefix-base)/$(clc-source)/clsql/base
82         $(INSTALL) $(INSTALLFLAGS) $(srcs-base-uffi) $(prefix-base)/$(clc-source)/clsql/interfaces/clsql-uffi
83         $(INSTALL) $(INSTALLEXECFLAGS) $(srcs-base-uffi-so) $(prefix-base)/$(clc-source)/clsql/interfaces/clsql-uffi
84
85         $(INSTALL) $(INSTALLFLAGS) $(srcs-mysql) $(prefix-mysql)/$(clc-source)/clsql/interfaces/mysql
86         $(INSTALL) $(INSTALLEXECFLAGS) $(srcs-mysql-so) $(prefix-mysql)/$(clc-source)/clsql/interfaces/mysql
87         $(INSTALL) $(INSTALLFLAGS) $(srcs-pg) $(prefix-pg)/$(clc-source)/clsql/interfaces/postgresql
88         $(INSTALL) $(INSTALLFLAGS) $(srcs-pg-socket) $(prefix-pg-socket)/$(clc-source)/clsql/interfaces/postgresql-socket
89         $(INSTALL) $(INSTALLFLAGS) $(srcs-aodbc) $(prefix-aodbc)/$(clc-source)/clsql/interfaces/aodbc
90
91         # CLC Systems
92         $(INSTALL) $(INSTALLFLAGS) clsql.system $(prefix)/$(clc-systems)/
93         $(INSTALL) $(INSTALLFLAGS) clsql-base.system clsql-uffi.system $(prefix-base)/$(clc-systems)/
94         $(INSTALL) $(INSTALLFLAGS) clsql-mysql.system $(prefix-mysql)/$(clc-systems)/
95         $(INSTALL) $(INSTALLFLAGS) clsql-postgresql.system $(prefix-pg)/$(clc-systems)/
96         $(INSTALL) $(INSTALLFLAGS) clsql-postgresql-socket.system $(prefix-pg-socket)/$(clc-systems)/
97         $(INSTALL) $(INSTALLFLAGS) clsql-aodbc.system $(prefix-aodbc)/$(clc-systems)/
98
99         # Test suite
100         $(INSTALL) $(INSTALLFLAGS) test-suite/tester-clsql.cl test-suite/acl-compat-tester.cl $(doc-dir)/test-suite
101
102         # Documentation
103         $(INSTALL) $(INSTALLFLAGS) doc/html/* $(doc-dir)/html
104         cp doc/clsql.pdf doc/cl-sql.pdf
105         rm -f doc/cl-sql.pdf.gz
106         gzip doc/cl-sql.pdf
107         $(INSTALL) $(INSTALLFLAGS) doc/cl-sql.pdf.gz $(doc-dir)
108         rm -f doc/cl-sql.pdf.gz
109
110 #       From UncommonSQL Debian package: build prerm postinst from templates
111         set -e ;\
112         for p in $(all-pkgs); do \
113                 echo "processing maintainer scripts for $$p" ;\
114                 l=`echo $$p | sed -e "s/^cl-/cl/;"` ;\
115                 sed -e "s/%%/$$l/;" debian/prerm.template > debian/$$p.prerm ;\
116                 sed -e "s/%%/$$l/;" debian/postinst.template > debian/$$p.postinst ;\
117         done
118
119
120 # Build architecture-independent files here.
121 binary-indep: build install
122
123
124
125 # Build architecture-dependent files here.
126 binary-arch: build install
127         dh_testdir
128         dh_testroot
129 #       dh_installdebconf       
130         dh_installdocs
131 #       dh_installexamples 
132         dh_installchangelogs ChangeLog
133         dh_strip
134         dh_compress
135         dh_fixperms
136 #       dh_makeshlibs
137         dh_installdeb
138 #       dh_perl
139         dh_shlibdeps
140         dh_gencontrol
141         dh_md5sums
142         dh_builddeb
143
144 binary: binary-indep binary-arch
145 .PHONY: build clean binary-indep binary-arch binary install configure