#!/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
CFLAGS0 = -g
LDFLAGS0 =
SEARCHLIBS = -lm
STRIP = true

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

build:
	$(MAKE) CC="$(CC)" CFLAGS0="" LDFLAGS0="$(LDFLAGS0)" \
		SEARCHLIBS="$(SEARCHLIBS)" autoconf.h
	$(MAKE) CC="$(CC)" CFLAGS0="$(CFLAGS0)" LDFLAGS0="$(LDFLAGS0)" \
		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
	# Important note: Make sure that all directories in
	# `pwd`/debian/tmp/var/list are world-readable.
	# Otherwise you may get this strange error:
	# "Can't access /var/list, are you sure it's there?"
	# I got this error because my home directory was mode 700.
	# Simply chmod 755 it and this will work.
	CC="$(CC)" CFLAGS0="$(CFLAGS0)" LDFLAGS0="$(LDFLAGS0)" \
		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
	chown -R root:root $(docdir)
	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
	sh debian/fakeroot-workaround
	chmod -R go=rX $(docdir)
	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

.PHONY: binary binary-arch binary-indep clean
