head	1.50;
access;
symbols
	REL9_0_0:1.50
	REL9_1_ALPHA1:1.50
	REL9_0_RC1:1.50
	REL9_0_BETA4:1.50
	REL9_0_STABLE:1.50.0.6
	REL9_0_BETA3:1.50
	REL9_0_BETA2:1.50
	REL7_4_29:1.29
	REL8_0_25:1.36
	REL8_1_21:1.36
	REL8_2_17:1.40
	REL8_3_11:1.42
	REL8_4_4:1.45
	REL9_0_BETA1:1.50
	REL9_0_ALPHA5_BRANCH:1.50.0.4
	REL9_0_ALPHA5:1.50
	REL7_4_28:1.29
	REL8_0_24:1.36
	REL8_1_20:1.36
	REL8_2_16:1.40
	REL8_3_10:1.42
	REL8_4_3:1.45
	REL9_0_ALPHA4:1.50
	REL9_0_ALPHA4_BRANCH:1.50.0.2
	REL8_5_ALPHA3:1.47
	REL8_5_ALPHA3_BRANCH:1.47.0.4
	REL7_4_27:1.29
	REL8_0_23:1.36
	REL8_1_19:1.36
	REL8_2_15:1.40
	REL8_3_9:1.42
	REL8_4_2:1.45
	REL8_5_ALPHA2:1.47
	REL8_5_ALPHA2_BRANCH:1.47.0.2
	REL7_4_26:1.29
	REL8_0_22:1.36
	REL8_1_18:1.36
	REL8_2_14:1.40
	REL8_3_8:1.42
	REL8_4_1:1.45
	REL8_5_ALPHA1:1.46
	REL8_5_ALPHA1_BRANCH:1.46.0.2
	REL8_4_STABLE:1.45.0.2
	REL8_4_0:1.45
	REL8_4_RC2:1.45
	REL8_4_RC1:1.45
	REL8_4_BETA2:1.45
	REL8_4_BETA1:1.45
	REL7_4_25:1.29
	REL8_0_21:1.36
	REL8_1_17:1.36
	REL8_2_13:1.40
	REL8_3_7:1.42
	REL7_4_24:1.29
	REL8_0_20:1.36
	REL8_1_16:1.36
	REL8_2_12:1.40
	REL8_3_6:1.42
	REL7_4_23:1.29
	REL8_0_19:1.36
	REL8_1_15:1.36
	REL8_2_11:1.40
	REL8_3_5:1.42
	REL7_4_22:1.29
	REL8_0_18:1.36
	REL8_1_14:1.36
	REL8_2_10:1.40
	REL8_3_4:1.42
	REL7_4_21:1.29
	REL8_0_17:1.36
	REL8_1_13:1.36
	REL8_2_9:1.40
	REL8_3_3:1.42
	REL7_4_20:1.29
	REL8_0_16:1.36
	REL8_1_12:1.36
	REL8_2_8:1.40
	REL8_3_2:1.42
	REL8_2_7:1.40
	REL8_3_1:1.42
	REL8_3_STABLE:1.42.0.2
	REL8_3_0:1.42
	REL8_3_RC2:1.42
	REL7_3_21:1.29
	REL7_4_19:1.29
	REL8_0_15:1.36
	REL8_1_11:1.36
	REL8_2_6:1.40
	REL8_3_RC1:1.42
	REL8_3_BETA4:1.42
	REL8_3_BETA3:1.42
	REL8_3_BETA2:1.42
	REL8_3_BETA1:1.42
	REL7_3_20:1.29
	REL7_4_18:1.29
	REL8_0_14:1.36
	REL8_1_10:1.36
	REL8_2_5:1.40
	REL7_3_19:1.29
	REL7_4_17:1.29
	REL8_0_13:1.36
	REL8_1_9:1.36
	REL8_2_4:1.40
	REL8_0_12:1.36
	REL8_1_8:1.36
	REL8_2_3:1.40
	REL7_3_18:1.29
	REL7_4_16:1.29
	REL8_0_11:1.36
	REL8_1_7:1.36
	REL8_2_2:1.40
	REL8_0_10:1.36
	REL8_1_6:1.36
	REL8_2_1:1.40
	REL7_4_15:1.29
	REL7_3_17:1.29
	REL8_2_STABLE:1.40.0.2
	REL8_2_0:1.40
	REL8_2_RC1:1.40
	REL8_2_BETA3:1.40
	REL8_2_BETA2:1.40
	REL8_1_5:1.36
	REL8_0_9:1.36
	REL7_4_14:1.29
	REL7_3_16:1.29
	REL8_2_BETA1:1.40
	REL7_3_15:1.29
	REL7_4_13:1.29
	REL8_0_8:1.36
	REL8_1_4:1.36
	REL7_3_14:1.29
	REL7_4_12:1.29
	REL8_0_7:1.36
	REL8_1_3:1.36
	REL7_3_13:1.29
	REL7_4_11:1.29
	REL8_0_6:1.36
	REL8_1_2:1.36
	REL7_3_12:1.29
	REL7_4_10:1.29
	REL8_0_5:1.36
	REL8_1_1:1.36
	REL8_1_STABLE:1.36.0.6
	REL8_1_0:1.36
	REL8_1_0RC1:1.36
	REL8_1_0BETA4:1.36
	REL8_1_0BETA3:1.36
	REL7_3_11:1.29
	REL7_4_9:1.29
	REL8_0_4:1.36
	REL8_1_0BETA2:1.36
	REL8_1_0BETA1:1.36
	REL7_2_8:1.23
	REL7_3_10:1.29
	REL7_4_8:1.29
	REL8_0_3:1.36
	REL8_0_2:1.36
	REL7_2_7:1.23
	REL7_3_9:1.29
	REL7_4_7:1.29
	REL8_0_1:1.36
	REL8_0_STABLE:1.36.0.4
	REL8_0_0:1.36.0.2
	REL8_0_0RC5:1.35
	REL8_0_0RC4:1.35
	REL8_0_0RC3:1.35
	REL8_0_0RC2:1.35
	REL8_0_0RC1:1.35
	REL8_0_0BETA5:1.35
	REL8_0_0BETA4:1.35
	REL7_4_6:1.29
	REL7_3_8:1.29
	REL7_2_6:1.23
	REL8_0_0BETA3:1.34
	REL8_0_0BETA2:1.34
	REL7_2_5:1.23
	REL7_4_5:1.29
	REL7_3_7:1.29
	REL7_4_4:1.29
	REL8_0_0BETA1:1.33
	REL7_4_3:1.29
	REL7_4_2:1.29
	REL7_3_6:1.29
	REL7_4_1:1.29
	REL7_3_5:1.29
	REL7_4:1.29
	REL7_4_RC2:1.29
	REL7_4_STABLE:1.29.0.6
	REL7_4_RC1:1.29
	REL7_4_BETA5:1.29
	REL7_4_BETA4:1.29
	REL7_4_BETA3:1.29
	REL7_4_BETA2:1.29
	WIN32_DEV:1.29.0.4
	REL7_4_BETA1:1.29
	REL7_3_4:1.29
	REL7_3_2:1.29
	REL7_2_4:1.23
	REL7_3_STABLE:1.29.0.2
	REL7_2_3:1.23
	REL7_2_STABLE:1.23.0.4
	REL7_2:1.23
	REL7_2_RC2:1.23
	REL7_2_RC1:1.23
	REL7_2_BETA5:1.23
	REL7_2_BETA4:1.23
	REL7_2_BETA3:1.23
	REL7_2_BETA2:1.23
	REL7_2_BETA1:1.23
	REL7_1_2:1.23
	REL7_1_STABLE:1.23.0.2
	REL7_1_BETA:1.21
	REL7_1_BETA3:1.22
	REL7_1_BETA2:1.22
	REL7_1:1.23
	REL7_0_PATCHES:1.17.0.6
	REL7_0:1.17
	REL6_5_PATCHES:1.17.0.4
	REL6_5:1.17
	REL6_4:1.17.0.2
	release-6-3:1.17
	REL2_0B:1.12.0.2
	REL2_0:1.12
	Release_2_0_0:1.4
	Release_1_0_3:1.3.0.2
	Release_2_0:1.4
	Release_1_0_2:1.3
	PG95-1_01:1.1.1.1
	PG95_DIST:1.1.1;
