From 32163099d7c43a0244f463eb4e525c711e6e97a3 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 19 Jul 2000 16:30:27 +0000 Subject: [PATCH] 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. --- GNUmakefile.in | 74 +++++++++++++++++++++++++++++++++++- configure | 20 +++++----- configure.in | 13 ++++--- src/GNUmakefile.in | 4 +- src/Makefile.global.in | 23 ++++++++++- src/backend/Makefile | 14 +++++-- src/backend/bootstrap/Makefile | 65 ++++++++++++++----------------- src/backend/parser/Makefile | 57 ++++++++++++--------------- src/bin/Makefile | 6 +-- src/bin/psql/Makefile | 4 +- src/include/Makefile | 4 +- src/interfaces/Makefile | 6 +-- src/interfaces/ecpg/Makefile | 2 +- src/interfaces/ecpg/preproc/Makefile | 2 + src/pl/Makefile | 6 +-- src/pl/plpgsql/Makefile | 4 +- src/pl/plpgsql/src/Makefile | 5 ++- src/tools/release_prep | 60 ++--------------------------- 18 files changed, 205 insertions(+), 164 deletions(-) diff --git a/GNUmakefile.in b/GNUmakefile.in index 01323aa746..8f544455e9 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 0584c433f3..55e8547487 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 <> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF @@ -8231,6 +8232,7 @@ cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF +echo timestamp > src/include/stamp-h exit 0 EOF diff --git a/configure.in b/configure.in index 62fdbecc8a..c035dc14ae 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 83d69dd406..236400f8e0 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 5a8b2e0747..b3572ecabf 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 f9d64711d9..f2848c4a7a 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 deda81105d..d1b40e9983 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 4ef557271f..169575e082 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 d3e1556b5d..0029f6f99e 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 be45136b84..f605ad809e 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 d36e8bc7f9..81afc850d3 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 d9fbf0abec..146fbf93e8 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 fb537e671b..d3f9df7c9a 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 9c23780ab4..48ab51d535 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 e64bf02dab..ccc8b57c1e 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 2c68486225..d2d1911f5e 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 5cf37052f0..66013c62a7 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 85d12b1315..2503b7bcdd 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 -- 2.11.0