File: rules

package info (click to toggle)
dictd 1.9.15-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 3,760 kB
  • ctags: 3,266
  • sloc: ansic: 28,734; sh: 4,576; makefile: 1,002; perl: 410; yacc: 280; cpp: 275; lex: 217
file content (320 lines) | stat: -rwxr-xr-x 14,191 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
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
#! /usr/bin/make -f

############################ -*- Mode: Makefile -*- ###########################
## rules ---
## Author           : Robert D. Hilliard <hilliard@debian.org>
## Created On       : Tue,  7 Apr 1998 20:30:10 -0400 
## Last Modified By : Robert D. Hilliard <hilliard@debian.org>
## Last Modified On : Mon, 04 Aug 2003 16:30:01 -0400
## Status           : $Id: rules,v 1.48 2004/03/19 19:21:26 bob Exp bob $
## Last Changes     : $Log: rules,v $
## Last Changes     : Revision 1.48  2004/03/19 19:21:26  bob
## Last Changes     : fixed install directories for NEWS.Debian
## Last Changes     :
## Last Changes     : Revision 1.47  2004/03/19 19:09:55  bob
## Last Changes     : added News.Debian.gz to dict, dictfmt, and dictzip
## Last Changes     :
## Last Changes     : Revision 1.46  2004/03/15 22:19:06  bob
## Last Changes     : Removed -v option to dpkg-gencontrol for dictfmt
## Last Changes     :
## Last Changes     : Revision 1.45  2003/12/08 21:24:09  bob
## Last Changes     : Added News.Debian and README.Dictd-locales
## Description      : debian/rules for dictd
## Acknowledgment   : This debian/rules file is based on Manoj Srivasta's 
##                  : <srivasta@debian.org> sample debian/rules files.
##                  : Any errors belong to me alone.
###############################################################################

# The name of the package (for example, `emacs').
pkg     := dictd
pkg_2 	:= dict
pkg_3   := dictzip
pkg_4   := dictfmt

# Configuration variables (these should be pretty generic)
CC = cc
CFLAGS=  -O2 
# LDFLAGS = -s
PREFIX = /usr
BINDIR = $(PREFIX)/bin
MANDIR = $(PREFIX)/share/man
MAN1DIR = $(MANDIR)/man1
DOCDIR = $(PREFIX)/share/doc/$(pkg)

#  Package specific stuff.  The idea is to try to make the rules
#  generic (gradually).

export DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
  confflags += --build $(DEB_HOST_GNU_TYPE)
else
  confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
endif

