File: rules

package info (click to toggle)
clisp 1999-07-22-5
  • links: PTS
  • area: main
  • in suites: potato
  • size: 36,876 kB
  • ctags: 19,900
  • sloc: ansic: 76,750; lisp: 65,522; asm: 16,504; sh: 8,971; fortran: 8,277; makefile: 3,251; objc: 2,481; perl: 1,744; java: 553; sed: 96
file content (228 lines) | stat: -rwxr-xr-x 8,612 bytes parent folder | download
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
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
#! /usr/bin/make -f
#
# Last updated: $Date: 1996/10/11 06:54:59 $ by Kevin Dalley <kevin@aimnet.com>
#
# Copyright 1994,1995 by Ian Jackson.
# I hereby give you perpetual unlimited permission to copy,
# modify and relicense this file, provided that you do not remove
# my name from the file itself.  (I assert my moral right of
# paternity under the Copyright, Designs and Patents Act 1988.)
# This file may have to be extensively modified

# To make the binary distribution package, the ``Debianized'' source package
# and the context diff to the original package, type `./debian.rules dist'.
# Make sure that `debian.rules' is executable before the final distribution
# is made.
#
# Invoke each target with `./debian.rules <target>'.  All targets should be
# invoked with the package root as the current directory.
#
# The `binary' target must be run as root, as it needs to install files with
# specific ownerships.  The `diff' target assumes that you have the original
# source package available, unpacked, in ../$(p)-$(v).orig, or that you have
# the previous revision of the ``Debianized'' source package and context diff
# in the parent directory.

# The name of the package (for example, `emacs').
package = clisp
package-clx = clisp-clx
prefix=/usr

# to test compilation, run
# cd src; $(MAKE) check
build: build-clisp

build-clisp:
	$(checkdir)
	./configure --prefix=$(prefix)
	cd src; \
	./makemake  --prefix=$(prefix) --with-newnewreadline --with-gettext --1with-dynamic-ffi > Makefile; \
	$(MAKE) config.lsp; \
	$(MAKE) ; \
	$(MAKE) check
	touch build-clisp

