#-------------------------------------------------------------------------
#
# Makefile.inc--
#    Build and install postgres.
#
# Copyright (c) 1994, Regents of the University of California
#
#
# IDENTIFICATION
#    $Header: /usr/local/cvsroot/postgres95/src/GNUmakefile.in,v 1.15 1997/05/16 01:59:51 scrappy Exp $
#
#-------------------------------------------------------------------------

SRCDIR= .
include Makefile.global

FIND = @find@

# assuming gnu tar and split here
TAR  = @tar@
SPLIT = @split@

ETAGS = @etags@
XARGS = @xargs@

all:
	@if test $(PORTNAME) = UNDEFINED; then \
	  echo You must set the PORTNAME value in Makefile.global before \
	       you can build Postgres. ;\
	  false ;\
        else true;\
	fi
	$(MAKE) -C lextest all
	@if test ! -f lextest/lextest; then \
	  echo "";\
	  echo "You have a buggy version of flex.  Read INSTALL and search for flex for a fix.";\
	  echo "";\
	  false;\
	else \
	  true;\
	fi
	$(MAKE) -C utils all
	$(MAKE) -C backend all
	$(MAKE) -C libpq all
ifeq ($(HAVE_Cplusplus), true)
	$(MAKE) -C libpq++ all
endif
ifeq ($(USE_TCL), true)
	$(MAKE) -C libpgtcl all
endif
	$(MAKE) -C bin all
ifneq ($(wildcard man), )
	$(MAKE) -C man all
endif
	@if test $@. = all. -o $@. = .; then \
	echo All of PostgreSQL is successfully made.  Ready to install. ;\
        fi

clean:
	@if test $(PORTNAME) = UNDEFINED; then \
		echo You must set the PORTNAME value in Makefile.global before \
			you can build Postgres. ;\
		false ;\
	else true;\
	fi
	$(MAKE) -C lextest clean
	$(MAKE) -C utils clean
	$(MAKE) -C backend clean
	$(MAKE) -C libpq clean
ifeq ($(HAVE_Cplusplus), true)
	$(MAKE) -C libpq++ clean
endif
ifeq ($(USE_TCL), true)
	$(MAKE) -C libpgtcl clean
endif
	$(MAKE) -C bin clean
ifneq ($(wildcard man), )
	$(MAKE) -C man clean
endif

distclean: clean
	rm -f Makefile.global \
		config.cache \
		config.status \
		config.log \
		GNUmakefile \
		Makefile.global \
		backend/port/Makefile \
		bin/psql/Makefile \
		bin/pg_dump/Makefile \
		include/config.h \
		backend/utils/Gen_fmgrtab.sh \
		include/os.h \
		Makefile.port


.DEFAULT:
	@if test $(PORTNAME) = UNDEFINED; then \
	  echo You must set the PORTNAME value in Makefile.global before \
	       you can build Postgres. ;\
	  false ;\
        else true;\
	fi
	$(MAKE) -C lextest $@
	$(MAKE) -C utils $@
	$(MAKE) -C backend $@
	$(MAKE) -C libpq $@
ifeq ($(HAVE_Cplusplus), true)
	$(MAKE) -C libpq++ $@
endif
ifeq ($(USE_TCL), true)
	$(MAKE) -C libpgtcl $@
endif
	$(MAKE) -C bin $@
ifneq ($(wildcard man), )
	$(MAKE) -C man $@
endif
	@if test $@. = all. -o $@. = .; then \
	echo All of PostgreSQL is successfully made.  Ready to install. ;\
        fi

TAGS:
	rm -f TAGS; \
	for i in backend libpq bin; do \
	  $(FIND) $$i -name '*.[chyl]' -print | $(XARGS) $(ETAGS) -a ; \
	done

# target to generate a backup tar file and split files that can be 
# saved to 1.44M floppy
BACKUP:
	rm -f BACKUP.filelist BACKUP.tgz; \
	$(FIND) . -not -path '*obj/*' -not -path '*data/*' -type f -print > BACKUP.filelist; \
	$(TAR) --files-from BACKUP.filelist -c -z -v -f BACKUP.tgz
	$(SPLIT) --bytes=1400k BACKUP.tgz pgBACKUP.	

.PHONY: TAGS
.PHONY: BACKUP