locks; strict;
comment	@# @;


1.50
date	2010.01.20.09.16.23;	author heikki;	state Exp;
branches;
next	1.49;

1.49
date	2010.01.15.17.01.06;	author heikki;	state Exp;
branches;
next	1.48;

1.48
date	2010.01.15.09.18.59;	author heikki;	state Exp;
branches;
next	1.47;

1.47
date	2009.08.26.22.24.42;	author petere;	state Exp;
branches;
next	1.46;

1.46
date	2009.08.07.20.50.22;	author petere;	state Exp;
branches;
next	1.45;

1.45
date	2009.02.24.10.06.32;	author petere;	state Exp;
branches;
next	1.44;

1.44
date	2008.12.19.16.25.16;	author petere;	state Exp;
branches;
next	1.43;

1.43
date	2008.03.18.16.24.50;	author petere;	state Exp;
branches;
next	1.42;

1.42
date	2007.08.21.01.11.12;	author tgl;	state Exp;
branches;
next	1.41;

1.41
date	2007.01.20.17.16.09;	author petere;	state Exp;
branches;
next	1.40;

1.40
date	2006.06.22.23.50.35;	author tgl;	state Exp;
branches;
next	1.39;

1.39
date	2006.02.04.01.04.20;	author momjian;	state Exp;
branches;
next	1.38;

1.38
date	2005.12.09.21.19.34;	author petere;	state Exp;
branches;
next	1.37;

1.37
date	2005.11.28.12.03.56;	author alvherre;	state Exp;
branches;
next	1.36;

1.36
date	2005.01.13.18.23.21;	author tgl;	state Exp;
branches;
next	1.35;

1.35
date	2004.10.06.08.49.59;	author momjian;	state Exp;
branches;
next	1.34;

1.34
date	2004.08.20.20.13.10;	author momjian;	state Exp;
branches;
next	1.33;

1.33
date	2004.07.30.12.26.40;	author petere;	state Exp;
branches;
next	1.32;

1.32
date	2004.04.30.04.31.52;	author momjian;	state Exp;
branches;
next	1.31;

1.31
date	2004.04.26.00.48.38;	author momjian;	state Exp;
branches;
next	1.30;

1.30
date	2003.11.29.19.51.39;	author pgsql;	state Exp;
branches;
next	1.29;

1.29
date	2002.09.05.18.28.45;	author petere;	state Exp;
branches;
next	1.28;

1.28
date	2002.09.04.15.45.50;	author tgl;	state Exp;
branches;
next	1.27;

1.27
date	2002.07.30.17.47.58;	author tgl;	state Exp;
branches;
next	1.26;

1.26
date	2002.07.27.20.10.04;	author petere;	state Exp;
branches;
next	1.25;

1.25
date	2002.07.18.22.15.10;	author tgl;	state Exp;
branches;
next	1.24;

1.24
date	2002.03.13.00.05.02;	author petere;	state Exp;
branches;
next	1.23;

1.23
date	2001.02.10.02.31.26;	author tgl;	state Exp;
branches;
next	1.22;

1.22
date	2000.12.30.00.24.08;	author petere;	state Exp;
branches;
next	1.21;

