#!/bin/sh
#
# release_prep: prepare the Postgres source tree for distribution
#
# This script should be run after checking out a fileset from the Postgres
# CVS repository, and just before creating a tarfile from the checked-out
# fileset.  It does cleanup tasks to ensure that we have a good tarball.
#
# 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}

cd src

# Configure ... should we run autoconf here???

./configure

# Generate parser's gram and lex files.

cd backend/parser

rm -f gram.c parse.h scan.c

$MAKE gram.c parse.h scan.c

cd ../..

# Generate ecpg preprocessor's gram and lex files.

cd interfaces/ecpg/preproc

rm -f preproc.c preproc.h pgc.c

$MAKE preproc.c preproc.h pgc.c

cd ../../..

# Generate psql's help on SQL command from the SGML docs

cd bin/psql

rm -f sql_help.h

$MAKE sql_help.h

cd ../..

# Clean up

$MAKE distclean

exit 0
