summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut2000-07-19 16:30:27 +0000
committerPeter Eisentraut2000-07-19 16:30:27 +0000
commit32163099d7c43a0244f463eb4e525c711e6e97a3 (patch)
treee7a940778fa8adb459b0c35912a0990a214d0759
parent79e6648649ad4bf6ef7112e9d97e35270397fb01 (diff)
Add distprep target to take some of the job of the release_prep script.
The latter updated accordingly. Also add `dist' and `distcheck' targets to play with, but caveat packager. Updated backend/bootstrap and backend/parser makefile to make them marginally builddir aware and fix the usual set of things. Add rule to automatically remake config.h dependent on config.h.in and config.status. (Adopted from Autoconf manual and about every other package.) On a good day we should now have a complete and accurate set of dependencies throughout everything.
-rw-r--r--GNUmakefile.in74
-rwxr-xr-xconfigure20
-rw-r--r--configure.in13
-rw-r--r--src/GNUmakefile.in4
-rw-r--r--src/Makefile.global.in23
-rw-r--r--src/backend/Makefile14
-rw-r--r--src/backend/bootstrap/Makefile65
-rw-r--r--src/backend/parser/Makefile57
-rw-r--r--src/bin/Makefile6
-rw-r--r--src/bin/psql/Makefile4
-rw-r--r--src/include/Makefile4
-rw-r--r--src/interfaces/Makefile6
-rw-r--r--src/interfaces/ecpg/Makefile2
-rw-r--r--src/interfaces/ecpg/preproc/Makefile2
-rw-r--r--src/pl/Makefile6
-rw-r--r--src/pl/plpgsql/Makefile4
-rw-r--r--src/pl/plpgsql/src/Makefile5
-rwxr-xr-xsrc/tools/release_prep60
18 files changed, 205 insertions, 164 deletions
diff --git a/GNUmakefile.in b/GNUmakefile.in
index 01323aa7463..8f544455e9c 100644
--- a/GNUmakefile.in
+++ b/GNUmakefile.in
@@ -1,7 +1,7 @@
#
# PostgreSQL top level makefile
#
-# $Header: /cvsroot/pgsql/GNUmakefile.in,v 1.8 2000/07/17 22:31:56 petere Exp $
+# $Header: /cvsroot/pgsql/GNUmakefile.in,v 1.9 2000/07/19 16:29:41 petere Exp $
#
subdir =
@@ -18,7 +18,7 @@ install:
$(MAKE) -C src install
@cat $(srcdir)/register.txt
-installdirs uninstall clean:
+installdirs uninstall clean distprep:
$(MAKE) -C doc $@
$(MAKE) -C src $@
@@ -51,3 +51,73 @@ endif
# aclocal.m4' or `make configure'.
$(top_srcdir)/aclocal.m4: $(wildcard $(top_srcdir)/config/*.m4)
cat $^ > $@
+
+
+##########################################################################
+
+distdir := postgresql-$(VERSION)
+dummy := =install=
+garbage := =* "#"* ."#"* *~* *.orig *.rej core postgresql-*
+
+
+dist: $(distdir).tar.gz
+ifeq ($(split-dist), yes)
+dist: $(distdir).base.tar.gz $(distdir).docs.tar.gz $(distdir).support.tar.gz $(distdir).test.tar.gz
+endif
+dist:
+ -rm -rf $(distdir)
+
+$(distdir).tar: distdir
+ $(TAR) chf $@ $(distdir)
+
+$(distdir).base.tar: distdir
+ $(TAR) -c $(addprefix --exclude $(distdir)/, doc src/test src/interfaces src/bin) \
+ -f $@ $(distdir)
+
+$(distdir).docs.tar: distdir
+ $(TAR) cf $@ $(distdir)/doc
+
+$(distdir).support.tar: distdir
+ $(TAR) cf $@ $(distdir)/src/interfaces $(distdir)/src/bin
+
+$(distdir).test.tar: distdir
+ $(TAR) cf $@ $(distdir)/src/test
+
+%.gz: %
+ gzip -f --best $<
+ @text="$@ is ready for distribution." ; \
+ frame=`echo "$$text" | sed -e 's/./=/g'` ; \
+ echo "$$frame" ; echo "$$text" ; echo "$$frame"
+
+distdir: distprep
+ -rm -rf $(distdir)* $(install)
+ for x in `cd $(top_srcdir) && find . -name CVS -prune -o -print`; do \
+ file=`expr $$x : '\./\(.*\)'`; \
+ if test -d "$(top_srcdir)/$$file" ; then \
+ mkdir "$(distdir)/$$file" && chmod 777 "$(distdir)/$$file"; \
+ else \
+ ln "$(top_srcdir)/$$file" "$(distdir)/$$file"; \
+ fi || exit; \
+ done
+ $(MAKE) -C $(distdir) distclean
+
+distcheck: dist
+ -rm -rf $(dummy)
+ mkdir $(dummy)
+ gunzip -c $(distdir).tar.gz | $(TAR) xf -
+ 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"
+ test `find $(dummy) -not -type d | wc -l` -eq 0
+ $(MAKE) -C $(distdir) dist
+# Room for improvement: Check here whether this distribution tarball
+# is sufficiently similar to the original one.
+ -rm -rf $(distdir) $(dummy)
+ @echo "Distribution integrity checks out."
+
+.PHONY: dist distdir distcheck
diff --git a/configure b/configure
index 0584c433f36..55e85474877 100755
--- a/configure
+++ b/configure
@@ -7850,11 +7850,12 @@ done
ac_given_srcdir=$srcdir
ac_given_INSTALL="$INSTALL"
-trap 'rm -fr `echo "GNUmakefile
- src/GNUmakefile
- src/Makefile.global
- src/backend/port/Makefile
- src/test/regress/GNUmakefile
+trap 'rm -fr `echo "
+ GNUmakefile
+ src/GNUmakefile
+ src/Makefile.global
+ src/backend/port/Makefile
+ src/test/regress/GNUmakefile
src/include/config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF
cat >> $CONFIG_STATUS <<EOF
@@ -8011,10 +8012,10 @@ EOF
cat >> $CONFIG_STATUS <<EOF
CONFIG_FILES=\${CONFIG_FILES-"GNUmakefile
- src/GNUmakefile
- src/Makefile.global
- src/backend/port/Makefile
- src/test/regress/GNUmakefile
+ src/GNUmakefile
+ src/Makefile.global
+ src/backend/port/Makefile
+ src/test/regress/GNUmakefile
"}
EOF
cat >> $CONFIG_STATUS <<\EOF
@@ -8231,6 +8232,7 @@ cat >> $CONFIG_STATUS <<EOF
EOF
cat >> $CONFIG_STATUS <<\EOF
+echo timestamp > src/include/stamp-h
exit 0
EOF
diff --git a/configure.in b/configure.in
index 62fdbecc8a0..c035dc14aea 100644
--- a/configure.in
+++ b/configure.in
@@ -1277,9 +1277,12 @@ fi
dnl Finally ready to produce output files ...
AC_OUTPUT(
- GNUmakefile
- src/GNUmakefile
- src/Makefile.global
- src/backend/port/Makefile
- src/test/regress/GNUmakefile
+[
+ GNUmakefile
+ src/GNUmakefile
+ src/Makefile.global
+ src/backend/port/Makefile
+ src/test/regress/GNUmakefile
+],
+[echo timestamp > src/include/stamp-h]
)
diff --git a/src/GNUmakefile.in b/src/GNUmakefile.in
index 83d69dd406c..236400f8e07 100644
--- a/src/GNUmakefile.in
+++ b/src/GNUmakefile.in
@@ -4,7 +4,7 @@
#
# Copyright (c) 1994, Regents of the University of California
#
-# $Header: /cvsroot/pgsql/src/Attic/GNUmakefile.in,v 1.57 2000/07/06 21:33:12 petere Exp $
+# $Header: /cvsroot/pgsql/src/Attic/GNUmakefile.in,v 1.58 2000/07/19 16:29:42 petere Exp $
#
#-------------------------------------------------------------------------
@@ -13,7 +13,7 @@ top_builddir = ..
include Makefile.global
-all install installdirs uninstall dep depend:
+all install installdirs uninstall dep depend distprep:
$(MAKE) -C backend $@
$(MAKE) -C include $@
$(MAKE) -C interfaces $@
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index 5a8b2e07474..b3572ecabf1 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -7,7 +7,7 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.88 2000/07/17 22:31:59 petere Exp $
+# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.89 2000/07/19 16:29:42 petere Exp $
#
# NOTES
# Essentially all Postgres make files include this file and use the
@@ -281,15 +281,34 @@ STRERROR2 = @STRERROR2@
SNPRINTF = @SNPRINTF@
STRDUP = @STRDUP@
-.PHONY: all install installdirs uninstall dep depend clean distclean maintainer-clean
+.PHONY: all install installdirs uninstall dep depend clean distclean maintainer-clean distprep
.SILENT: installdirs
# make `all' the default target
all:
+
+# Remake Makefile.global from Makefile.global.in if the latter
+# changed. In order to trigger this rule, the including file must
+# write `include $(top_builddir)/src/Makefile.global', not some
+# shortcut thereof.
$(top_builddir)/src/Makefile.global: $(top_srcdir)/src/Makefile.global.in $(top_builddir)/config.status
cd $(top_builddir) && CONFIG_FILES=src/Makefile.global CONFIG_HEADERS= ./config.status
+# Remake config.h from config.h.in if the latter changed.
+# config.status will not change the timestamp on config.h if it
+# doesn't change, so as to avoid recompiling the entire tree
+# unnecessarily. Therefore config.status will update a timestamp file
+# everytime it runs so that we don't trigger this rule everytime.
+#
+# Of course you need to turn on dependency tracking to get any
+# dependencies on config.h
+$(top_builddir)/src/include/config.h: $(top_builddir)/src/include/stamp-h
+$(top_builddir)/src/include/stamp-h: $(top_srcdir)/src/include/config.h.in $(top_builddir)/config.status
+ cd $(top_builddir) && CONFIG_FILES= CONFIG_HEADERS=src/include/config.h ./config.status
+
+# When configure changes, rerun configure with the same options as
+# last time. To change configure, you need to run autoconf manually.
$(top_builddir)/config.status: $(top_srcdir)/configure
cd $(top_builddir) && ./config.status --recheck
diff --git a/src/backend/Makefile b/src/backend/Makefile
index f9d64711d93..f2848c4a7ac 100644
--- a/src/backend/Makefile
+++ b/src/backend/Makefile
@@ -4,7 +4,7 @@
#
# Copyright (c) 1994, Regents of the University of California
#
-# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.62 2000/07/16 14:50:44 petere Exp $
+# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.63 2000/07/19 16:29:44 petere Exp $
#
#-------------------------------------------------------------------------
@@ -108,6 +108,14 @@ $(top_builddir)/src/include/utils/fmgroids.h: utils/fmgroids.h
##########################################################################
+distprep:
+ $(MAKE) -C parser gram.c parse.h scan.c
+ $(MAKE) -C bootstrap bootparse.c bootstrap_tokens.h bootscanner.c
+ $(MAKE) -C utils/misc guc-file.c
+
+
+##########################################################################
+
install: all installdirs install-bin
ifeq ($(PORTNAME), win)
ifeq ($(MAKE_DLL), true)
@@ -122,7 +130,7 @@ endif
installdirs:
$(mkinstalldirs) $(bindir) $(libdir) $(datadir)
-install-bin:
+install-bin: postgres $(POSTGRES_IMP) installdirs
$(INSTALL_PROGRAM) postgres$(X) $(bindir)/postgres$(X)
@rm -f $(bindir)/postmaster
ln -s postgres$(X) $(bindir)/postmaster
@@ -130,7 +138,7 @@ ifeq ($(MAKE_EXPORTS), true)
$(INSTALL_DATA) $(POSTGRES_IMP) $(libdir)/$(POSTGRES_IMP)
endif
-.PHONY: install installdirs install-bin
+.PHONY: install-bin
##########################################################################
diff --git a/src/backend/bootstrap/Makefile b/src/backend/bootstrap/Makefile
index deda81105d7..d1b40e99830 100644
--- a/src/backend/bootstrap/Makefile
+++ b/src/backend/bootstrap/Makefile
@@ -1,69 +1,62 @@
#-------------------------------------------------------------------------
#
-# Makefile--
-# Makefile for the bootstrap module
+# Makefile for the bootstrap module
#
-# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/backend/bootstrap/Makefile,v 1.23 2000/06/07 16:26:37 petere Exp $
-#
-#
-# We must build bootparse.c and bootscanner.c with yacc and lex and sed,
-# but bootstrap.c is part of the distribution.
-#
-# Another kinda weird Makefile cause we need two
-# scanner/parsers in the backend and most yaccs and lexs
-# don't have the prefix option.
-#
-# sed files are HACK CITY! - redo...
+# $Header: /cvsroot/pgsql/src/backend/bootstrap/Makefile,v 1.24 2000/07/19 16:29:47 petere Exp $
#
#-------------------------------------------------------------------------
-SRCDIR= ../..
-include $(SRCDIR)/Makefile.global
+subdir = src/backend/bootstrap
+top_builddir = ../../..
+include $(top_builddir)/src/Makefile.global
-ifeq ($(CC), gcc)
+ifeq ($(GCC), yes)
CFLAGS+= -Wno-error
endif
-BOOTYACCS= bootstrap_tokens.h bootparse.c
-
+# qnx4's wlink currently crashes with bootstrap.o
ifneq ($(PORTNAME), qnx4)
OBJS= bootparse.o bootscanner.o bootstrap.o
else
-# qnx4's wlink currently crashes with bootstrap.o
OBJS= bootparse.o bootscanner.o
endif
+
# make sure bootstrap.o is built even on qnx4
all: SUBSYS.o bootstrap.o
SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
+ $(LD) $(LDREL) $(LDOUT) $@ $^
+
-# bootstrap.o's dependency on bootstrap_tokens.h is computed by the
-# make depend, but we state it here explicitly anyway because
-# bootstrap_tokens.h doesn't even exist at first and if user fails to
-# do make depend, we still want the build to succeed.
+bootstrap.o bootscanner.c: $(srcdir)/bootstrap_tokens.h
-bootstrap.o: bootstrap_tokens.h
-bootstrap_tokens.h bootparse.c: bootparse.y
+# `sed' rules to remove conflicts between bootstrap scanner and parser
+# and the SQL scanner and parser. For correctness' sake the rules that
+# use this must depend on this Makefile.
+define sed-magic
+sed -e 's/^yy/Int_yy/g' \
+ -e 's/\([^a-zA-Z0-9_]\)yy/\1Int_yy/g'
+endef
+
+
+$(srcdir)/bootparse.c $(srcdir)/bootstrap_tokens.h: bootparse.y Makefile
$(YACC) -d $(YFLAGS) $<
- grep -v "^#" boot.sed > sedfile
- sed -f sedfile < y.tab.c > bootparse.c
- mv y.tab.h bootstrap_tokens.h
- rm -f y.tab.c sedfile
+ $(sed-magic) < y.tab.c > $(srcdir)/bootparse.c
+ $(sed-magic) < y.tab.h > $(srcdir)/bootstrap_tokens.h
+ rm -f y.tab.c y.tab.h
-bootscanner.c: bootscanner.l
+$(srcdir)/bootscanner.c: bootscanner.l Makefile
$(LEX) $(LFLAGS) $<
- grep -v "^#" boot.sed > sedfile
- sed -f sedfile < lex.yy.c > bootscanner.c
- rm -f lex.yy.c sedfile
+ $(sed-magic) < lex.yy.c > $@
+ rm -f lex.yy.c
clean:
rm -f SUBSYS.o $(OBJS) bootstrap.o
# And the garbage that might have been left behind by partial build:
- rm -f y.tab.h y.tab.c y.output lex.yy.c
+ @rm -f y.tab.h y.tab.c y.output lex.yy.c
+
# This is unusual: We actually have to build some of the parts before
# we know what the header file dependencies are.
diff --git a/src/backend/parser/Makefile b/src/backend/parser/Makefile
index 4ef557271f3..169575e082d 100644
--- a/src/backend/parser/Makefile
+++ b/src/backend/parser/Makefile
@@ -1,17 +1,16 @@
#-------------------------------------------------------------------------
#
-# Makefile--
-# Makefile for parser
+# Makefile for parser
#
-# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/backend/parser/Makefile,v 1.27 2000/07/14 15:32:04 thomas Exp $
+# $Header: /cvsroot/pgsql/src/backend/parser/Makefile,v 1.28 2000/07/19 16:29:50 petere Exp $
#
#-------------------------------------------------------------------------
-SRCDIR= ../..
-include $(SRCDIR)/Makefile.global
+subdir = src/backend/parser
+top_builddir = ../../..
+include $(top_builddir)/src/Makefile.global
-ifeq ($(CC), gcc)
+ifeq ($(GCC), yes)
CFLAGS+= -Wno-error
endif
@@ -19,46 +18,38 @@ OBJS= analyze.o gram.o keywords.o parser.o parse_agg.o parse_clause.o \
parse_expr.o parse_func.o parse_node.o parse_oper.o parse_relation.o \
parse_type.o parse_coerce.o parse_target.o scan.o scansup.o
-all: $(SRCDIR)/include/parser/parse.h SUBSYS.o
-SUBSYS.o: $(OBJS)
- $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
+all: SUBSYS.o
-$(SRCDIR)/include/parser/parse.h: parse.h
- cp $< $@
+SUBSYS.o: $(OBJS)
+ $(LD) $(LDREL) $(LDOUT) $@ $^
-gram.c parse.h: gram.y
+$(srcdir)/gram.c $(srcdir)/parse.h: gram.y
$(YACC) -d $(YFLAGS) $<
- mv y.tab.c gram.c
- mv y.tab.h parse.h
+ mv y.tab.c $(srcdir)/gram.c
+ mv y.tab.h $(srcdir)/parse.h
-scan.c: scan.l
+$(srcdir)/scan.c: scan.l
$(LEX) $(LFLAGS) $<
- mv lex.yy.c scan.c
+ mv lex.yy.c $@
+
-# The following dependencies on parse.h are computed by
-# make depend, but we state them here explicitly anyway because
-# parse.h doesn't even exist at first and if user fails to
-# do make depend, we still want the build to succeed.
+analyze.o keywords.o parse_clause.o parse_expr.o scan.o: $(srcdir)/parse.h
+
+
+# gram.c, parse.h, and scan.c are in the distribution tarball, so they
+# are not cleaned here.
+clean:
+ rm -f SUBSYS.o $(OBJS)
+# And the garbage that might have been left behind by partial build:
+ @rm -f y.tab.c y.tab.h lex.yy.c
-analyze.o keywords.o scan.o: parse.h
# This is unusual: We actually have to build some of the parts before
# we know what the header file dependencies are.
dep depend: gram.c scan.c
$(CC) -MM $(CFLAGS) *.c >depend
-# Remove scan.c from the clean since we want to avoid rebuilding when using
-# the original source distribution. This should help Solaris machines whose
-# lex has trouble with exclusive states.
-# Remove gram.c, parse.h from the clean since we have now started to exceed
-# internal limits for some non-bison yaccs. - thomas 1998-02-17
-clean:
- rm -f SUBSYS.o $(OBJS) # gram.c parse.h # scan.c
-# And the garbage that might have been left behind by partial build:
- rm -f y.tab.c y.tab.h lex.yy.c
-
ifeq (depend,$(wildcard depend))
include depend
endif
-
diff --git a/src/bin/Makefile b/src/bin/Makefile
index d3e1556b5db..0029f6f99ec 100644
--- a/src/bin/Makefile
+++ b/src/bin/Makefile
@@ -4,7 +4,7 @@
#
# Copyright (c) 1994, Regents of the University of California
#
-# $Header: /cvsroot/pgsql/src/bin/Makefile,v 1.28 2000/07/02 15:20:56 petere Exp $
+# $Header: /cvsroot/pgsql/src/bin/Makefile,v 1.29 2000/07/19 16:29:53 petere Exp $
#
#-------------------------------------------------------------------------
@@ -27,8 +27,8 @@ endif
DIRS += pgtclsh
endif
-all install installdirs uninstall depend:
- @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit 1; done
+all install installdirs uninstall depend distprep:
+ @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
clean distclean maintainer-clean:
-@for dir in $(DIRS); do $(MAKE) -C $$dir $@; done
diff --git a/src/bin/psql/Makefile b/src/bin/psql/Makefile
index be45136b847..f605ad809ea 100644
--- a/src/bin/psql/Makefile
+++ b/src/bin/psql/Makefile
@@ -4,7 +4,7 @@
#
# Copyright (c) 1994, Regents of the University of California
#
-# $Header: /cvsroot/pgsql/src/bin/psql/Makefile,v 1.22 2000/06/28 18:29:31 petere Exp $
+# $Header: /cvsroot/pgsql/src/bin/psql/Makefile,v 1.23 2000/07/19 16:29:56 petere Exp $
#
#-------------------------------------------------------------------------
@@ -65,6 +65,8 @@ endif
submake:
$(MAKE) -C $(LIBPQDIR) all
+distprep: $(srcdir)/sql_help.h
+
install: all installdirs
$(INSTALL_PROGRAM) psql$(X) $(bindir)/psql$(X)
diff --git a/src/include/Makefile b/src/include/Makefile
index d36e8bc7f9a..81afc850d37 100644
--- a/src/include/Makefile
+++ b/src/include/Makefile
@@ -5,7 +5,7 @@
# Install exported headers to the include directory (these headers are
# the minimal ones needed to build loadable backend extensions).
#
-# $Header: /cvsroot/pgsql/src/include/Makefile,v 1.1 2000/07/06 21:33:44 petere Exp $
+# $Header: /cvsroot/pgsql/src/include/Makefile,v 1.2 2000/07/19 16:29:58 petere Exp $
#
#-------------------------------------------------------------------------
@@ -52,4 +52,4 @@ clean:
rm -f utils/fmgroids.h parser/parse.h
distclean maintainer-clean: clean
- rm -f config.h dynloader.h os.h
+ rm -f config.h dynloader.h os.h stamp-h
diff --git a/src/interfaces/Makefile b/src/interfaces/Makefile
index d9fbf0abec1..146fbf93e89 100644
--- a/src/interfaces/Makefile
+++ b/src/interfaces/Makefile
@@ -4,7 +4,7 @@
#
# Copyright (c) 1994, Regents of the University of California
#
-# $Header: /cvsroot/pgsql/src/interfaces/Makefile,v 1.40 2000/06/28 18:29:35 petere Exp $
+# $Header: /cvsroot/pgsql/src/interfaces/Makefile,v 1.41 2000/07/19 16:30:06 petere Exp $
#
#-------------------------------------------------------------------------
@@ -37,8 +37,8 @@ DIRS += python
endif
-all install installdirs uninstall dep depend:
- @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit 1; done
+all install installdirs uninstall dep depend distprep:
+ @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
clean:
@for dir in $(DIRS); do $(MAKE) -C $$dir $@; done
diff --git a/src/interfaces/ecpg/Makefile b/src/interfaces/ecpg/Makefile
index fb537e671bb..d3f9df7c9a4 100644
--- a/src/interfaces/ecpg/Makefile
+++ b/src/interfaces/ecpg/Makefile
@@ -2,7 +2,7 @@ subdir = src/interfaces/ecpg
top_builddir = ../../..
include ../../Makefile.global
-all install installdirs uninstall dep depend:
+all install installdirs uninstall dep depend distprep:
$(MAKE) -C include $@
$(MAKE) -C lib $@
$(MAKE) -C preproc $@
diff --git a/src/interfaces/ecpg/preproc/Makefile b/src/interfaces/ecpg/preproc/Makefile
index 9c23780ab4b..48ab51d5353 100644
--- a/src/interfaces/ecpg/preproc/Makefile
+++ b/src/interfaces/ecpg/preproc/Makefile
@@ -35,6 +35,8 @@ $(srcdir)/pgc.c: pgc.l
$(LEX) $(LFLAGS) $<
mv lex.yy.c $@
+distprep: $(srcdir)/preproc.c $(srcdir)/preproc.h $(srcdir)/pgc.c
+
install: all installdirs
$(INSTALL_PROGRAM) ecpg$(X) $(bindir)
diff --git a/src/pl/Makefile b/src/pl/Makefile
index e64bf02dab2..ccc8b57c1e7 100644
--- a/src/pl/Makefile
+++ b/src/pl/Makefile
@@ -4,7 +4,7 @@
#
# Copyright (c) 1994, Regents of the University of California
#
-# $Header: /cvsroot/pgsql/src/pl/Makefile,v 1.10 2000/07/01 15:02:27 petere Exp $
+# $Header: /cvsroot/pgsql/src/pl/Makefile,v 1.11 2000/07/19 16:30:16 petere Exp $
#
#-------------------------------------------------------------------------
@@ -23,8 +23,8 @@ endif
#DIRS += plperl
#endif
-all install installdirs uninstall depend:
- @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit 1; done
+all install installdirs uninstall depend distprep:
+ @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
clean distclean maintainer-clean:
@for dir in $(DIRS); do $(MAKE) -C $$dir $@; done
diff --git a/src/pl/plpgsql/Makefile b/src/pl/plpgsql/Makefile
index 2c684862256..d2d1911f5e0 100644
--- a/src/pl/plpgsql/Makefile
+++ b/src/pl/plpgsql/Makefile
@@ -4,7 +4,7 @@
#
# Copyright (c) 1994, Regents of the University of California
#
-# $Header: /cvsroot/pgsql/src/pl/plpgsql/Makefile,v 1.3 2000/06/27 00:31:56 petere Exp $
+# $Header: /cvsroot/pgsql/src/pl/plpgsql/Makefile,v 1.4 2000/07/19 16:30:21 petere Exp $
#
#-------------------------------------------------------------------------
@@ -12,7 +12,7 @@ subdir = src/pl/plpgsql
top_builddir = ../../..
include ../../Makefile.global
-all install installdirs uninstall:
+all install installdirs uninstall distprep:
$(MAKE) -C src $@
clean distclean maintainer-clean:
diff --git a/src/pl/plpgsql/src/Makefile b/src/pl/plpgsql/src/Makefile
index 5cf37052f0d..66013c62a75 100644
--- a/src/pl/plpgsql/src/Makefile
+++ b/src/pl/plpgsql/src/Makefile
@@ -2,7 +2,7 @@
#
# Makefile for the plpgsql shared object
#
-# $Header: /cvsroot/pgsql/src/pl/plpgsql/src/Makefile,v 1.4 2000/06/28 18:30:16 petere Exp $
+# $Header: /cvsroot/pgsql/src/pl/plpgsql/src/Makefile,v 1.5 2000/07/19 16:30:24 petere Exp $
#
#-------------------------------------------------------------------------
@@ -66,6 +66,9 @@ $(srcdir)/pl_scan.c: scan.l
sed -e 's/yy/plpgsql_yy/g' -e 's/YY/PLPGSQL_YY/g' < lex.yy.c > $@
rm -f lex.yy.c
+
+distprep: $(srcdir)/pl_scan.c $(srcdir)/pl.tab.h $(srcdir)/pl_gram.c
+
mklang.sql: mklang.sql.in
sed -e 's%__libdir__%$(libdir)%g' -e 's%__DLSUFFIX__%$(DLSUFFIX)%g' < $< > $@
diff --git a/src/tools/release_prep b/src/tools/release_prep
index 85d12b13151..2503b7bcdd7 100755
--- a/src/tools/release_prep
+++ b/src/tools/release_prep
@@ -1,4 +1,4 @@
-#!/bin/sh
+#! /bin/sh
#
# release_prep: prepare the Postgres source tree for distribution
#
@@ -9,70 +9,18 @@
# Run the script from the toplevel Postgres directory, ie, do
# cd pgsql
# src/tools/release_prep
-# (Right now, the cleanup tasks are all in the src subdirectory, but we
-# might want to add housekeeping in doc too?)
#
# The script's tasks are:
# 1. Run configure to prepare usable Makefiles on the local system.
# 2. Generate distribution copies of some derived files such as gram.c.
# (We do this so that recipients of the distribution don't have to have
# tools that can create these files.)
-# Note we force these files to be recreated, to ensure they will have
-# newer timestamps than their master files.
# 3. "make distclean" to get rid of the configure outputs, as well as any
# other cruft that might be laying about.
# Select make to use --- default gmake, can be overridden by env var
-MAKE=${MAKE:-gmake}
-
-# Configure ... should we run autoconf here???
-
-./configure
-
-# Generate parser's yacc and lex files
-
-cd src/backend/parser
-rm -f gram.c parse.h scan.c
-$MAKE gram.c parse.h scan.c
-cd ../../..
-
-# Generate bootstrap parser's yacc and lex files
-
-cd src/backend/bootstrap
-rm -f bootstrap_tokens.h bootparse.c bootscanner.c
-$MAKE bootstrap_tokens.h bootparse.c bootscanner.c
-cd ../../..
-
-# Generate configuration file scanner
-
-cd src/backend/utils/misc
-rm -f guc-file.c lex.yy.c
-$MAKE guc-file.c
-cd ../../../..
-
-# Generate ecpg preprocessor's yacc and lex files
-
-cd src/interfaces/ecpg/preproc
-rm -f preproc.c preproc.h pgc.c
-$MAKE preproc.c preproc.h pgc.c
-cd ../../../..
-
-# Generate plpgsql's yacc and lex files
-
-cd src/pl/plpgsql/src
-rm -f pl_scan.c pl.tab.h pl_gram.c
-$MAKE pl_scan.c pl.tab.h pl_gram.c
-cd ../../../..
-
-# Generate psql's help on SQL command from the SGML docs
-
-cd src/bin/psql
-rm -f sql_help.h
-$MAKE sql_help.h
-cd ../../..
-
-# Clean up
+: ${MAKE=gmake}
+./configure && \
+$MAKE distprep && \
$MAKE distclean
-
-exit 0