File: rules

package info (click to toggle)
exim 3.36-18.2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 5,684 kB
  • ctags: 3,574
  • sloc: ansic: 52,492; sh: 1,172; perl: 577; makefile: 343
file content (160 lines) | stat: -rwxr-xr-x 5,890 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
#!/usr/bin/make -f
# Exim rules file, based on example rules by:
# Copyright 1994,1995 by Ian Jackson.
# Modifications for exim by Tim Cutts <timc@chiark.greenend.org.uk>
# Modified to be a prototype for debmake by Christoph Lameter <clameter@debian.org>
# Modified to not use debmake by Mark Baker <mark@mnb.org.uk>

package=exim

build:
	$(checkdir)
	# Set up local build files
	mkdir -p Local
	chmod +x debian/config-ipv6
	debian/config-ipv6
	patch -o Local/Makefile src/EDITME debian/editme-diff
	# This cp can be replaced with a patch like the one above if needed
	cp exim_monitor/EDITME Local/eximon.conf
	$(MAKE)
	touch build

clean:
	$(checkdir)
	-rm -f build
	-( test -d build-`scripts/os-type`-`scripts/arch-type` && $(MAKE) clean)
	-rm -rf build-`scripts/os-type`-`scripts/arch-type`
	-rm -rf Local
	-rm -rf util/convert4r3 util/exi* util/transport-filter.pl
	-rm `find . -name "*~"`
	-rm -rf debian/*substvars debian/tmp debian/files*
	-rm -rf eximon*

binary-indep:	checkroot build
	$(checkdir)

	# No architecture independent packages

binary-arch:	checkroot build
	$(checkdir)

	# Build exim package

	-rm -rf debian/tmp
	# First create directories
	install -d debian/tmp/DEBIAN
	install -d debian/tmp/usr/sbin
	install -d debian/tmp/usr/bin
	install -d debian/tmp/usr/lib/exim
	install -d debian/tmp/usr/share/doc/exim
	install -d debian/tmp/usr/share/man/man8	
	install -d debian/tmp/etc/exim
	install -d debian/tmp/etc/init.d
	install -d debian/tmp/etc/cron.daily
	install -d debian/tmp/etc/cron.d
	install -d debian/tmp/etc/ppp/ip-up.d
	# Make install does most stuff for us
	$(MAKE) inst_conf=`pwd`/debian/tmp/usr/share/doc/exim/example.conf \
                inst_dest=`pwd`/debian/tmp/usr/sbin install
	# Fix permissions on this file
	chmod 644 debian/tmp/usr/share/doc/exim/example.conf
	# But eximon wants to go in a different package
	mv debian/tmp/usr/sbin/eximon* .
	# Put exigrep in /usr/bin, as it's useful for users on many systems
	mv debian/tmp/usr/sbin/exigrep debian/tmp/usr/bin
	# Install other files
	install debian/config debian/tmp/usr/sbin/eximconfig
	install util/convert4r3 debian/tmp/usr/sbin/exim-upgrade-to-r3	
	(cd debian/tmp/usr/sbin;  ln -sf exim rsmtp; \
                                  ln -sf exim sendmail; \
				  ln -sf exim runq; \
				  ln -sf exim rmail; \
	 cd ../bin;		  ln -sf ../sbin/exim mailq; \
	 cd ../lib;               ln -sf ../sbin/exim sendmail; \
	 cd ../lib/exim;          ln -sf ../../sbin/exim exim3 )
	install debian/newaliases debian/tmp/usr/bin
	install -m 0755 debian/init.d debian/tmp/etc/init.d/exim
	install -m 0755 debian/cron.daily debian/tmp/etc/cron.daily/exim
	install -m 0644 debian/crontab debian/tmp/etc/cron.d/exim
	install -m 0755 debian/ip-up.d debian/tmp/etc/ppp/ip-up.d/exim
	install -m 0644 debian/email-addresses debian/tmp/etc/email-addresses
	# Install documentation
	install -m 0644 debian/exicyclog.8 debian/exigrep.8 debian/exim.8 \
		debian/exim_db.8 debian/exim_dbmbuild.8 debian/exim_dumpdb.8 \
		debian/exim_fixdb.8 debian/exim_tidydb.8 debian/eximstats.8 \
		debian/exinext.8 debian/exiwhat.8 debian/exiqsumm.8 \
		debian/eximconfig.8 debian/newaliases.8 debian/rmail.8 \
		debian/rsmtp.8 debian/runq.8 debian/sendmail.8 debian/mailq.8 \
		debian/exim_lock.8   debian/tmp/usr/share/man/man8
	gzip -9v debian/tmp/usr/share/man/man8/*
	install -m 0644 doc/NewStuff debian/tmp/usr/share/doc/exim
	install -m 0644 debian/exim-uucp.texinfo debian/tmp/usr/share/doc/exim
	install -m 0644 README* doc/*.txt debian/README.Debian debian/mails \
						debian/tmp/usr/share/doc/exim
	install -m 0644 debian/changelog \
				debian/tmp/usr/share/doc/exim/changelog.Debian
	install -m 0644 doc/ChangeLog debian/tmp/usr/share/doc/exim/changelog
	gzip -9v debian/tmp/usr/share/doc/exim/*
	install -m 0644 debian/copyright debian/tmp/usr/share/doc/exim
	# strip binaries
	strip --remove-section=.comment --remove-section=.note --strip-unneeded debian/tmp/usr/sbin/exim_*
	# Generate md5sums
	(cd debian/tmp; find -type f | sed s#^./## | grep -v DEBIAN | \
					xargs md5sum > DEBIAN/md5sums )
	# Standard package building stuff
	install -m 0755 debian/preinst debian/postinst debian/tmp/DEBIAN
	install -m 0755 debian/prerm debian/postrm debian/tmp/DEBIAN
	install -m 0644 debian/conffiles debian/tmp/DEBIAN
	dpkg-shlibdeps debian/tmp/usr/sbin/exim
	dpkg-gencontrol -isp -pexim
	chown -R root.root debian/tmp
	chmod -R g-ws debian/tmp
	dpkg --build debian/tmp ..

	# Build eximon package

	-rm -rf debian/tmp
	# First create directories
	install -d debian/tmp/DEBIAN
	install -d debian/tmp/usr/sbin
	install -d debian/tmp/usr/lib/exim
	install -d debian/tmp/usr/share/man/man8
	install -d debian/tmp/usr/share/doc
	# Symlink to documentation in /usr/share/doc/exim
	ln -s exim debian/tmp/usr/share/doc/eximon
	# Move eximon back
	mv eximon debian/tmp/usr/sbin
	mv eximon.bin debian/tmp/usr/lib/exim
	#
	strip --remove-section=.comment --remove-section=.note --strip-unneeded debian/tmp/usr/lib/exim/eximon.bin
	# Install man page
	cp debian/eximon.8 debian/tmp/usr/share/man/man8
	gzip -9v debian/tmp/usr/share/man/man8/*
	# Generate md5sums
	(cd debian/tmp; find -type f | sed s#^./## | grep -v DEBIAN | \
					xargs md5sum > DEBIAN/md5sums )
	# Standard package building stuff
	install -m 0755 debian/postinst-eximon debian/tmp/DEBIAN/postinst
	install -m 0755 debian/prerm-eximon debian/tmp/DEBIAN/prerm
	dpkg-shlibdeps debian/tmp/usr/lib/exim/eximon.bin
	dpkg-gencontrol -isp -peximon
	chown -Rh root.root debian/tmp
	chmod -R go=rX debian/tmp
	dpkg --build debian/tmp ..

define checkdir
	test -f src/exim.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