GNUmakefile.in 3.6 KB
Newer Older
1 2 3
#
# PostgreSQL top level makefile
#
4
# GNUmakefile.in
5 6
#

7
subdir =
8
top_builddir = .
9
include $(top_builddir)/src/Makefile.global
10

P
Peter Eisentraut 已提交
11 12
$(call recurse,all install,src config)

13
all:
P
Peter Eisentraut 已提交
14
	+@echo "All of PostgreSQL successfully made. Ready to install."
15

16 17 18
docs:
	$(MAKE) -C doc all

P
Peter Eisentraut 已提交
19
$(call recurse,world,doc src config contrib,all)
20
world:
P
Peter Eisentraut 已提交
21
	+@echo "PostgreSQL, contrib, and documentation successfully made. Ready to install."
22

23 24 25
# build src/ before contrib/
world-contrib-recurse: world-src-recurse

26 27 28
html man:
	$(MAKE) -C doc $@

29
install:
P
Peter Eisentraut 已提交
30
	+@echo "PostgreSQL installation complete."
31

32 33 34
install-docs:
	$(MAKE) -C doc install

P
Peter Eisentraut 已提交
35
$(call recurse,install-world,doc src config contrib,install)
36
install-world:
P
Peter Eisentraut 已提交
37
	+@echo "PostgreSQL, contrib, and documentation installation complete."
38

39 40 41
# build src/ before contrib/
install-world-contrib-recurse: install-world-src-recurse

42
$(call recurse,installdirs uninstall coverage init-po update-po,doc src config)
43

P
Peter Eisentraut 已提交
44
$(call recurse,distprep,doc src config contrib)
45

46 47
# clean, distclean, etc should apply to contrib too, even though
# it's not built by default
P
Peter Eisentraut 已提交
48
$(call recurse,clean,doc contrib src config)
49
clean:
50 51
# Garbage from autoconf:
	@rm -rf autom4te.cache/
52 53

# Important: distclean `src' last, otherwise Makefile.global
54
# will be gone too soon.
55
distclean maintainer-clean:
56 57 58 59 60
	$(MAKE) -C doc $@
	$(MAKE) -C contrib $@
	$(MAKE) -C config $@
	$(MAKE) -C src $@
	rm -f config.cache config.log config.status GNUmakefile
61 62
# Garbage from autoconf:
	@rm -rf autom4te.cache/
63

64 65
check: all

66
check installcheck installcheck-parallel:
67
	$(MAKE) -C src/test/regress $@
68

69
$(call recurse,check-world,src/test src/pl src/interfaces/ecpg contrib,check)
70

P
Peter Eisentraut 已提交
71
$(call recurse,installcheck-world,src/test src/pl src/interfaces/ecpg contrib,installcheck)
72

73
GNUmakefile: GNUmakefile.in $(top_builddir)/config.status
74
	./config.status $@
75 76


77 78
##########################################################################

79 80 81
distdir	= postgresql-$(VERSION)
dummy	= =install=
garbage = =*  "#"*  ."#"*  *~*  *.orig  *.rej  core  postgresql-*
82

83
dist: $(distdir).tar.gz $(distdir).tar.bz2
84
	rm -rf $(distdir)
85 86 87 88

$(distdir).tar: distdir
	$(TAR) chf $@ $(distdir)

89 90
.INTERMEDIATE: $(distdir).tar

91 92 93
distdir-location:
	@echo $(distdir)

94
distdir:
95
	rm -rf $(distdir)* $(dummy)
96
	for x in `cd $(top_srcdir) && find . \( -name CVS -prune \) -o \( -name .git -prune \) -o -print`; do \
97
	  file=`expr X$$x : 'X\./\(.*\)'`; \
98 99 100
	  if test -d "$(top_srcdir)/$$file" ; then \
	    mkdir "$(distdir)/$$file" && chmod 777 "$(distdir)/$$file";	\
	  else \
101 102
	    ln "$(top_srcdir)/$$file" "$(distdir)/$$file" >/dev/null 2>&1 \
	      || cp "$(top_srcdir)/$$file" "$(distdir)/$$file"; \
103 104
	  fi || exit; \
	done
105
	$(MAKE) -C $(distdir) distprep
106 107 108 109
	$(MAKE) -C $(distdir)/doc/src/sgml/ HISTORY INSTALL regress_README
	cp $(distdir)/doc/src/sgml/HISTORY $(distdir)/
	cp $(distdir)/doc/src/sgml/INSTALL $(distdir)/
	cp $(distdir)/doc/src/sgml/regress_README $(distdir)/src/test/regress/README
110
	$(MAKE) -C $(distdir) distclean
111
	rm -f $(distdir)/README.git
112

113
distcheck: dist
114
	rm -rf $(dummy)
115
	mkdir $(dummy)
116
	$(GZIP) -d -c $(distdir).tar.gz | $(TAR) xf -
117 118 119 120 121 122 123 124
	install_prefix=`cd $(dummy) && pwd`; \
	cd $(distdir) \
	&& ./configure --prefix="$$install_prefix"
	$(MAKE) -C $(distdir) -q distprep
	$(MAKE) -C $(distdir)
	$(MAKE) -C $(distdir) install
	$(MAKE) -C $(distdir) uninstall
	@echo "checking whether \`$(MAKE) uninstall' works"
125
	test `find $(dummy) ! -type d | wc -l` -eq 0
126 127 128
	$(MAKE) -C $(distdir) dist
# Room for improvement: Check here whether this distribution tarball
# is sufficiently similar to the original one.
129
	rm -rf $(distdir) $(dummy)
130 131
	@echo "Distribution integrity checks out."

132
.PHONY: dist distdir distcheck docs install-docs world check-world install-world installcheck-world