1.21
date	2000.11.06.18.18.22;	author petere;	state Exp;
branches;
next	1.20;

1.20
date	2000.06.12.16.37.22;	author momjian;	state Exp;
branches;
next	1.19;

1.19
date	2000.06.12.03.54.03;	author momjian;	state Exp;
branches;
next	1.18;

1.18
date	2000.06.10.18.01.36;	author petere;	state dead;
branches;
next	1.17;

1.17
date	97.08.22.16.38.33;	author momjian;	state Exp;
branches;
next	1.16;

1.16
date	97.04.04.09.01.19;	author scrappy;	state Exp;
branches;
next	1.15;

1.15
date	96.12.31.07.26.27;	author bryanh;	state Exp;
branches;
next	1.14;

1.14
date	96.12.19.08.03.46;	author bryanh;	state Exp;
branches;
next	1.13;

1.13
date	96.12.10.03.03.36;	author scrappy;	state Exp;
branches;
next	1.12;

1.12
date	96.11.19.02.43.46;	author bryanh;	state Exp;
branches
	1.12.2.1;
next	1.11;

1.11
date	96.11.13.10.34.58;	author bryanh;	state Exp;
branches;
next	1.10;

1.10
date	96.11.11.13.51.20;	author bryanh;	state Exp;
branches;
next	1.9;

1.9
date	96.10.21.06.56.55;	author bryanh;	state Exp;
branches;
next	1.8;

1.8
date	96.10.19.06.33.52;	author scrappy;	state Exp;
branches;
next	1.7;

1.7
date	96.10.07.23.53.47;	author scrappy;	state Exp;
branches;
next	1.6;

1.6
date	96.10.04.20.07.04;	author scrappy;	state Exp;
branches;
next	1.5;

1.5
date	96.10.03.20.09.48;	author momjian;	state Exp;
branches;
next	1.4;

1.4
date	96.08.13.07.47.43;	author scrappy;	state Exp;
branches;
next	1.3;

1.3
date	96.08.01.19.46.46;	author scrappy;	state Exp;
branches
	1.3.2.1;
next	1.2;

1.2
date	96.07.20.07.52.36;	author scrappy;	state Exp;
branches;
next	1.1;

1.1
date	96.07.09.06.21.07;	author scrappy;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	96.07.09.06.21.07;	author scrappy;	state Exp;
branches;
next	;

1.3.2.1
date	96.08.19.18.35.17;	author scrappy;	state Exp;
branches;
next	1.3.2.2;

1.3.2.2
date	96.08.20.04.10.35;	author scrappy;	state Exp;
branches;
next	1.3.2.3;

1.3.2.3
date	96.10.25.09.23.42;	author scrappy;	state Exp;
branches;
next	1.3.2.4;

1.3.2.4
date	96.10.25.09.42.47;	author scrappy;	state Exp;
branches;
next	;

1.12.2.1
date	96.12.10.03.29.41;	author scrappy;	state Exp;
branches;
next	;


desc
@@


1.50
log
@Rethink the way walreceiver is linked into the backend.	Instead than shoving
walreceiver as whole into a dynamically loaded module, split the
libpq-specific parts of it into dynamically loaded module and keep the rest
in the main backend binary.

Although Tom fixed the Windows compilation problems with the old walreceiver
module already, this is a cleaner division of labour and makes the code
more readable. There's also the prospect of adding new transport methods
as pluggable modules in the future, which this patch makes easier, though for
now the API between libpqwalreceiver and walreceiver process should be
considered private.

The libpq-specific module is now in src/backend/replication/libpqwalreceiver,
and the part linked with postgres binary is in
src/backend/replication/walreceiver.c.
@
text
@#-------------------------------------------------------------------------
#
# Makefile for src
#
# Copyright (c) 1994, Regents of the University of California
#
# $PostgreSQL: pgsql/src/Makefile,v 1.49 2010/01/15 17:01:06 heikki Exp $
#
#-------------------------------------------------------------------------

subdir = src
top_builddir = ..
include Makefile.global


all install installdirs uninstall distprep:
	$(MAKE) -C port $@@
	$(MAKE) -C timezone $@@
	$(MAKE) -C backend $@@
	$(MAKE) -C backend/utils/mb/conversion_procs $@@
	$(MAKE) -C backend/snowball $@@
	$(MAKE) -C include $@@
	$(MAKE) -C interfaces $@@
	$(MAKE) -C backend/replication/libpqwalreceiver $@@
	$(MAKE) -C bin $@@
	$(MAKE) -C pl $@@
	$(MAKE) -C makefiles $@@
	$(MAKE) -C test/regress $@@

install: install-local

install-local: installdirs-local
	$(INSTALL_DATA) Makefile.global '$(DESTDIR)$(pgxsdir)/$(subdir)/Makefile.global'
	$(INSTALL_DATA) Makefile.port '$(DESTDIR)$(pgxsdir)/$(subdir)/Makefile.port'
	$(INSTALL_DATA) $(srcdir)/Makefile.shlib '$(DESTDIR)$(pgxsdir)/$(subdir)/Makefile.shlib'
	$(INSTALL_DATA) $(srcdir)/nls-global.mk '$(DESTDIR)$(pgxsdir)/$(subdir)/nls-global.mk'

installdirs: installdirs-local

installdirs-local:
	$(MKDIR_P) '$(DESTDIR)$(pgxsdir)/$(subdir)'

uninstall: uninstall-local

uninstall-local:
	rm -f $(addprefix '$(DESTDIR)$(pgxsdir)/$(subdir)'/, Makefile.global Makefile.port Makefile.shlib nls-global.mk)

