]> granicus.if.org Git - postgresql/blob - GNUmakefile.in
/doc/src -> /doc for Peter.
[postgresql] / GNUmakefile.in
1 #
2 # PostgreSQL top level makefile
3 #
4 # $Header: /cvsroot/pgsql/GNUmakefile.in,v 1.23 2001/11/21 23:19:25 momjian Exp $
5 #
6
7 subdir =
8 top_builddir = .
9 include $(top_builddir)/src/Makefile.global
10
11 all:
12         $(MAKE) -C doc all
13         $(MAKE) -C src all
14         @echo "All of PostgreSQL successfully made. Ready to install."
15
16 install:
17         $(MAKE) -C doc install
18         $(MAKE) -C src install
19         @cat $(srcdir)/register.txt
20
21 installdirs uninstall distprep:
22         $(MAKE) -C doc $@
23         $(MAKE) -C src $@
24
25 install-all-headers:
26         $(MAKE) -C src $@
27
28 # clean, distclean, etc should apply to contrib too, even though
29 # it's not built by default
30 clean:
31         $(MAKE) -C doc $@
32         $(MAKE) -C contrib $@
33         $(MAKE) -C src $@
34
35 # Important: distclean `src' last, otherwise Makefile.global
36 # will be gone too soon.
37 distclean maintainer-clean:
38         -$(MAKE) -C doc $@
39         -$(MAKE) -C contrib $@
40         -$(MAKE) -C src $@
41         -rm -f config.cache config.log config.status GNUmakefile
42
43 check: all
44
45 check installcheck:
46         $(MAKE) -C src/test $@
47
48 GNUmakefile: GNUmakefile.in $(top_builddir)/config.status
49         CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
50
51
52 ##########################################################################
53
54 distdir := postgresql-$(VERSION)
55 dummy   := =install=
56 garbage := =*  "#"*  ."#"*  *~*  *.orig  *.rej  core  postgresql-*
57
58 dist: $(distdir).tar.gz
59 ifeq ($(split-dist), yes)
60 dist: postgresql-base-$(VERSION).tar.gz postgresql-docs-$(VERSION).tar.gz postgresql-opt-$(VERSION).tar.gz postgresql-test-$(VERSION).tar.gz
61 endif
62 dist:
63         -rm -rf $(distdir)
64
65 $(distdir).tar: distdir
66         $(TAR) chf $@ $(distdir)
67
68 opt_files := src/backend/utils/mb contrib/retep/build.xml \
69         src/tools src/corba src/data src/tutorial \
70         $(addprefix src/bin/, pgaccess pgtclsh pg_encoding) \
71         $(addprefix src/interfaces/, odbc libpq++ libpgtcl perl5 python jdbc) \
72         $(addprefix src/pl/, plperl tcl)
73
74 docs_files := doc/postgres.tar.gz doc/src doc/TODO.detail
75
76 postgresql-base-$(VERSION).tar: distdir
77         $(TAR) -c $(addprefix --exclude $(distdir)/, $(docs_files) $(opt_files) src/test) \
78           -f $@ $(distdir)
79
80 postgresql-docs-$(VERSION).tar: distdir
81         $(TAR) cf $@ $(addprefix $(distdir)/, $(docs_files))
82
83 postgresql-opt-$(VERSION).tar: distdir
84         $(TAR) cf $@ $(addprefix $(distdir)/, $(opt_files))
85
86 postgresql-test-$(VERSION).tar: distdir
87         $(TAR) cf $@ $(distdir)/src/test
88
89 distdir:
90         -rm -rf $(distdir)* $(dummy)
91         for x in `cd $(top_srcdir) && find . -name CVS -prune -o -print`; do \
92           file=`expr X$$x : 'X\./\(.*\)'`; \
93           if test -d "$(top_srcdir)/$$file" ; then \
94             mkdir "$(distdir)/$$file" && chmod 777 "$(distdir)/$$file"; \
95           else \
96             ln "$(top_srcdir)/$$file" "$(distdir)/$$file" >/dev/null 2>&1 \
97               || cp "$(top_srcdir)/$$file" "$(distdir)/$$file"; \
98           fi || exit; \
99         done
100         $(MAKE) -C $(distdir) distprep
101         $(MAKE) -C $(distdir) distclean
102
103 distcheck: $(distdir).tar.gz
104         -rm -rf $(dummy)
105         mkdir $(dummy)
106         $(GZIP) -d -c $< | $(TAR) xf -
107         install_prefix=`cd $(dummy) && pwd`; \
108         cd $(distdir) \
109         && ./configure --prefix="$$install_prefix"
110         $(MAKE) -C $(distdir) -q distprep
111         $(MAKE) -C $(distdir)
112         $(MAKE) -C $(distdir) install
113         $(MAKE) -C $(distdir) uninstall
114         @echo "checking whether \`$(MAKE) uninstall' works"
115         test `find $(dummy) ! -type d | wc -l` -eq 0
116         $(MAKE) -C $(distdir) dist
117 # Room for improvement: Check here whether this distribution tarball
118 # is sufficiently similar to the original one.
119         -rm -rf $(distdir) $(dummy)
120         @echo "Distribution integrity checks out."
121
122 .PHONY: dist distdir distcheck
123 unexport split-dist