File: rules

package info (click to toggle)
emacsen-common 1.4.22
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 116 kB
  • ctags: 30
  • sloc: perl: 194; sh: 110; lisp: 108; makefile: 80
file content (132 lines) | stat: -rwxr-xr-x 4,057 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
#!/usr/bin/make -f
# Sample debian.rules file - for GNU Hello (1.3).
# 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
#
# modified for emacsen-common by Rob Browning <rlb@defaultvalue.org>

pwd       := $(shell pwd)
version   := $(shell dpkg-parsechangelog | grep Version)
version   := $(shell echo ${version} | perl -pe 's/Version:\s+//o')
upstream  := $(shell echo ${version} | perl -pe 's/-.*//o')
# deb_rev   := $(shell echo ${version} | perl -pe 's/.*-//o')

# the architecture of the package
arch      := $(shell dpkg --print-architecture)

# The Debian target name of the package
target    := ${arch}-debian-linux-gnu

CFLAGS    := -O2 -g

eclib := debian/tmp/usr/lib/emacsen-common
# flavors := emacs19 emacs20 emacs21 xemacs19 xemacs20 xemacs21 emacs21

define checkdir
	test -f debian/rules
endef

buildpackage:
	$(checkdir)
	dpkg-buildpackage -D -us -uc -rfakeroot -i
.PHONY: buildpackage

build: debian/stamp/build
debian/stamp/build:
	$(checkdir)
	ln -sf emacs-install emacs-remove
	ln -sf emacs-package-install emacs-package-remove
	mkdir $(dir $@) && touch $@

clean:
	$(checkdir)
	rm -f emacs-remove emacs-package-remove
	find . -name "*~" -print0 | xargs -r -0 rm -f
	find . -name "#*" -print0 | xargs -r -0 rm -f
	rm -rf debian/tmp debian/files debian/stamp

binary-indep: debian/stamp/build
	$(checkdir)
	test root = "`whoami`"

	perl -wc emacs-install
	perl -wc emacs-package-install
	perl -wc generate-install-list

	-rm -rf debian/tmp
	install -d debian/tmp

	install -d debian/tmp/etc/emacs
	cp site-start.el debian/tmp/etc/emacs

        # 00debian-vars.el
	install -d debian/tmp/etc/emacs/site-start.d
	cp 00debian-vars.el debian/tmp/etc/emacs/site-start.d

        # debian-startup.el
	install -d debian/tmp/usr/share/emacs/site-lisp
	cp debian-startup.el debian/tmp/usr/share/emacs/site-lisp

	install -d ${eclib}
	install -d ${eclib}/packages/install
	install -d ${eclib}/packages/remove
	cp -a emacs-install ${eclib}
	cp -a emacs-remove ${eclib}
	cp -a emacs-package-install ${eclib}
	cp -a emacs-package-remove ${eclib}
	cp -a generate-install-list ${eclib}

	install -d debian/tmp/var/lib/emacsen-common

        # emacsen-common add-on pacakge scripts
	cp -a emacsen-common.install \
	  ${eclib}/packages/install/emacsen-common
	cp -a emacsen-common.remove \
	  ${eclib}/packages/remove/emacsen-common

        # manpages
        # find debian/tmp/usr/man -type f | xargs --no-run-if-empty gzip -9v

        # /usr/share/doc/emacsen-common directory
	install -d debian/tmp/usr/share/doc/emacsen-common
	cp debian/changelog debian/tmp/usr/share/doc/emacsen-common/
	cp debian-emacs-policy debian/tmp/usr/share/doc/emacsen-common/
	cp sample-package-install-foo  debian/tmp/usr/share/doc/emacsen-common/
	cp sample-package-remove-foo  debian/tmp/usr/share/doc/emacsen-common/
	find debian/tmp/usr/share/doc/emacsen-common -type f \
	  | xargs gzip -9v
	cp debian/copyright debian/tmp/usr/share/doc/emacsen-common

        # Mangle permissions to conform.
	chown -R root.root debian/tmp
	find debian/tmp -type d | xargs chmod 755
	find debian/tmp -not -type d | xargs chmod 644

	find ${eclib} -type f | xargs chmod 755 

        # control scripts	
	install -d debian/tmp/DEBIAN
	install --mode 755 debian/postinst debian/tmp/DEBIAN
	install --mode 755 debian/prerm debian/tmp/DEBIAN
	install --mode 755 debian/postrm debian/tmp/DEBIAN
	install --mode 644 debian/conffiles debian/tmp/DEBIAN

	dpkg-gencontrol -isp -pemacsen-common
	dpkg --build debian/tmp ..

binary-arch: debian/stamp/build
	$(checkdir)
	test root = "`whoami`"

# 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

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