clean:
	$(MAKE) -C port $@@
	$(MAKE) -C timezone $@@
	$(MAKE) -C backend $@@
	$(MAKE) -C backend/snowball $@@
	$(MAKE) -C include $@@
	$(MAKE) -C interfaces $@@
	$(MAKE) -C backend/replication/libpqwalreceiver $@@
	$(MAKE) -C bin $@@
	$(MAKE) -C pl $@@
	$(MAKE) -C makefiles $@@
	$(MAKE) -C test $@@
	$(MAKE) -C tutorial NO_PGXS=1 $@@
	$(MAKE) -C test/thread $@@

distclean maintainer-clean:
	$(MAKE) -C port $@@
	$(MAKE) -C timezone $@@
	$(MAKE) -C backend $@@
	$(MAKE) -C backend/snowball $@@
	$(MAKE) -C include $@@
	$(MAKE) -C interfaces $@@
	$(MAKE) -C backend/replication/libpqwalreceiver $@@
	$(MAKE) -C bin $@@
	$(MAKE) -C pl $@@
	$(MAKE) -C makefiles $@@
	$(MAKE) -C test $@@
	$(MAKE) -C tutorial NO_PGXS=1 $@@
	$(MAKE) -C test/thread $@@
	rm -f Makefile.port Makefile.global

coverage:
	$(MAKE) -C timezone $@@
	$(MAKE) -C backend $@@
	$(MAKE) -C backend/utils/mb/conversion_procs $@@
	$(MAKE) -C backend/snowball $@@
	$(MAKE) -C interfaces $@@
	$(MAKE) -C backend/replication/libpqwalreceiver $@@
	$(MAKE) -C bin $@@
	$(MAKE) -C pl $@@


.PHONY: install-local installdirs-local uninstall-local
@


1.49
log
@Move build of src/backend/replication/walreceiver/ later in the build
process, after src/interfaces, because it depends on libpq. Also add
missing lines for clean etc. targets

Report from Boszormenyi Zoltan.
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql/src/Makefile,v 1.48 2010/01/15 09:18:59 heikki Exp $
d24 1
a24 1
	$(MAKE) -C backend/replication/walreceiver $@@
d55 1
a55 1
	$(MAKE) -C backend/replication/walreceiver $@@
d70 1
a70 1
	$(MAKE) -C backend/replication/walreceiver $@@
d85 1
a85 1
	$(MAKE) -C backend/replication/walreceiver $@@
@


1.48
log
@Introduce Streaming Replication.

This includes two new kinds of postmaster processes, walsenders and
walreceiver. Walreceiver is responsible for connecting to the primary server
and streaming WAL to disk, while walsender runs in the primary server and
streams WAL from disk to the client.

Documentation still needs work, but the basics are there. We will probably
pull the replication section to a new chapter later on, as well as the
sections describing file-based replication. But let's do that as a separate
patch, so that it's easier to see what has been added/changed. This patch
also adds a new section to the chapter about FE/BE protocol, documenting the
protocol used by walsender/walreceivxer.

Bump catalog version because of two new functions,
pg_last_xlog_receive_location() and pg_last_xlog_replay_location(), for
monitoring the progress of replication.

Fujii Masao, with additional hacking by me
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql/src/Makefile,v 1.47 2009/08/26 22:24:42 petere Exp $
a20 1
	$(MAKE) -C backend/replication/walreceiver $@@
d24 1
d55 1
d70 1
d85 1
@


1.47
log
@Update of install-sh, mkinstalldirs, and associated configury

Update install-sh to that from Autoconf 2.63, plus our Darwin-specific
changes (which I simplified a bit).  install-sh is now able to install
multiple files in one run, so we could simplify our makefiles sometime.

install-sh also now has a -d option to create directories, so we don't need
mkinstalldirs anymore.

Use AC_PROG_MKDIR_P in configure.in, so we can use mkdir -p when available
instead of install-sh -d.  For consistency with the rest of the world,
the corresponding make variable has been renamed from $(mkinstalldirs) to
$(MKDIR_P).
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql/src/Makefile,v 1.46 2009/08/07 20:50:22 petere Exp $
d21 1
@


1.46
log
@Expand test coverage support to entire tree

Test coverage support now covers the entire source tree, including
contrib, instead of just src/backend.  In a related but independent
development, the commands make coverage and make coverage-html can be run
in any directory.

This turned out to be much easier than feared.  Besides a few ad hoc fixes
to pass the make target down the tree, change all affected makefiles to
list their directories in the SUBDIRS variable, changed from variants like
DIRS and WANTED_DIRS.  MSVC build fix was attempted as well.
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql/src/Makefile,v 1.45 2009/02/24 10:06:32 petere Exp $
d40 1
a40 1
	$(mkinstalldirs) '$(DESTDIR)$(pgxsdir)/$(subdir)'
@


1.45
log
@Add the possibility to specify an explicit validator function for foreign-data
wrappers (similar to procedural languages).  This way we don't need to retain
the nearly empty libraries, and we are more free in how to implement the
wrapper API in the future.
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql/src/Makefile,v 1.44 2008/12/19 16:25:16 petere Exp $
d76 9
@


1.44
log
@SQL/MED catalog manipulation facilities

This doesn't do any remote or external things yet, but it gives modules
like plproxy and dblink a standardized and future-proof system for
managing their connection information.

Martin Pihlak and Peter Eisentraut
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql/src/Makefile,v 1.43 2008/03/18 16:24:50 petere Exp $
a21 1
	$(MAKE) -C backend/foreign $@@-fdw
@


1.43
log
@Catch all errors in for and while loops in makefiles.  Don't ignore any
errors in any commands, including in various clean targets that have so far
been handled inconsistently.  make -i is available to ignore all errors in
a consistent and official way.
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql/src/Makefile,v 1.42 2007/08/21 01:11:12 tgl Exp $
d22 1
@


