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
|