r2160: *** 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=4
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 UPSTREAM_VER    := $(shell sed -n -e "s/${pkg} (\(.*\)-[0-9.]).*/\1/p" < debian/changelog |head -1)
27
28 ## Lisp sources
29 srcs            := $(wildcard sql/*.cl)
30 srcs-base       := $(wildcard base/*.cl)
31 srcs-base-uffi  := $(wildcard interfaces/clsql-uffi/*.cl) 
32 srcs-base-uffi-so:= $(wildcard interfaces/clsql-uffi/*.so)
33 srcs-mysql      := $(wildcard interfaces/mysql/*.cl)
34 srcs-mysql-so   :=  $(wildcard interfaces/mysql/*.so)
35 srcs-pg         := $(wildcard interfaces/postgresql/*.cl)
36 srcs-pg-socket  := $(wildcard interfaces/postgresql-socket/*.cl)
37 srcs-aodbc      := $(wildcard interfaces/aodbc/*.cl)
38
39 INSTALL := install
40 INSTALLFLAGS    := -g root -o root -m 0644
41 INSTALLEXECFLAGS        := -g root -o root -m 0755
42 INSTALLDIRFLAGS := -d -g root -o root -m 0755
43
44 clc-base        := usr/share/common-lisp
45 clc-source      := $(clc-base)/source
46 clc-systems     := $(clc-base)/systems
47 doc-dir         := $(prefix)/usr/share/doc/cl-sql
48
49 clc-clsql       := $(clc-source)/$(pkg)-$(UPSTREAM_VER)
50
51 lispdir         := $(prefix)/$(clc-clsql)
52 lispdir-sql     := $(prefix)/$(clc-clsql)/sql
53 lispdir-base    := $(prefix-base)/$(clc-clsql)/base
54 lispdir-base-uffi := $(prefix-base)/$(clc-clsql)/interfaces/clsql-uffi
55 lispdir-mysql   := $(prefix-mysql)/$(clc-clsql)/mysql
56 lispdir-pg      := $(prefix-pg)/$(clc-clsql)/postgresql
57 lispdir-pg-socket := $(prefix-pg-socket)/$(clc-clsql)/postgresql-socket
58 lispdir-aodbc   := $(prefix-aodbc)/$(clc-clsql)/aodbc
59
60
61 configure: configure-stamp
62 configure-stamp:
63         dh_testdir
64         # Add here commands to configure the package.
65         touch configure-stamp
66
67
68 build: build-stamp
69
70 build-stamp: configure-stamp 
71         dh_testdir
72         # Compile helper libraries
73         $(MAKE)
74         touch build-stamp
75
76 clean:
77         dh_testdir
78         dh_testroot
79         rm -f build-stamp configure-stamp
80         # Add here commands to clean up after the build process.
81         $(MAKE) clean
82         dh_clean
83
84 install: build
85         dh_testdir
86         dh_testroot
87         dh_clean -k
88         dh_installdirs --all  $(clc-systems) $(clc-source)
89
90         $(INSTALL) $(INSTALLDIRFLAGS) $(lispdir) $(lispdir-base) \
91                 $(lispdir-base-uffi) $(lispdir-pg) $(lispdir-pg-socket) \
92                 $(lispdir-mysql) $(lispdir-sql) $(lispdir-aodbc)
93
94         # Main package
95         $(INSTALL) $(INSTALLDIRFLAGS) $(lispdir) $(lispdir-int)
96         $(INSTALL) $(INSTALLFLAGS) $(srcs) $(lispdir-sql)
97
98         # Base
99         $(INSTALL) $(INSTALLFLAGS) $(srcs-base) $(lispdir-base)
100         $(INSTALL) $(INSTALLFLAGS) $(srcs-base-uffi) $(lispdir-base-uffi)
101         $(INSTALL) $(INSTALLEXECFLAGS) $(srcs-base-uffi-so) $(lispdir-base-uffi)
102
103         $(INSTALL) $(INSTALLFLAGS) $(srcs-mysql) $(lispdir-mysql)
104         $(INSTALL) $(INSTALLEXECFLAGS) $(srcs-mysql-so) $(lispdir-mysql)
105         $(INSTALL) $(INSTALLFLAGS) $(srcs-pg) $(lispdir-pg)
106         $(INSTALL) $(INSTALLFLAGS) $(srcs-pg-socket) $(lispdir-pg-socket)
107         $(INSTALL) $(INSTALLFLAGS) $(srcs-aodbc) $(lispdir-aodbc)
108
109         # CLC Systems
110         $(INSTALL) $(INSTALLFLAGS) clsql.system $(prefix)/$(clc-systems)
111         $(INSTALL) $(INSTALLFLAGS) clsql-base.system clsql-uffi.system $(prefix-base)/$(clc-systems)
112         $(INSTALL) $(INSTALLFLAGS) clsql-mysql.system $(prefix-mysql)/$(clc-systems)
113         $(INSTALL) $(INSTALLFLAGS) clsql-postgresql.system $(prefix-pg)/$(clc-systems)
114         $(INSTALL) $(INSTALLFLAGS) clsql-postgresql-socket.system $(prefix-pg-socket)/$(clc-systems)
115         $(INSTALL) $(INSTALLFLAGS) clsql-aodbc.system $(prefix-aodbc)/$(clc-systems)
116
117         # Test suite
118         $(INSTALL) $(INSTALLDIRFLAGS) $(doc-dir)/html $(doc-dir)/test-suite
119  
120         $(INSTALL) $(INSTALLFLAGS) test-suite/tester-clsql.cl test-suite/acl-compat-tester.cl $(doc-dir)/test-suite
121
122         # Documentation
123         $(INSTALL) $(INSTALLFLAGS) doc/html/* $(doc-dir)/html
124         cp doc/clsql.pdf doc/cl-sql.pdf
125         rm -f doc/cl-sql.pdf.gz
126         gzip doc/cl-sql.pdf
127         $(INSTALL) $(INSTALLFLAGS) doc/cl-sql.pdf.gz $(doc-dir)
128         rm -f doc/cl-sql.pdf.gz
129
130 #       From UncommonSQL Debian package: build prerm postinst from templates
131         set -e ;\
132         for p in $(all-pkgs); do \
133                 echo "processing maintainer scripts for $$p" ;\
134                 l=`echo $$p | sed -e "s/^cl-/cl/;"` ;\
135                 sed -e "s/%%/$$l/;" debian/prerm.template > debian/$$p.prerm ;\
136                 sed -e "s/%%/$$l/;" debian/postinst.template > debian/$$p.postinst ;\
137         done
138
139
140 # Build architecture-independent files here.
141 binary-indep: build install
142
143
144
145 # Build architecture-dependent files here.
146 binary-arch: build install
147         dh_testdir
148         dh_testroot
149 #       dh_installdebconf       
150         dh_installdocs
151 #       dh_installexamples 
152         dh_installchangelogs ChangeLog
153         dh_link -p $(pkg-base) $(clc-clsql) $(clc-source)/clsql-base
154         dh_link -p $(pkg-mysql) $(clc-clsql) $(clc-source)/clsql-mysql
155         dh_link -p $(pkg-pg) $(clc-clsql) $(clc-source)/clsql-postgresql
156         dh_link -p $(pkg-pg-socket) $(clc-clsql) $(clc-source)/clsql-postgresql-socket
157         dh_link -p $(pkg-aodbc) $(clc-clsql) $(clc-source)/clsql-aodbc
158         dh_strip
159         dh_compress
160         dh_fixperms
161 #       dh_makeshlibs
162         dh_installdeb
163 #       dh_perl
164         dh_shlibdeps
165         dh_gencontrol
166         dh_md5sums
167         dh_builddeb
168
169 binary: binary-indep binary-arch
170 .PHONY: build clean binary-indep binary-arch binary install configure