1.42
log
@Tsearch2 functionality migrates to core.  The bulk of this work is by
Oleg Bartunov and Teodor Sigaev, but I did a lot of editorializing,
so anything that's broken is probably my fault.

Documentation is nonexistent as yet, but let's land the patch so we can
get some portability testing done.
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql/src/Makefile,v 1.41 2007/01/20 17:16:09 petere Exp $
d62 12
a73 12
	-$(MAKE) -C port $@@
	-$(MAKE) -C timezone $@@
	-$(MAKE) -C backend $@@
	-$(MAKE) -C backend/snowball $@@
	-$(MAKE) -C include $@@
	-$(MAKE) -C interfaces $@@
	-$(MAKE) -C bin $@@
	-$(MAKE) -C pl $@@
	-$(MAKE) -C makefiles $@@
	-$(MAKE) -C test $@@
	-$(MAKE) -C tutorial NO_PGXS=1 $@@
	-$(MAKE) -C test/thread $@@
@


1.41
log
@Remove remains of old depend target.
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql/src/Makefile,v 1.40 2006/06/22 23:50:35 tgl Exp $
d21 1
d51 1
d65 1
@


1.40
log
@Remove dllinit.c; it was only needed for long-obsolete Cygwin versions,
and there was some question about its copyright status.
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql/src/Makefile,v 1.39 2006/02/04 01:04:20 momjian Exp $
d16 1
a16 1
all install installdirs uninstall dep depend distprep:
@


1.39
log
@Update Makefile for new thread_test location.
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql/src/Makefile,v 1.38 2005/12/09 21:19:34 petere Exp $
a25 1
	$(MAKE) -C utils $@@
a56 1
	$(MAKE) -C utils $@@
a69 1
	-$(MAKE) -C utils $@@
@


1.38
log
@Allow installation into directories containing spaces in the name.
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql/src/Makefile,v 1.37 2005/11/28 12:03:56 alvherre Exp $
d59 1
a59 1
	$(MAKE) -C tools/thread $@@
d73 1
a73 1
	-$(MAKE) -C tools/thread $@@
@


1.37
log
@Install pg_regress where PGXS' "make installcheck" can find it.
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql/src/Makefile,v 1.36 2005/01/13 18:23:21 tgl Exp $
d32 4
a35 4
	$(INSTALL_DATA) Makefile.global $(DESTDIR)$(pgxsdir)/$(subdir)/Makefile.global
	$(INSTALL_DATA) Makefile.port $(DESTDIR)$(pgxsdir)/$(subdir)/Makefile.port
	$(INSTALL_DATA) $(srcdir)/Makefile.shlib $(DESTDIR)$(pgxsdir)/$(subdir)/Makefile.shlib
	$(INSTALL_DATA) $(srcdir)/nls-global.mk $(DESTDIR)$(pgxsdir)/$(subdir)/nls-global.mk
d40 1
a40 1
	$(mkinstalldirs) $(DESTDIR)$(pgxsdir)/$(subdir)
d45 1
a45 1
	rm -f $(addprefix $(DESTDIR)$(pgxsdir)/$(subdir), Makefile.global Makefile.port Makefile.shlib nls-global.mk)
@


1.36
log
@Adjust src/tutorial Makefile so that it can use pgxs.  This allows the
tutorial to be used without necessarily having a configured source tree.
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql/src/Makefile,v 1.35 2004/10/06 08:49:59 momjian Exp $
d27 1
@


1.35
log
@please find attached an alternate submission which addresses open item
"make pgxs install by default". It is up to the committers to chose.

(1) there is only one "install" target. no more "install-all-headers".
    it simplifies/changes several makefiles.

(2) the documentation reflects the change.

(3) a minor fix on pgxs to use a nicer patch without a double slash.

Fabien Coelho
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql-server/src/Makefile,v 1.34 2004/08/20 20:13:10 momjian Exp $
d56 1
a56 1
	$(MAKE) -C tutorial $@@
d70 1
a70 1
	-$(MAKE) -C tutorial $@@
@


1.34
log
@> Please find enclose a submission to fix these problems.
>
> The patch adds missing the "libpgport.a" file to the installation under
> "install-all-headers". It is needed by some contribs. I install the
> library in "pkglibdir", but I was wondering whether it should be "libdir"?
> I was wondering also whether it would make sense to have a "libpgport.so"?
>
> It fixes various macros which are used by contrib makefiles, especially
> libpq_*dir and LDFLAGS when used under PGXS. It seems to me that they are
> needed to
>
> It adds the ability to test and use PGXS with contribs, with "make
> USE_PGXS=1". Without the macro, this is exactly as before, there should be
> no difference, esp. wrt the vpath feature that seemed broken by previous
> submission. So it should not harm anybody, and it is useful at least to me.
>
> It fixes some inconsistencies in various contrib makefiles
> (useless override, ":=" instead of "=").

Fabien COELHO
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql-server/src/Makefile,v 1.33 2004/07/30 12:26:40 petere Exp $
a35 4
install-all-headers:
	$(MAKE) -C include $@@
	$(MAKE) -C port $@@

@


1.33
log
@PostgreSQL extension makefile framework ("pgxs"), by Fabien Coelho, with
some massaging by Peter Eisentraut.  This is basically a simple
generalization of the existing contrib makefiles.
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql-server/src/Makefile,v 1.32 2004/04/30 04:31:52 momjian Exp $
d38 1
@


1.32
log
@Integrate timezone library to be called only from Win32.

Timezone code backend integration done by Magnus Hagander.
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql-server/src/Makefile,v 1.31 2004/04/26 00:48:38 momjian Exp $
d25 10
d39 10
d57 1
d71 1
d77 3
@


