File: rules

package info (click to toggle)
smartlist 3.15-25
  • links: PTS
  • area: main
  • in suites: bullseye, buster, stretch
  • size: 2,192 kB
  • ctags: 1,837
  • sloc: ansic: 9,239; sh: 4,947; makefile: 145
file content (88 lines) | stat: -rwxr-xr-x 3,048 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
#!/usr/bin/make -f

package = smartlist
docdir = debian/tmp/usr/share/doc/$(package)

BUILD_DATE := $(shell dpkg-parsechangelog -S Date)

# Userid of the list user/group
smart = 38

smartlistdocs = INTRO FEATURES HISTORY
noexamples = archive.txt help.txt mimencap.local subscribe.txt unsubscribe.txt

CC = gcc
CFLAGS := $(shell dpkg-buildflags --get CFLAGS)
LDFLAGS := `dpkg-buildflags --get LDFLAGS`
CPPFLAGS := `dpkg-buildflags --get CPPFLAGS`
SEARCHLIBS = -lm
STRIP = true

ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
  STRIP = strip --remove-section=.comment --remove-section=.note
endif

build:
	$(MAKE) CC="$(CC)" CFLAGS0="" \
		LDFLAGS0="$(LDFLAGS)" SEARCHLIBS="$(SEARCHLIBS)" autoconf.h
	$(MAKE) CC="$(CC)" CFLAGS0="$(CFLAGS) $(CPPFLAGS)" \
		LDFLAGS0="$(LDFLAGS)" SEARCHLIBS="$(SEARCHLIBS)" setid
	touch build

clean:
	rm -f build
	$(MAKE) realclean SEARCHLIBS=""
	rm -f `find . -name "*~"`
	rm -rf debian/tmp debian/files* core debian/substvars

binary-indep: build

binary-arch: build
	rm -rf debian/tmp
	install -d debian/tmp/DEBIAN $(docdir)/examples \
		debian/tmp/usr/share/lintian/overrides
	cd debian/tmp && install -d var
	install -d -o ${smart} -g ${smart} -m 700 debian/tmp/var/list
	cd debian && install -m 755 preinst postinst postrm tmp/DEBIAN
	cd debian && install -m 644 conffiles tmp/DEBIAN
	CC="$(CC)" CFLAGS0="$(CFLAGS) $(CPPFLAGS)" LDFLAGS0="$(LDFLAGS)" \
		SmartList/install.sh `pwd`/debian/tmp/var/list /var/list
	$(STRIP) debian/tmp/var/list/.bin/multigram
	mv debian/tmp/var/list/.etc/Manual $(docdir)
	cp -p SmartList/examples/* $(docdir)/examples
	cd $(docdir)/examples && rm -f $(noexamples)
	mv debian/tmp/var/list/.examples/cronlist $(docdir)/examples
	rm -rf debian/tmp/var/list/.examples
	cd SmartList && cp -p $(smartlistdocs) ../$(docdir)
	cd debian && cp -p QuickStart copyright README.confirm ccmail.patch \
		README.exim4 ../$(docdir)
	cp -p debian/changelog $(docdir)/changelog.Debian
	ln -s HISTORY.gz $(docdir)/changelog.gz
	cd $(docdir) && gzip -9n INTRO HISTORY Manual changelog.Debian
	rm -f debian/tmp/var/list/.procmailrc
	ln -s .etc/rc.main debian/tmp/var/list/.procmailrc
	rm -f debian/tmp/var/list/.etc/rc.init
	ln -s /usr/bin/procmail debian/tmp/var/list/.bin/procmail
	cp -p debian/lintian-overrides \
		debian/tmp/usr/share/lintian/overrides/$(package)
	dpkg-shlibdeps debian/tmp/var/list/.bin/multigram
	chown -R root:root debian/tmp
	chmod -R go=rX debian/tmp
	cd debian/tmp && chown -R list:list var/list
	cd debian/tmp && chown root:list    var/list/.bin/multigram
	cd debian/tmp && chmod 4755         var/list/.bin/multigram
	cd debian/tmp && chmod g+s          var/list/.bin var/list/.etc
	cd debian/tmp && chmod 440          var/list/.etc/rc.init.dist
	cd debian/tmp && chmod 640          var/list/.etc/rc.custom
	dpkg-gencontrol
	find debian/tmp -newermt '$(BUILD_DATE)' -print0 |\
		xargs -0r touch -h --date='$(BUILD_DATE)'
	dpkg --build debian/tmp ..

binary: binary-indep binary-arch

build-arch: build

build-indep: build

.PHONY: binary binary-arch binary-indep clean