FILES_TO_CLEAN  = debian/files debian/*~ 
DIRS_TO_CLEAN   = debian/tmp debian/tmp_2 debian/tmp_3 debian/tmp_4
STAMPS_TO_CLEAN = stamp-*

install_file= install -p -o root -g root -m 644
install_binary= install -p -o root -g root -m 755
install_script= install -p -o root -g root -m 755
make_directory= install -d -o root -g root -m 755

ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
install_binary += -s
endif

all build: stamp-build
# Builds the binary package.

autotools:
	-rm -f config.sub config.guess
	ln -s /usr/share/misc/config.sub config.sub
	ln -s /usr/share/misc/config.guess config.guess

configure: stamp-configure

stamp-configure: autotools
	./configure  --verbose --prefix=$(PREFIX) --libexecdir=/usr/lib/dictd --datadir=/usr/share/dictd --sysconfdir=/etc/dictd && touch stamp-configure

stamp-build:
# Builds the binary package.
	$(checkdir)
	-test -f stamp-configure || $(MAKE) -f debian/rules configure
	$(MAKE) CC="$(CC)" LDFLAGS="$(LDFLAGS)"

	$(MAKE) CFLAGS+='-fPIC -D_REENTRANT' samples

## Upstream Makefile uses different values for CFLAGS for differnt
## compile statements.  It seems simpler to leave CFLAGS up to the
## Makefile.

	touch stamp-build

clean:
# Undoes the effect of `$(MAKE) -f debian/rules build'.
	$(checkdir)
	-test -f Makefile && $(MAKE) recursive-clean 
	-test -f Makefile && $(MAKE) distclean       
	-rm -f  $(FILES_TO_CLEAN) $(STAMPS_TO_CLEAN)
	-rm -rf $(DIRS_TO_CLEAN)
	-rm -f core `find . \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
                -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
                -o -name '.*.rej' -o -name '.SUMS' -o -size 0 \) -print` TAGS
	rm -f config.sub config.guess

binary: binary-indep binary-arch

binary-indep: build


binary-arch: build stamp-dictd stamp-dict stamp-dictzip stamp-dictfmt

stamp-dictd:
# Makes a binary package.
	@test root = "`whoami`" || (echo need root priviledges; exit 1)
	$(checkdir)
	test -f stamp-build  || $(MAKE) -f debian/rules build
	rm -rf               debian/tmp debian/tmp_2 debian/tmp_3 debian/tmp_4
	$(make_directory)    debian/tmp
	$(make_directory)    debian/tmp/DEBIAN
	$(make_directory)    debian/tmp/usr
	$(make_directory)    debian/tmp/usr/bin
	$(make_directory)    debian/tmp/usr/sbin
	$(make_directory)    debian/tmp/etc
	$(make_directory)    debian/tmp/etc/dictd
	$(make_directory)    debian/tmp/etc/default
	$(make_directory)    debian/tmp/etc/init.d
	$(make_directory)    debian/tmp/usr/share/man/man8
	$(make_directory)    debian/tmp/usr/share/doc
	$(make_directory)    debian/tmp/usr/share/doc/$(pkg)
	$(make_directory)    debian/tmp/usr/share/doc/$(pkg)/examples
	$(make_directory)    debian/tmp/var
	$(make_directory)    debian/tmp/var/lib
	$(make_directory)    debian/tmp/var/lib/$(pkg)
	$(make_directory)    debian/tmp/usr/lib/$(pkg)
	$(install_binary)    dictd  debian/tmp/usr/sbin
	$(install_file)      debian/readme-plugins \
                              debian/tmp/usr/share/doc/$(pkg)/README.Plugins
	$(install_file)      NEWS \
			      debian/tmp/usr/share/doc/$(pkg)/NEWS
	$(install_file)      debian/changelog \
			      debian/tmp/usr/share/doc/$(pkg)/changelog.Debian
	$(install_file)      debian/readme-dictd \
			      debian/tmp/usr/share/doc/$(pkg)/README.Debian
	$(install_file)      debian/readme-dictd-locales \
			      debian/tmp/usr/share/doc/$(pkg)/README.Dictd-locales
	$(install_file)      debian/news \
			      debian/tmp/usr/share/doc/$(pkg)/NEWS.Debian
	$(install_file)      debian/readme-debugging \
			      debian/tmp/usr/share/doc/$(pkg)/README.Debugging
	$(install_file)      debian/readme-inetd \
			      debian/tmp/usr/share/doc/$(pkg)/README.inetd
	$(install_file)      debian/readme-index2suffix \
			      debian/tmp/usr/share/doc/$(pkg)/README.Index2suffix
	$(install_file)      debian/readme-index2word \
			      debian/tmp/usr/share/doc/$(pkg)/README.Index2word
	$(install_file)      debian/readme-virtual_dictionaries \
			       debian/tmp/usr/share/doc/$(pkg)/README.Virtual_dictionaries
	$(install_file)      debian/readme-dictunformat \
			       debian/tmp/usr/share/doc/$(pkg)/README.Unformat
	gzip -9frq           debian/tmp/usr/share/doc/$(pkg)/
	ln -s ./NEWS.gz debian/tmp/usr/share/doc/$(pkg)/changelog.gz
	$(install_script)    debian/dictd debian/tmp/etc/init.d/dictd
	$(install_script)    debian/dictdconfig debian/tmp/usr/sbin/dictdconfig
	$(install_script)    debian/dictdconfig.alias debian/tmp/etc/dictd/dictdconfig.alias
	$(install_file)      debian/dictd.conf debian/tmp/etc/dictd/dictd.conf
	$(install_file)      debian/dictd.order debian/tmp/etc/dictd/dictd.order
	$(install_file)      debian/default debian/tmp/etc/default/dictd
# Make sure the copyright file is not compressed
	$(install_file)      debian/copyright \
	                     debian/tmp/usr/share/doc/$(pkg)/copyright
	$(install_file)      debian/dictdconfig.8 debian/tmp/usr/share/man/man8/dictdconfig.8
	$(install_file)      dictd.8 debian/tmp/usr/share/man/man8/dictd.8
	gzip -9frq           debian/tmp/usr/share/man/man8/
	$(install_file)      example* debian/tmp/usr/share/doc/$(pkg)/examples/
	$(make_directory)    debian/tmp_2/usr/share/doc/$(pkg_2)/examples
	mv -f  debian/tmp/usr/share/doc/$(pkg)/examples/example.dictrc \
	 debian/tmp_2/usr/share/doc/$(pkg_2)/examples/example.dictrc
	$(install_file)      debian/example_virtual2.conf debian/tmp/usr/share/doc/$(pkg)/examples/
#	$(install_file) -s   dictdplugin_exit.so dictdplugin_popen.so debian/tmp/usr/lib/$(pkg)/
#	$(install_file)      man_popen.* search_man debian/tmp/usr/share/doc/$(pkg)/examples/
	$(install_script)    debian/preinst  debian/tmp/DEBIAN/preinst
	$(install_script)    debian/postinst  debian/tmp/DEBIAN/postinst
	$(install_script)    debian/postrm debian/tmp/DEBIAN/postrm
	$(install_file)      debian/conffiles-dictd debian/tmp/DEBIAN/conffiles
	dpkg-shlibdeps       debian/tmp/usr/sbin/dictd
	dpkg-gencontrol      -isp -pdictd -Pdebian/tmp
	chown -R root.root   debian/tmp
	dpkg --build         debian/tmp ..
	touch		     stamp-dictd

stamp-dict:
	$(make_directory)    debian/tmp_2
	$(make_directory)    debian/tmp_2/DEBIAN
	$(make_directory)    debian/tmp_2/usr
	$(make_directory)    debian/tmp_2/usr/bin
	$(make_directory)    debian/tmp_2/etc
	$(make_directory)    debian/tmp_2/etc/dictd
	$(make_directory)    debian/tmp_2/usr/share/man/man1
	$(make_directory)    debian/tmp_2/usr/share/doc
	$(make_directory)    debian/tmp_2/usr/share/doc/$(pkg_2)
	$(install_binary)    dict debian/tmp_2/usr/bin
	$(install_script)    dictl debian/tmp_2/usr/bin
	$(install_file)      NEWS \
		       debian/tmp_2/usr/share/doc/$(pkg_2)/NEWS
	$(install_file)      debian/changelog \
	            debian/tmp_2/usr/share/doc/$(pkg_2)/changelog.Debian
	$(install_file)      debian/readme-dict \
			       debian/tmp_2/usr/share/doc/$(pkg_2)/README.Debian
	$(install_file)      debian/news \
			      debian/tmp_2/usr/share/doc/$(pkg_2)/NEWS.Debian
	gzip -9frq           debian/tmp_2/usr/share/doc/$(pkg_2)/
	ln -s ./NEWS.gz debian/tmp_2/usr/share/doc/$(pkg_2)/changelog.gz
	$(install_file)      debian/dict.conf debian/tmp_2/etc/dictd/dict.conf
# Make sure the copyright file is not compressed
	$(install_file)      debian/copyright \
	                     debian/tmp_2/usr/share/doc/$(pkg_2)/copyright
	$(install_file)      dict.1 debian/tmp_2/usr/share/man/man1/dict.1
	$(install_file)      dictl.1 debian/tmp_2/usr/share/man/man1/dictl.1
	gzip -9frq            debian/tmp_2/usr/share/man/man1/
	$(install_file)      debian/conffiles-dict \
				debian/tmp_2/DEBIAN/conffiles
	$(install_script)    debian/preinst-dict  debian/tmp_2/DEBIAN/preinst
	$(install_script)    debian/postinst-dict  debian/tmp_2/DEBIAN/postinst
	$(install_script)    debian/postrm-dict  debian/tmp_2/DEBIAN/postrm
	dpkg-shlibdeps       debian/tmp_2/usr/bin/dict
	dpkg-gencontrol      -isp -pdict -Pdebian/tmp_2
	chown -R root.root   debian/tmp_2
	dpkg --build         debian/tmp_2 ..
	touch                stamp-dict

stamp-dictzip:
# Makes a binary package.
	$(make_directory)    debian/tmp_3
	$(make_directory)    debian/tmp_3/DEBIAN
	$(make_directory)    debian/tmp_3/usr
	$(make_directory)    debian/tmp_3/usr/bin
	$(make_directory)    debian/tmp_3/usr/share/man/man1
	$(make_directory)    debian/tmp_3/usr/share/doc
	$(make_directory)    debian/tmp_3/usr/share/doc/$(pkg_3)
	$(install_binary)    dictzip debian/tmp_3/usr/bin
	ln -s ./dictzip debian/tmp_3/usr/bin/dictunzip
	ln -s ./dictzip debian/tmp_3/usr/bin/dictzcat
	$(install_file)      NEWS \
		       debian/tmp_3/usr/share/doc/$(pkg_3)/NEWS
	$(install_file)      debian/changelog \
	            debian/tmp_3/usr/share/doc/$(pkg_3)/changelog.Debian
	$(install_file)      debian/news \
			      debian/tmp_3/usr/share/doc/$(pkg_3)/NEWS.Debian
	gzip -9frq           debian/tmp_3/usr/share/doc/$(pkg_3)/
# Make sure the copyright file is not compressed
	ln -s ./NEWS.gz debian/tmp_3/usr/share/doc/$(pkg_3)/changelog.gz
	$(install_file)      debian/copyright \
	                     debian/tmp_3/usr/share/doc/$(pkg_3)/copyright
	$(install_file)      dictzip.1 debian/tmp_3/usr/share/man/man1/dictzip.1
	gzip -9fq            debian/tmp_3/usr/share/man/man1/dictzip.1
	ln -s ./dictzip.1.gz debian/tmp_3/usr/share/man/man1/dictunzip.1.gz
	ln -s ./dictzip.1.gz debian/tmp_3/usr/share/man/man1/dictzcat.1.gz
	dpkg-shlibdeps       debian/tmp_3/usr/bin/dictzip
	dpkg-gencontrol      -isp -pdictzip -Pdebian/tmp_3
	chown -R root.root   debian/tmp_3
	dpkg --build         debian/tmp_3 ..
	touch                stamp-dictzip

stamp-dictfmt:
	$(make_directory)    debian/tmp_4
	$(make_directory)    debian/tmp_4/DEBIAN
	$(make_directory)    debian/tmp_4/usr
	$(make_directory)    debian/tmp_4/usr/bin
	$(make_directory)    debian/tmp_4/usr/share/man/man1
	$(make_directory)    debian/tmp_4/usr/share/doc
	$(make_directory)    debian/tmp_4/usr/share/doc/$(pkg_4)
	$(install_binary)    dictfmt debian/tmp_4/usr/bin
	$(install_script)    dictfmt_index2suffix dictfmt_index2word dictfmt_virtual dictunformat debian/tmp_4/usr/bin
	$(install_file)      debian/readme-index2suffix \
			      debian/tmp_4/usr/share/doc/$(pkg_4)/README.Index2suffix
	$(install_file)      debian/readme-index2word \
			      debian/tmp_4/usr/share/doc/$(pkg_4)/README.Index2word
	$(install_file)      debian/readme-virtual_dictionaries \
			       debian/tmp_4/usr/share/doc/$(pkg_4)/README.Virtual_dictionaries
	$(install_file)      debian/readme-dictunformat \
			       debian/tmp_4/usr/share/doc/$(pkg_4)/README.Unformat
	$(install_file)      NEWS \
                       debian/tmp_4/usr/share/doc/$(pkg_4)/NEWS
	$(install_file)      debian/changelog \
                    debian/tmp_4/usr/share/doc/$(pkg_4)/changelog.Debian
	$(install_file)      debian/news \
			      debian/tmp_4/usr/share/doc/$(pkg_4)/NEWS.Debian
	gzip -9frq debian/tmp_4/usr/share/doc/$(pkg_4)/
# Make sure the copyright file is not compressed
	ln -s ./NEWS.gz debian/tmp_4/usr/share/doc/$(pkg_4)/changelog.gz
	$(install_file)      debian/copyright \
                             debian/tmp_4/usr/share/doc/$(pkg_4)/copyright
	$(install_file)      dictfmt.1 debian/tmp_4/usr/share/man/man1/dictfmt.1
	$(install_file)      dictfmt_index2suffix.1 debian/tmp_4/usr/share/man/man1/dictfmt_index2suffix.1
	$(install_file)      dictfmt_index2word.1 debian/tmp_4/usr/share/man/man1/dictfmt_index2word.1
	$(install_file)      dictfmt_virtual.1 debian/tmp_4/usr/share/man/man1/dictfmt_virtual.1
	$(install_file)      dictunformat.1 debian/tmp_4/usr/share/man/man1/dictunformat.1
	gzip -9frq           debian/tmp_4/usr/share/man/man1/
	dpkg-shlibdeps       debian/tmp_4/usr/bin/dictfmt
	dpkg-gencontrol      -isp -pdictfmt -Pdebian/tmp_4
	chown -R root.root   debian/tmp_4
	dpkg --build         debian/tmp_4 ..
	touch                stamp-dictfmt


checkroot:
	@test root = "`whoami`" || (echo need root priviledges; exit 1)

define checkdir
	test -f  dictd.h -a -f debian/rules
endef

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


.PHONY: binary binary-arch binary-indep clean