1.31
log
@Clean tools/thread on make clean/distclean.
@
text
@d7 1
a7 1
# $PostgreSQL: pgsql-server/src/Makefile,v 1.30 2003/11/29 19:51:39 pgsql Exp $
d18 1
d31 1
d44 1
@


1.30
log
@
$Header: -> $PostgreSQL Changes ...
@
text
@d7 1
a7 1
# $PostgreSQL: /cvsroot/pgsql-server/src/Makefile,v 1.29 2002/09/05 18:28:45 petere Exp $
d38 1
d50 1
@


1.29
log
@Assorted fixes for Cygwin:

Eliminate the mysterious games that the Cygwin build plays with the linker
flag variables.  DLLLIBS is gone, use SHLIB_LINK like everyone else.
Detect cygipc in configure, after the linker flags are set up, otherwise
configure might not work at all.

Make sure everything is covered by make clean.

Fix the build of the new conversion procedure modules.

Add new DLLIMPORT markers where required.

Finally, the compiler complains if we use an explicit
-I/usr/local/include, so don't do that.  Curiously, -L/usr/local/lib is
still necessary.
@
text
@d7 1
a7 1
# $Header: /cvsroot/pgsql-server/src/Makefile,v 1.28 2002/09/04 15:45:50 tgl Exp $
@


1.28
log
@Avoid multiple scans of utils/mb/conversion_procs/ subdirectories during
'make install'; there are enough of 'em that this slowed down the make
noticeably.  Ensure that 'all' is the default make target in all these
directories (defaulting to 'make install' is surprising and dangerous
IMHO).  Fix a couple small typos.
@
text
@d7 1
a7 1
# $Header: /cvsroot/pgsql-server/src/Makefile,v 1.27 2002/07/30 17:47:58 tgl Exp $
d37 1
d48 1
@


1.27
log
@Ensure that src/tutorial gets cleaned by top-level make clean.
@
text
@d7 1
a7 1
# $Header: /cvsroot/pgsql/src/Makefile,v 1.26 2002/07/27 20:10:04 petere Exp $
d19 1
@


1.26
log
@Assemble portability modules into libpgport library.
Some makefile simplifications.
@
text
@d7 1
a7 1
# $Header: /cvsroot/pgsql/src/Makefile,v 1.25 2002/07/18 22:15:10 tgl Exp $
d35 1
d45 1
@


1.25
log
@Sic transit src/utils.
@
text
@d7 1
a7 1
# $Header: /cvsroot/pgsql/src/Makefile,v 1.24 2002/03/13 00:05:02 petere Exp $
d17 1
d28 1
d37 1
@


1.24
log
@Move
  src/GNUmakefile.in to src/Makefile
and
  src/backend/port/Makefile.in to src/backend/port/Makefile

All configure substitutions are now done in Makefile.global.
@
text
@d7 1
a7 1
# $Header: /home/projects/pgsql/cvsroot/pgsql/src/GNUmakefile.in,v 1.61 2001/02/10 02:31:26 tgl Exp $
a31 1
	$(MAKE) -C utils $@@
a34 1
	-$(MAKE) -C utils $@@
@


1.23
log
@Restructure the key include files per recent pghackers discussion: there
are now separate files "postgres.h" and "postgres_fe.h", which are meant
to be the primary include files for backend .c files and frontend .c files
respectively.  By default, only include files meant for frontend use are
installed into the installation include directory.  There is a new make
target 'make install-all-headers' that adds the whole content of the
src/include tree to the installed fileset, for use by people who want to
develop server-side code without keeping the complete source tree on hand.
Cleaned up a whole lot of crufty and inconsistent header inclusions.
@
text
@d1 43
a43 36
# The PostgreSQL make files exploit features of GNU make that other
# makes do not have. Because it is a common mistake for users to try
# to build Postgres with a different make, we have this make file
# that, as a service, will look for a GNU make and invoke it, or show
# an error message if none could be found.

# If the user were using GNU make now, this file would not get used
# because GNU make uses a make file named "GNUmakefile" in preference
# to "Makefile" if it exists. PostgreSQL is shipped with a
# "GNUmakefile". If the user hasn't run the configure script yet, the
# GNUmakefile won't exist yet, so we catch that case as well.


all check install installdirs install-all-headers installcheck uninstall dep depend clean distclean maintainer-clean:
	@@if [ ! -f GNUmakefile ] ; then \
	   echo "You need to run the 'configure' program first. See the file"; \
	   echo "'INSTALL' for installation instructions." ; \
	   false ; \
	 fi
	@@IFS=':' ; \
	 for dir in $$PATH; do \
	   for prog in gmake gnumake make; do \
	     if [ -f $$dir/$$prog ] && ( $$dir/$$prog -f /dev/null --version 2>/dev/null | grep GNU >/dev/null 2>&1 ) ; then \
	       GMAKE=$$dir/$$prog; \
	       break 2; \
	     fi; \
	   done; \
	 done; \
	\
	 if [ x"$${GMAKE+set}" = xset ]; then \
	   echo "Using GNU make found at $${GMAKE}"; \
	   $${GMAKE} $@@ ; \
	 else \
	   echo "You must use GNU make to build PostgreSQL." ; \
	   false; \
	 fi
@


1.22
log
@Fix unportable use of '!' in shell commands.
@
text
@d14 1
a14 1
all check install installdirs installcheck uninstall dep depend clean distclean maintainer-clean:
@


1.21
log
@Fix GNU make detection.

(The test 'make --version' with FreeBSD make (and potentially others)
would just reinvoke make on the same Makefile, resulting in an infinite
loop.)
@
text
@d15 1
a15 1
	@@if ! [ -f GNUmakefile ] ; then \
@


1.20
log
@Put back old Makefiles, in pgsql and pgsql/src.
@
text
@d14 1
a14 1
all install clean dep depend distclean maintainer-clean:
d16 2
a17 2
	   echo "You need to run the \`configure' program first. See the file"; \
	   echo "\`INSTALL' for installation instructions." ; \
