Build system: Break out common.make[.in]
[adns] / Makefile.in
1 # Makefile[.in] - top-level Makefile
2 #
3 # This file is part of adns, which is
4 # Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson
5 # Copyright (C) 2014 Mark Wooding
6 # Copyright (C) 1999-2000,2003,2006 Tony Finch
7 # Copyright (C) 1991 Massachusetts Institute of Technology
8 # (See the file INSTALL for full details.)
9 #
10 # This program is free software; you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License as published by
12 # the Free Software Foundation; either version 3, or (at your option)
13 # any later version.
14 #
15 # This program is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 # GNU General Public License for more details.
19 #
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write to the Free Software Foundation.
22
23 include ./common.make
24
25 # Remember to change ADNS_VERSION_STRING in client/client.h too, and
26 # possibly library soname (MAJOR and MINOR in common.make.in).
27 DISTVERSION= 1.5.0~~
28
29 srcdir= @srcdir@
30 VPATH= @srcdir@
31
32 ENABLE_DYNAMIC= @ENABLE_DYNAMIC@
33 ifeq ($(ENABLE_DYNAMIC),elf)
34 SUBDIRS_DYNAMIC=dynamic
35 else
36 SUBDIRS_DYNAMIC=
37 endif
38
39 SUBDIRS= src $(SUBDIRS_DYNAMIC) client regress
40
41 all install uninstall clean distclean mostlyclean maintainer-clean distprep:
42 set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done
43 $(MAKE) $@-here
44
45 all-here install-here uninstall-here distprep-here: README
46
47 clean-here mostlyclean-here:
48 rm -f *~ ./#*# core *.orig *.rej adns-*.tar.gz
49 rm -rf dist_tmp web adnshost.txt
50
51 distclean-here maintainer-clean-here: clean-here
52 rm -f settings.make config.cache config.log config.status Makefile
53
54 install-strip:
55 $(MAKE) INSTALL_PROGRAM_FLAGS=-s
56
57 dist_tmp=dist_tmp/adns-$(DISTVERSION)
58 dist: distprep
59 rm -rf dist_tmp*
60 mkdir dist_tmp $(dist_tmp)
61 find \( -name .git -o -name dist_tmp* \) -prune -o -type d -print | \
62 sed -e 's#.*#mkdir -p $(dist_tmp)/&#' | sh
63 find \( -name .git -o -name dist_tmp* \) -prune -o -type f -print | \
64 sed -e 's#.*#ln & $(dist_tmp)/&#' | sh
65 $(MAKE) -C dist_tmp/adns-$(DISTVERSION) distclean
66 cd dist_tmp && tar cf ../$(dist_tmp).tar `basename $(dist_tmp)`
67 gzip -9 $(dist_tmp).tar
68 mv $(dist_tmp).tar.gz .
69
70 adnshost.txt: all
71 client/adnshost_s --help >$@.tmp && mv -f $@.tmp $@
72
73 check: all
74 $(MAKE) -C regress check
75
76 README: README.html
77 lynx -dump -number_links -cfg=/dev/null $(srcdir)/README.html >README.tmp
78 mv -f README.tmp $(srcdir)/README
79
80 TAGS info dvi:
81 # do nothing
82
83 .PHONY: install #people with case-insensitive filesystems lose otherwise!