1#
2# Copyright 1998 - 2018 Double Precision, Inc.  See COPYING for
3# distribution information.
4
5@SET_MAKE@
6
7AM_DISTCHECK_CONFIGURE_FLAGS=--with-notice=unicode
8
9TEMPLFILES=packaging/suse/courier-imap.init.in \
10	packaging/suse/imap.pam \
11	packaging/suse/pop3.pam
12
13SUBDIRS=libs/numlib libs/bdbobj libs/gdbmobj libs/soxwrap \
14	libs/rfc822 libs/rfc2045 \
15	libs/md5 libs/sha1 libs/random128 libs/rfc1035 libs/liblock \
16	libs/maildir libs/makedat libs/libhmac \
17	libs/waitlib libs/tcpd libs/rootcerts libs/imap
18
19sbin_SCRIPTS=sharedindexinstall sharedindexsplit
20CLEANFILES=$(databin_SCRIPTS) $(man_MANS) $(sysconf_DATA) $(sbin_SCRIPTS)
21databindir=$(datadir)
22databin_SCRIPTS=mkimapdcert mkpop3dcert mkdhparams
23
24binPROGRAMS=imapd pop3d maildirmake maildiracl deliverquota maildirkw \
25	makeimapaccess makedat
26sbinPROGRAMS=imaplogin pop3login
27libexecPROGRAMS=makedatprog couriertcpd
28
29bin_PROGRAMS= @binPROGRAMS_exec@
30sbin_PROGRAMS=@sbinPROGRAMS_exec@
31libexec_PROGRAMS=@libexecPROGRAMS_exec@
32
33EXTRA_PROGRAMS=
34
35man_MANS=couriertcpd.1 deliverquota.8 maildirmake.1 maildiracl.1 imapd.8 mkdhparams.8 mkimapdcert.8 mkpop3dcert.8 maildirkw.1 makeimapaccess.8
36EXTRA_DIST=README README.cygwin\
37	COPYING.GPL NEWS.html $(TEMPLFILES) pgpkeys.txt
38
39sysconf_DATA=imapd.dist imapd-ssl.dist pop3d.dist pop3d-ssl.dist \
40	imapd.cnf pop3d.cnf quotawarnmsg.example
41libexec_SCRIPTS=imapd.rc imapd-ssl.rc pop3d.rc pop3d-ssl.rc
42
43HTML2TXT=links -dump -no-numbering -no-references
44
45NEWS: NEWS.html
46	$(HTML2TXT) NEWS.html >NEWS
47
48imaplogin: libs/imap/imaplogin
49	cp libs/imap/imaplogin .
50
51maildirkw: libs/maildir/maildirkw
52	cp libs/maildir/maildirkw .
53
54imapd: libs/imap/imapd
55	cp libs/imap/imapd .
56
57sharedindexinstall: libs/maildir/sharedindexinstall
58	cp libs/maildir/sharedindexinstall .
59
60sharedindexsplit: libs/maildir/sharedindexsplit
61	cp libs/maildir/sharedindexsplit .
62
63pop3login: libs/imap/pop3login
64	cp libs/imap/pop3login .
65
66pop3d: libs/imap/pop3d
67	cp libs/imap/pop3d .
68
69makedat: libs/makedat/makedat
70	cp libs/makedat/makedat .
71
72makedatprog: libs/makedat/makedatprog
73	cp libs/makedat/makedatprog .
74
75couriertcpd: libs/tcpd/couriertcpd
76	cp libs/tcpd/couriertcpd .
77
78maildirmake: libs/maildir/maildirmake
79	cp libs/maildir/maildirmake .
80
81maildiracl: libs/maildir/maildiracl
82	cp libs/maildir/maildiracl .
83
84deliverquota: libs/maildir/deliverquota
85	cp libs/maildir/deliverquota .
86
87pop3d.dist: libs/imap/pop3d.dist
88	cp libs/imap/pop3d.dist .
89
90pop3d-ssl.dist: libs/imap/pop3d-ssl.dist
91	cp libs/imap/pop3d-ssl.dist .
92
93imapd.dist: libs/imap/imapd.dist
94	cp libs/imap/imapd.dist .
95
96imapd-ssl.dist: libs/imap/imapd-ssl.dist
97	cp libs/imap/imapd-ssl.dist .
98
99couriertcpd.1: libs/tcpd/couriertcpd.1
100	cp $(srcdir)/libs/tcpd/couriertcpd.1 .
101
102deliverquota.8: libs/maildir/deliverquota.8
103	cp libs/maildir/deliverquota.8 .
104
105maildirmake.1: libs/maildir/maildirmake.1
106	cp libs/maildir/maildirmake.1 .
107
108maildiracl.1: libs/maildir/maildiracl.1
109	cp libs/maildir/maildiracl.1 .
110
111maildirkw.1: libs/maildir/maildirkw.1
112	cp $(srcdir)/libs/maildir/maildirkw.1 .
113
114imapd.8: libs/imap/imapd.8
115	cp libs/imap/imapd.8 .
116
117mkdhparams: libs/imap/mkdhparams
118	cp libs/imap/mkdhparams .
119
120mkimapdcert: libs/imap/mkimapdcert
121	cp libs/imap/mkimapdcert .
122
123mkpop3dcert: libs/imap/mkpop3dcert
124	cp libs/imap/mkpop3dcert .
125
126mkdhparams.8: libs/imap/mkdhparams.8
127	cp -f libs/imap/mkdhparams.8 .
128
129mkimapdcert.8: libs/imap/mkimapdcert.8
130	cp -f libs/imap/mkimapdcert.8 .
131
132makeimapaccess.8: libs/imap/makeimapaccess.8
133	cp -f libs/imap/makeimapaccess.8 .
134
135mkpop3dcert.8: libs/imap/mkpop3dcert.8
136	cp -f libs/imap/mkpop3dcert.8 .
137
138imapd.cnf: libs/imap/imapd.cnf
139	cp libs/imap/imapd.cnf .
140
141pop3d.cnf: libs/imap/pop3d.cnf
142	cp libs/imap/pop3d.cnf .
143
144quotawarnmsg.example: libs/maildir/quotawarnmsg
145	cp -f $(srcdir)/libs/maildir/quotawarnmsg quotawarnmsg.example
146
147install-exec-local:
148	$(mkinstalldirs) $(DESTDIR)$(databindir)
149	$(mkinstalldirs) $(DESTDIR)$(bindir)
150	test ! -x libs/tcpd/couriertls || $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) \
151		libs/tcpd/couriertls $(DESTDIR)$(bindir)/couriertls
152	$(mkinstalldirs) $(DESTDIR)$(sbindir)
153	for f in mkimapdcert mkpop3dcert mkdhparams; \
154		do rm -f $(DESTDIR)$(sbindir)/$$f ; \
155		$(LN_S) $(databindir)/$$f $(DESTDIR)$(sbindir)/$$f ; done
156	$(mkinstalldirs) $(DESTDIR)$(localstatedir)
157
158install-exec-hook:
159	chmod 444 $(DESTDIR)$(sysconfdir)/quotawarnmsg.example
160	mkdir -p $(DESTDIR)$(sysconfdir)/shared
161	chmod 755 $(DESTDIR)$(sysconfdir)/shared
162	mkdir -p $(DESTDIR)$(sysconfdir)/shared.tmp
163	chmod 755 $(DESTDIR)$(sysconfdir)/shared.tmp
164	mkdir -p $(DESTDIR)$(sysconfdir)/imapaccess
165	chmod 755 $(DESTDIR)$(sysconfdir)/imapaccess
166
167install-data-local: install-man
168	test -d $(DESTDIR)/etc/pam.d || exit 0 ; \
169	test -w $(DESTDIR)/etc/pam.d || exit 0 ; \
170	test -f $(DESTDIR)/etc/pam.d/imap || \
171		$(INSTALL_DATA) $(srcdir)/libs/imap/imapd.pam \
172		$(DESTDIR)/etc/pam.d/imap || exit 1 ;\
173	test -f $(DESTDIR)/etc/pam.d/pop3 || \
174		$(INSTALL_DATA) $(srcdir)/libs/imap/pop3d.pam \
175		$(DESTDIR)/etc/pam.d/pop3 || exit 1
176	for f in $(man_MANS); do chmod a+r $(DESTDIR)$(mandir)/*/$$f; done
177	@echo "Do not forget to run make install-configure"
178
179uninstall-local:
180	for f in mkimapdcert mkpop3dcert mkdhparams; \
181		do rm -f $(DESTDIR)$(sbindir)/$$f ; done
182	rm -f $(DESTDIR)$(bindir)/couriertls
183
184INSTALL.txt: INSTALL.html
185	$(HTML2TXT) INSTALL.html >INSTALL.txt
186
187#
188# For maintainer's use only
189#
190
191dist-hook: courier-imap.spec
192	test -f $(srcdir)/rpm.release && cp $(srcdir)/rpm.release $(distdir) \
193		; exit 0
194	rm -f $(distdir)/INSTALL
195	$(HTML2TXT) INSTALL.html >$(distdir)/INSTALL
196	cp $(srcdir)/courier-imap.spec $(distdir)
197
198if HAVE_HTML
199
200README: html/main.html
201	$(HTML2TXT) $(srcdir)/html/index.html >README
202endif
203
204distrelease:
205	umask 022; $(MAKE) distcheck
206	$(MAKE) rpm
207	$(MAKE)
208	$(MAKE)
209	$(MAKE) release
210
211release: dist
212
213rpm: build-rpm
214
215build-rpm:
216	$(MAKE) courier-imap.spec
217	$(MAKE) bump.rpm.release
218	$(MAKE) dist
219	rm -rf rpm/BUILD/*
220	rm -f rpm/RPMS/*/*
221	rm -f rpm/SOURCES/*
222	rm -f rpm/SPECS/*
223	rm -f rpm/SRPMS/*
224	rpmbuild -ta --clean \
225		--define 'notice_option --with-notice=unicode' \
226		--define "_topdir `pwd`/rpm" \
227		--define '_rpmdir %{_topdir}/RPMS' \
228		--define '_srcrpmdir %{_topdir}/SRPMS' \
229		--define '_sourcedir %{_topdir}/SOURCES' \
230		--define '_specdir %{_topdir}/SPECS' \
231		--define '_builddir %{_topdir}/BUILD' \
232		--define '_build_name_fmt %%{ARCH}/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' \
233		--define '_tmppath %{_var}/tmp' \
234		--define '__spec_prep_pre %{___build_pre}' \
235		@PACKAGE_NAME@-@PACKAGE_VERSION@.tar.bz2
236
237lpm: lpm-build
238
239lpm-build:
240	$(MAKE) -$(MAKEFLAGS) bump.rpm.release
241	$(MAKE) -$(MAKEFLAGS) dist
242	rm -rf lpm
243	mkdir lpm
244	lpbuild --srcbuild -o lpm @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.bz2
245
246publish:
247	lpbuild --resign lpm/*
248	rm -rf lpmtmp
249	mkdir lpmtmp
250	ln lpm/* lpmtmp
251	mv lpmtmp/*.src.lp repository/`lpm -q --distribution`/sources
252	mv lpmtmp/*.lp repository/`lpm -q --distribution`/packages
253	rm -rf lpmtmp
254	lpm --sync repository && rsync -a -v --delete-after repository/. headache:lpmtool.com/www/repositories/courier-imap
255
256bump.rpm.release: @PACKAGE_NAME@.spec
257	VERSION="x"; \
258	test -f $(srcdir)/rpm.release && . $(srcdir)/rpm.release; \
259	NEXT_RELEASE=0; \
260	test "$$VERSION" = "@PACKAGE_VERSION@" && NEXT_RELEASE="$$RELEASE"; \
261	RELEASE=`expr $$NEXT_RELEASE + 1`; \
262	echo "VERSION=@PACKAGE_VERSION@" >$(srcdir)/rpm.release; \
263	echo "RELEASE=$$RELEASE" >>$(srcdir)/rpm.release; \
264	sed 's/^Release: .*/Release: '$$RELEASE'%{courier_release}/' \
265		courier-imap.spec >courier-imap.spec.new ; \
266	mv courier-imap.spec.new courier-imap.spec
267
268all-recursive: all-make-check
269
270all-make-check:
271	$(MAKE) all-gmake-check FOO=BAR
272
273all-gmake-check:
274	@test "$(FOO)" = "BAR" && exit 0 ; echo "" ; \
275		echo "ERROR: Something's wrong.  If you're using xBSD, you must use gmake" ; \
276		echo "instead of make, as you were told by the INSTALL file (you did read the" ; \
277		echo "INSTALL file, did you?)" ; echo "" ; exit 1
278
279
280# Copyright 2000 Double Precision, Inc.  See COPYING for
281# distribution information.
282
283# Need to add sysconftoolize to package:
284
285EXTRA_DIST += sysconftool
286
287# NOTE: when using a complex directory hierarchy it is only necessary to
288# include sysconftool in the top level directory, and it is not necessary
289# to add sysconftool to EXTRA_DIST in subdirectories.
290
291SYSCONFFILES=$(sysconf_DATA)
292
293# SYSCONFFILES should be all of your .dist files, this is a default.
294# You can also change install-configure-local target below, instead.
295
296# If -- in a complex directory hierarchy -- a certain subdirectory does not
297# need install-configure, leave it defined as an empty rule to prevent
298# sysconftoolize from appending another form template to this Makefile.am
299
300install-configure:
301	@list='$(SUBDIRS)'; for subdir in $$list; do \
302		( case "$$subdir" in .) continue;; \
303			*) target=install-configure;; esac ; \
304		cd $$subdir ; $(MAKE) install-configure DESTDIR=$(DESTDIR) 2>/dev/null) \
305			; done ; exit 0
306	$(MAKE) install-configure-local DESTDIR=$(DESTDIR)
307
308# Modify the following target as appropriate:
309
310install-configure-local:
311	@list="$(SYSCONFFILES)"; \
312		for file in $$list; do \
313		file="$(DESTDIR)$(sysconfdir)/$$file" ; \
314		case "$$file" in *.dist) \
315			@SYSCONFTOOL@ $$file;; esac ; done
316upload-beta:
317	rm -f @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.bz2.sig; gpg --detach-sign --default-key mrsam@courier-mta.com @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.bz2; test -f @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.bz2.sig || exit 1
318	~/src/sftools/release.pl mrsam courier imap-devel `echo @PACKAGE_VERSION@|sed 's/.*\(........\)/\1/'` @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.bz2 @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.bz2.sig
319
320upload-dist:
321	rm -f @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.bz2.sig; gpg --detach-sign --default-key mrsam@courier-mta.com @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.bz2; test -f @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.bz2.sig || exit 1
322	set -e; v="@PACKAGE_NAME@/@PACKAGE_VERSION@/`date +%Y%m%d%H%M%S`"; git tag -s $$v -m 'Tag version @PACKAGE_VERSION@'; cd libs; git tag -s $$v -m 'Tag version @PACKAGE_VERSION@'
323	socksify ~/src/sftools/release.pl mrsam courier imap @PACKAGE_VERSION@ @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.bz2 @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.bz2.sig
324
325dollar=$$
326id=$(dollar)Id
327
328WWW=$$HOME/www/hostrocket/courier-mta.org
329
330htmldoc: INSTALL.html libs/imap/README.html libs/maildir/README.maildirquota.html libs/maildir/README.sharedfolders.html libs/maildir/README.imapkeywords.html libs/imap/BUGS.html libs/imap/README.proxy.html libs/imap/README.html
331	for f in $^; do xsltproc --nonet $(srcdir)/imap-format.xsl $$f | perl -ne 's~\$(id):.*\$$~\$(id):'"$$h"'\$$~; print' >$(WWW)/imap/`basename $$f`; done
332	rm -rf doc
333	mkdir doc
334	xsltproc --nonet -o doc/ $(srcdir)/imap.xsl $(srcdir)/imap.xml
335	for f in doc/*.html; do \
336		echo $$f; \
337		tidy -i -asxml --doctype transitional \
338			--input-encoding utf8 --output-encoding ascii \
339			-q --tidy-mark no $$f >$$f.tmp; \
340		xsltproc --nonet $(WWW)/xsl/postproc.xsl \
341			$$f.tmp > $$f.tmp2; \
342		xsltproc --nonet $(srcdir)/imap-format.xsl \
343			 $$f.tmp2 >$$f; \
344		rm -f $$f.tmp*; done
345	mv -f doc/*.html $(WWW)/imap
346	cp -f courier-imap.png bg.png $(WWW)/imap
347	rm -rf doc
348
349AUTOMAKE_OPTIONS=dist-bzip2
350