d23 1
a23 1
	     if [ -f $$dir/$$prog ] && ( $$dir/$$prog --version | grep GNU >/dev/null 2>&1 ) ; then \
@


1.19
log
@Add makefile to warn about not using gmake.
@
text
@d1 5
a5 4
# The Postgres make files exploit features of GNU make that other makes
# do not have.  Because it is a common mistake for users to try to build
# Postgres with a different make, we have this make file that does nothing
# but tell the user to use GNU make.
d7 5
a11 3
# If the user were using GNU make now, this file would not get used because
# GNU make uses a make file named "GNUmakefile" in preference to "Makefile"
# if it exists.  Postgres is shipped with a "GNUmakefile".
d13 24
a36 7
all install clean dep depend distclean:
	@@echo "You must use GNU make to use Postgres.  It may be installed"
	@@echo "on your system with the name 'gmake'."
	@@echo
	@@echo "NOTE:  If you are sure that you are using GNU make and you are"
	@@echo "       still getting this message, you may simply need to run"
	@@echo "       the configure program."
@


1.18
log
@Moved the intricacies of the perl interface build into its own makefile
that now functions as a wrapper around the MakeMaker stuff. It might
even behave sensically when we have separate build dirs. Same for plperl,
which of course still doesn't work very well. Made sure that plperl
respects the choice of --libdir.

Added --with-python to automatically build and install the Python interface.
Works similarly to the Perl5 stuff.

Moved the burden of the distclean targets lower down into the source tree.
Eventually, each make file should have its own.