clean:
	$(checkdir)
	-rm -f build-clisp build-clx
	-cd src; $(MAKE) -i maintainer-clean
	-$(MAKE) -i maintainer-clean
	-cd modules/clx/mit-clx; \
		$(MAKE) -f Makefile.clisp prefix=$(prefix) clean
	-rm -rf *~ debian/tmp-clisp debian/tmp-clx  \
		debian/*~ debian/files* src/config.cache
	-cd src/newreadline; $(MAKE) -i distclean || \
		$(MAKE) -f Makefile.in distclean
	-rm src/comment5 src/ansidecl src/linkkit/ src/txt2c src/ccmp2c \
	  src/base src/libintl.h src/gettext/intl/libintl.h
	-(cd src/trampoline;make clean)
	-rm src/trampoline/trampoline.h
	-(cd src/avcall;make clean)
	-(cd src/vacall;make clean)
	-find . -type l|xargs rm -f
	-find . -name '*.[oa]'|xargs rm -f
	-find . -name '*.lo' | xargs rm -f
	-find . -name '*.la' | xargs rm -f
#	-find . -name '*.dvi'|xargs rm -f
	-find . -name config.log | xargs rm -f
	-rm -f src/callback/trampoline_r/test[12] src/callback/tests
	-find . -name '*~' | xargs rm -f
	-rm -f src/gettext/intl/intlh.inst src/gettext/config.log \
		src/gettext/config.h src/gettext/config.status \
		src/gettext/stamp-h
	-rm -f src/newreadline/config.log src/readline/doc/rluserman.log \
		src/readline/doc/rluserman.cp src/readline/doc/rluserman.aux \
		src/readline/doc/rluserman.toc src/readline/doc/rluserman.fn \
		src/readline/doc/rluserman.vr src/readline/doc/rluserman.ky \
		src/readline/doc/rluserman.ky src/readline/doc/rluserman.fns \
		src/readline/doc/rluserman.kys src/readline/doc/rluserman.vrs \
		src/readline/config.log src/readline/config.h \
		src/readline/config.status src/readline/Makefile \
		src/clisp \
		src/sigsegv/test[123] \
		src/modprep \
		src/avcall/configure \
		src/avcall/avcall.h \
		src/avcall/config.status \
		src/avcall/Makefile \
		src/callback/configure \
		src/callback/vacall_r/vacall_r.h \
		src/callback/vacall_r/config.status \
		src/callback/vacall_r/config.h \
		src/callback/vacall_r/Makefile \
		src/callback/vacall_r/vacall-i386.s \
		src/callback/trampoline_r/config.h \
		src/callback/trampoline_r/config.status \
		src/callback/trampoline_r/Makefile \
		src/callback/config.status \
		src/callback/Makefile \
		src/callback/tests.out \
		src/sigsegv/configure \
		src/sigsegv/config.status \
		src/sigsegv/sigsegv.h \
		src/sigsegv/Makefile \
		src/readline/doc/rluserman.cps \
		src/clx/clx-manual.tar.gz \
		src/regexp/regexp.dvi \
		src/wildcard/wildcard.dvi \
		src/callback/minitests		
		-rm -rf src/full
		-rm -rf src/data
		-rm -rf src/base
		-rm -rf src/full

binary-indep:

binary-arch:	binary-arch-clisp

binary-arch-clisp:	checkroot build
	$(checkdir)
	-rm -rf debian/tmp-clisp
	install -m 0755 -d debian/tmp-clisp
	install -m 0755 -d debian/tmp-clisp/DEBIAN
	install -m 0755 -d debian/tmp-clisp$(prefix)/share/doc/$(package)
	install debian/{postinst,prerm} debian/tmp-clisp/DEBIAN
	cd src; \
	$(MAKE) INSTALL_PROGRAM='install -s' \
		prefix=`pwd`/../debian/tmp-clisp$(prefix) \
		mandir=`pwd`/../debian/tmp-clisp$(prefix)/share/man \
		docdir=`pwd`/../debian/tmp-clisp$(prefix)/share/doc \
		install
	find debian/tmp-clisp | xargs chown root:root
	strip debian/tmp-clisp/usr/bin/clisp
	strip debian/tmp-clisp/usr/lib/clisp/base/lisp.run
	strip debian/tmp-clisp/usr/lib/clisp/full/lisp.run
	for file in ANNOUNCE INSTALL SUMMARY \
			src/CHANGES.LOG src/NEWS src/TODO; do \
		install -m 0644 $$file \
			debian/tmp-clisp$(prefix)/share/doc/$(package)/`basename $$file`; \
		gzip -9v debian/tmp-clisp$(prefix)/share/doc/$(package)/`basename $$file`; \
	done
	ln -s CHANGES.LOG.gz debian/tmp-clisp$(prefix)/share/doc/$(package)/changelog.gz
	find debian/tmp-clisp -type f|xargs chmod g-w
	dpkg-shlibdeps debian/tmp-clisp$(prefix)/lib/clisp/base/lisp.run \
	debian/tmp-clisp$(prefix)/lib/clisp/full/lisp.run \
	debian/tmp-clisp$(prefix)/bin/clisp
	gzip -9v debian/tmp-clisp$(prefix)/share/man/man1/clisp.1 \
		debian/tmp-clisp$(prefix)/share/man/man3/clreadline.3
	install -m 0644 src/{bytecode,impnotes}.html \
		debian/tmp-clisp$(prefix)/share/doc/$(package)
	install -m 0644 debian/copyright \
		debian/tmp-clisp$(prefix)/share/doc/$(package)/.
	install -m 0644  debian/changelog \
		debian/tmp-clisp$(prefix)/share/doc/$(package)/changelog.Debian
	gzip -9v debian/tmp-clisp$(prefix)/share/doc/$(package)/changelog.Debian
	rm -f /usr/share/doc/clisp/doc/{clisp.1,clreadline.3}
	dpkg-gencontrol -isp -pclisp -Pdebian/tmp-clisp
	dpkg --build debian/tmp-clisp ..



# clx does not currently work with clisp under Debian
build-clx: build-clisp
	cd modules/clx/mit-clx; \
	$(MAKE) -f Makefile.clisp prefix=$(prefix)
	touch build-clx

binary-arch-clx: checkroot build-clx
	$(checkdir)
	-rm -rf debian/tmp-clx
	install -m 0755 -d debian/tmp-clx debian/tmp-clx/DEBIAN
	install -m 0755 -d debian/tmp-clx$(prefix)/lib/lisp
	install -m 0755 -d debian/tmp-clx$(prefix)/bin
	install -m 0755 -d debian/tmp-clx$(prefix)/share/doc/$(package-clx)
	install -m 0755 -d \
		debian/tmp-clx$(prefix)/share/doc/$(package-clx)/demo
	cd modules/clx/mit-clx; \
	$(MAKE) -f Makefile.clisp \
		install_root=`pwd`/../../../debian/tmp-clx \
		prefix=`pwd`/../../../debian/tmp-clx$(prefix) \
		mandir=`pwd`/../../../debian/tmp-clx$(prefix)/share/man \
		docdir=`pwd`/../../../debian/tmp-clx$(prefix)/share/doc \
		install
	tar -C debian/tmp-clx$(prefix)/share/doc/$(package-clx) \
		-xzf modules/clx/clx-manual.tar.gz
	find debian/tmp-clx$(prefix)/share/doc/$(package-clx)/clx-manual | \
		xargs chown root:root
	find debian/tmp-clx$(prefix)/share/doc/$(package-clx)/clx-manual -type f| \
		xargs chmod 0644
	chmod 755 debian/tmp-clx$(prefix)/share/doc/$(package-clx)/clx-manual/{html,postscript}
	mv debian/tmp-clx$(prefix)/share/doc/$(package-clx)/clx-manual/html \
		debian/tmp-clx$(prefix)/share/doc/$(package-clx)/html
	mv debian/tmp-clx$(prefix)/share/doc/$(package-clx)/clx-manual/postscript \
		debian/tmp-clx$(prefix)/share/doc/$(package-clx)/postscript
	rmdir debian/tmp-clx$(prefix)/share/doc/$(package-clx)/clx-manual
	for file in modules/clx/mit-clx/demo/*; do \
		install -m 0644 $$file \
		debian/tmp-clx$(prefix)/share/doc/$(package-clx)/demo; \
	done
	install -m 0644 debian/copyright.clx \
		debian/tmp-clx$(prefix)/share/doc/$(package-clx)/copyright
	install -m 0644  debian/changelog \
		debian/tmp-clx$(prefix)/share/doc/$(package-clx)/changelog.Debian
	gzip -9v debian/tmp-clx$(prefix)/share/doc/$(package-clx)/changelog.Debian
	install -d debian/tmp-clx$(prefix)/share/man/man1
	install -m 0644 modules/clx/mit-clx/README.CLISP \
		debian/tmp-clx$(prefix)/share/doc/$(package-clx)
	gzip -9 debian/tmp-clx$(prefix)/share/doc/$(package-clx)/README.CLISP
	ln -s dh_undocumented.1.gz debian/tmp-clx$(prefix)/share/man/man1/clx.1.gz
	dpkg-gencontrol -isp -pclisp-clx -Pdebian/tmp-clx
	dpkg --build debian/tmp-clx ..


define checkdir
	test -f src/_clisp.c -a -f debian/rules
endef

# Below here is fairly generic really

binary:		binary-indep binary-arch

source diff:
	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false

checkroot:
	$(checkdir)
	test root = "`whoami`"

.PHONY: binary binary-arch binary-indep clean checkroot