OSDN Git Service

Improved parallel make support
[pg-rex/syncrep.git] / GNUmakefile.in
1 #
2 # PostgreSQL top level makefile
3 #
4 # GNUmakefile.in
5 #
6
7 subdir =
8 top_builddir = .
9 include $(top_builddir)/src/Makefile.global
10
11 $(call recurse,all install,src config)
12
13 all:
14         +@echo "All of PostgreSQL successfully made. Ready to install."
15
16 docs:
17         $(MAKE) -C doc all
18
19 $(call recurse,world,doc src config contrib,all)
20 world:
21         +@echo "PostgreSQL, contrib, and documentation successfully made. Ready to install."
22
23 html man:
24         $(MAKE) -C doc $@
25
26 install:
27         +@echo "PostgreSQL installation complete."
28
29 install-docs:
30         $(MAKE) -C doc install
31
32 $(call recurse,install-world,doc src config contrib,install)
33 install-world:
34         +@echo "PostgreSQL, contrib, and documentation installation complete."
35
36 $(call recurse,installdirs uninstall coverage,doc src config)
37
38 $(call recurse,distprep,doc src config contrib)
39
40 # clean, distclean, etc should apply to contrib too, even though
41 # it's not built by default
42 $(call recurse,clean,doc contrib src config)
43 clean:
44 # Garbage from autoconf:
45         @rm -rf autom4te.cache/
46
47 # Important: distclean `src' last, otherwise Makefile.global
48 # will be gone too soon.
49 distclean maintainer-clean:
50         $(MAKE) -C doc $@
51         $(MAKE) -C contrib $@
52         $(MAKE) -C config $@
53         $(MAKE) -C src $@
54         rm -f config.cache config.log config.status GNUmakefile
55 # Garbage from autoconf:
56         @rm -rf autom4te.cache/
57
58 check: all
59
60 check installcheck installcheck-parallel:
61         $(MAKE) -C src/test $@
62
63 $(call recurse,installcheck-world,src/test src/pl src/interfaces/ecpg contrib,installcheck)
64
65 GNUmakefile: GNUmakefile.in $(top_builddir)/config.status
66         ./config.status $@
67
68
69 ##########################################################################
70
71 distdir = postgresql-$(VERSION)
72 dummy   = =install=
73 garbage = =*  "#"*  ."#"*  *~*  *.orig  *.rej  core  postgresql-*
74
75 dist: $(distdir).tar.gz $(distdir).tar.bz2
76         rm -rf $(distdir)
77
78 $(distdir).tar: distdir
79         $(TAR) chf $@ $(distdir)
80
81 .INTERMEDIATE: $(distdir).tar
82
83 distdir-location:
84         @echo $(distdir)
85
86 distdir:
87         rm -rf $(distdir)* $(dummy)
88         for x in `cd $(top_srcdir) && find . \( -name CVS -prune \) -o \( -name .git -prune \) -o -print`; do \
89           file=`expr X$$x : 'X\./\(.*\)'`; \
90           if test -d "$(top_srcdir)/$$file" ; then \
91             mkdir "$(distdir)/$$file" && chmod 777 "$(distdir)/$$file"; \
92           else \
93             ln "$(top_srcdir)/$$file" "$(distdir)/$$file" >/dev/null 2>&1 \
94               || cp "$(top_srcdir)/$$file" "$(distdir)/$$file"; \
95           fi || exit; \
96         done
97         $(MAKE) -C $(distdir) distprep
98         $(MAKE) -C $(distdir)/doc/src/sgml/ HISTORY INSTALL regress_README
99         cp $(distdir)/doc/src/sgml/HISTORY $(distdir)/
100         cp $(distdir)/doc/src/sgml/INSTALL $(distdir)/
101         cp $(distdir)/doc/src/sgml/regress_README $(distdir)/src/test/regress/README
102         $(MAKE) -C $(distdir) distclean
103         rm -f $(distdir)/README.git
104
105 distcheck: dist
106         rm -rf $(dummy)
107         mkdir $(dummy)
108         $(GZIP) -d -c $(distdir).tar.gz | $(TAR) xf -
109         install_prefix=`cd $(dummy) && pwd`; \
110         cd $(distdir) \
111         && ./configure --prefix="$$install_prefix"
112         $(MAKE) -C $(distdir) -q distprep
113         $(MAKE) -C $(distdir)
114         $(MAKE) -C $(distdir) install
115         $(MAKE) -C $(distdir) uninstall
116         @echo "checking whether \`$(MAKE) uninstall' works"
117         test `find $(dummy) ! -type d | wc -l` -eq 0
118         $(MAKE) -C $(distdir) dist
119 # Room for improvement: Check here whether this distribution tarball
120 # is sufficiently similar to the original one.
121         rm -rf $(distdir) $(dummy)
122         @echo "Distribution integrity checks out."
123
124 .PHONY: dist distdir distcheck docs install-docs world install-world installcheck-world