Added automatic remaking of makefiles and configure. Currently only for the
top-level because of a bug(?) in Autoconf. Use GNU `missing' to work around
missing autoconf and aclocal. Start factoring out macros into their own
config/*.m4 files to increase readability and organization.
@
text
@@


1.17
log
@Warning in makefile added from DArcy.
@
text
@@


1.16
log
@Add distclean to target listing
@
text
@d13 4
@


1.15
log
@Rename Makefile to GNUmakefile to catch people using other makes.
@
text
@d10 1
a10 1
all install clean dep depend:
@


1.14
log
@Make sure user is running GNU make.
@
text
@d1 12
a12 68
#-------------------------------------------------------------------------
#
# Makefile.inc--
#    Build and install postgres.
#
# Copyright (c) 1994, Regents of the University of California
#
# IDENTIFICATION
#    $Header: /usr/local/cvsroot/postgres95/src/Makefile,v 1.12 1996/11/19 02:43:46 bryanh Exp $
#
#-------------------------------------------------------------------------

SRCDIR= .
include Makefile.global

FIND = find
# assuming gnu tar and split here
TAR  = tar
SPLIT = split

ETAGS = etags
XARGS = xargs

.DEFAULT all:
	@@set - `$(MAKE) -v -f /dev/null 2>&1`.; \
	if test $$1 != GNU; then \
	  echo "This Makefile requires GNU make."; \
	  echo "Please read the file INSTALL in this directory for details."; \
	  false ; \
	fi
	@@if test $(PORTNAME) = UNDEFINED; then \
	  echo You must set the PORTNAME value in Makefile.global before \
	       you can build Postgres. ;\
	  false ;\
	fi
	$(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 Postgres95 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
@


1.13
log
@No change...just a test to make sure I didn't screw anything up
@
text
@d25 6
@


1.12
log
@Build man/ instead of ../doc.  Man pages have moved there.
@
text
@a7 1
#
d9 1
a9 1
#    $Header: /usr/local/cvsroot/postgres95/src/Makefile,v 1.9 1996/10/21 06:56:55 bryanh Exp $
@


1.12.2.1
log
@Test two...branch REL2_0B works...I think
@
text
@d8 1
d10 1
a10 1
#    $Header: /usr/local/cvsroot/postgres95/src/Makefile,v 1.12 1996/11/19 02:43:46 bryanh Exp $
@


1.11
log
@Eliminate MKDIR, srcdir, objdir.  Centralize setting of LIBPQDIR.
@
text
@d41 2
a42 2
ifneq ($(wildcard ../doc), )
	$(MAKE) -C ../doc $@@
@


1.10
log
@Add utils directory for cross-subsystem tools to keep make files from having
to be sleazy and reach into other subsystems' directories.  First entry in
this directory is the PG_VERSION file interface, which must be used by the
backend and also the pg_version program (which is used by initdb).
@
text
@a11 3
# NOTES
#	objdir	- location of the objects and generated files (eg. obj)
#
d14 2
a15 2
MKDIR=./mk
-include $(MKDIR)/../Makefile.global
d41 1
a41 1
ifneq ($(wildcard $(MKDIR)/../../doc), )
@


1.9
log
@Force user to set PORTNAME.  Remove NAMEDATALEN from CFLAGS (don't need it
there because it's in config.h, which is cleaner).
@
text
@d10 1
a10 1
#    $Header: /usr/local/cvsroot/postgres95/src/Makefile,v 1.7 1996/10/07 23:53:47 scrappy Exp $
d34 1
@


1.8
log
@Not quite the cleanest way to do it, but add an option to Makefile.global
that allows one to compile libpq++

this should be set on a port-by-port basis
@
text
@d29 5
a45 1
	@@-chown -R $(POSTGRESLOGIN) $(POSTGRESDIR) 2>/dev/null
@


1.7
log
@Fix handling of no '../doc' directory in compile procedure...
@
text
@d10 1
a10 1
#    $Header: /usr/local/cvsroot/postgres95/src/Makefile,v 1.6 1996/10/04 20:07:04 scrappy Exp $
d31 3
@


1.6
log
@This patch fixes problems in initdb, including that it doesn't run
with some versions of sh, and a bug in the master make file that
causes it to issue the message "postgres has been built" at the wrong
time.

Submitted by: bryanh@@giraffe.netgate.net (Bryan Henderson)
@
text
@d10 1
a10 1
#    $Header: /usr/local/cvsroot/postgres95/src/Makefile,v 1.5 1996/10/03 20:09:48 momjian Exp $
d35 1
d37 1
@


1.5
log
@Added chown to Makefile to set files to Postgres user.
Does not display and generates no error messages on failure.
@
text
@d10 1
a10 1
#    $Header: /usr/local/cvsroot/postgres95/src/Makefile,v 1.4 1996/08/13 07:47:43 scrappy Exp $
d37 3
a39 1
	@@echo All of Postgres95 is successfully made.  Ready to install.
@


1.4
log
@I have attached a minor update for the Postgres make files.  This update
does 2 things:

1) Make it hard to not notice the make failed.  (As you recall, someone on
   the mailing list had this problem.  I've had it to some extent myself).

    The 1.02 make files continue with the next subdirectory when a make
    in a subdirectory fails.  The patch makes the make stop in the
    conventional way when a submake fails.  It also adds a reassuring message
    when the make succeeds and adds a note to the INSTALL file to expect it.

2) Include loader flags on all invocations of the linker.

   The 1.02 make files omit the $(LDFLAGS) on some of the linker invocations.
   On my system, I need one of those flags just to make it invoke the proper
   version of the compiler/linker, so LDFLAGS has to be everywhere.

Submitted by: Bryan Henderson <bryanh@@giraffe.netgate.net>
@
text
@d10 1
a10 1
#    $Header: /usr/local/cvsroot/postgres95/src/Makefile,v 1.3 1996/08/01 19:46:46 scrappy Exp $
d36 1
@


1.3
log
@Fixes:

make TCL conditinal compilation work

Submitted by: Dr_George_D_Detlefsen <drgeorge@@madmax.ilt.com>
@
text
@d10 1
a10 1
#    $Header: /usr/local/cvsroot/postgres95/src/Makefile,v 1.2 1996/07/20 07:52:36 scrappy Exp $
a19 8
SUBDIR= backend libpq 

ifeq ($(USE_TCL), true)
SUBDIR += libpgtcl
endif

SUBDIR+= bin ../doc

d28 9
a36 1
include mk/postgres.subdir.mk
@


1.3.2.1
log
@Make the doc directory a conditional...only try to "compile" if it
actually exists...
@
text
@d10 1
a10 1
#    $Header: /usr/local/cvsroot/postgres95/src/Makefile,v 1.3 1996/08/01 19:46:46 scrappy Exp $
d26 1
a26 6
SUBDIR+= bin 

DOC= $(shell ls -ld ../doc)
ifeq ($(DOC), ../doc)
SUBDIR+= ../doc
endif
@


1.3.2.2
log
@i
Improvements to Makefiles to compensate for errors in compiling

From: bryanh@@giraffe.netgate.net (Bryan Henderson)
@
text
@d10 1
a10 1
#    $Header: /usr/local/cvsroot/postgres95/src/Makefile,v 1.3.2.1 1996/08/19 18:35:17 scrappy Exp $
d20 13
d41 1
a41 11
.DEFAULT all:
	$(MAKE) -C backend $@@
	$(MAKE) -C libpq $@@
ifeq ($(USE_TCL), true)
	$(MAKE) -C libpgtcl $@@
endif
	$(MAKE) -C bin $@@
ifeq (../doc, $(wildcard ../doc))
	$(MAKE) -C ../doc $@@
endif
	@@echo All of Postgres95 is successfully made.  Ready to install.
@


1.3.2.3
log
@Bring in changes so that PORTNAME is UNDEFINED by default, and error/halt
happens if it isn't changed

Disable READLINE by default
@
text
@d10 1
a10 1
#    $Header: /usr/local/cvsroot/postgres95/src/Makefile,v 1.3.2.2 1996/08/20 04:10:35 scrappy Exp $
a28 5
	@@if test $(PORTNAME) = UNDEFINED; then \
	  echo You must set the PORTNAME value in Makefile.global before ;\
	  echo you can build Postgres. ;\
	  false ;\
	fi
@


1.3.2.4
log
@One thing we said before should go into 1.09 is the fix to the master
make file so it doesn't say "Postgres made - ready to install" when you
do a make install or make clean.

Bryan Henderson <bryanh@@giraffe.netgate.net>
@
text
@d10 1
a10 1
#    $Header: /usr/local/cvsroot/postgres95/src/Makefile,v 1.3.2.3 1996/10/25 09:23:42 scrappy Exp $
d43 1
a43 3
	@@if test $@@. = all. -o $@@. = .; then \
	  echo All of Postgres95 is successfully made.  Ready to install. ;\
	fi
@


1.2
log
@- fix installation not installing man pages

- submitted by: drgeorge@@ilt.com (Dr_George_D_Detlefsen)
@
text
@d10 1
a10 1
#    $Header: /usr/local/cvsroot/postgres95/src/Makefile,v 1.1.1.1 1996/07/09 06:21:07 scrappy Exp $
d17 10
a26 1
SUBDIR= backend libpq bin ../doc
a34 4

ifeq ($(USE_TCL), true)
SUBDIR += libpgtcl
endif
@


1.1
log
@Initial revision
@
text
@d10 1
a10 1
#    $Header: /usr/local/cvsroot/postgres95/postgres95/src/Makefile,v 1.1.1.1 1996/07/09 05:31:24 scrappy Exp $
d17 1
a17 1
SUBDIR= backend libpq bin
@


1.1.1.1
log
@Postgres95 1.01 Distribution - Virgin Sources
@
text
@@
