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
This commit is contained in:
Bruce Momjian 2004-10-06 08:50:02 +00:00
parent d42d427252
commit 513e89b44b
7 changed files with 23 additions and 48 deletions

View File

@ -1,7 +1,7 @@
#
# PostgreSQL top level makefile
#
# $PostgreSQL: pgsql/GNUmakefile.in,v 1.40 2004/07/30 12:26:39 petere Exp $
# $PostgreSQL: pgsql/GNUmakefile.in,v 1.41 2004/10/06 08:49:58 momjian Exp $
#
subdir =
@ -15,9 +15,9 @@ all:
@echo "All of PostgreSQL successfully made. Ready to install."
install:
$(MAKE) -C doc install
$(MAKE) -C src install
$(MAKE) -C config install
$(MAKE) -C doc $@
$(MAKE) -C src $@
$(MAKE) -C config $@
@echo "PostgreSQL installation complete."
installdirs uninstall distprep:
@ -25,9 +25,6 @@ installdirs uninstall distprep:
$(MAKE) -C src $@
$(MAKE) -C config $@
install-all-headers:
$(MAKE) -C src $@
# clean, distclean, etc should apply to contrib too, even though
# it's not built by default
clean:

View File

@ -11,7 +11,7 @@
# 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:
all check install installdirs 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." ; \

View File

@ -1,4 +1,4 @@
<!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.205 2004/10/01 02:00:43 neilc Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/installation.sgml,v 1.206 2004/10/06 08:49:59 momjian Exp $ -->
<chapter id="installation">
<title><![%standalone-include[<productname>PostgreSQL</>]]>
@ -1035,18 +1035,9 @@ All of PostgreSQL is successfully made. Ready to install.
</para>
<para>
The standard installation provides only the header files needed for client
application development. If you plan to do any server-side program
development (such as custom functions or data types written in C),
then you may want to install the entire <productname>PostgreSQL</>
include tree into your target include directory. To do that, enter
<screen>
<userinput>gmake install-all-headers</userinput>
</screen>
This adds a megabyte or two to the installation footprint, and is only
useful if you don't plan to keep the whole source tree around for
reference. (If you do, you can just use the source's include
directory when building server-side software.)
The standard installation provides all the header files needed for client
application development as well as for any server-side program
development (such as custom functions or data types written in C).
</para>
<formalpara>

View File

@ -4,7 +4,7 @@
#
# Copyright (c) 1994, Regents of the University of California
#
# $PostgreSQL: pgsql/src/Makefile,v 1.34 2004/08/20 20:13:10 momjian Exp $
# $PostgreSQL: pgsql/src/Makefile,v 1.35 2004/10/06 08:49:59 momjian Exp $
#
#-------------------------------------------------------------------------
@ -33,10 +33,6 @@ install-local: installdirs-local
$(INSTALL_DATA) $(srcdir)/Makefile.shlib $(DESTDIR)$(pgxsdir)/$(subdir)/Makefile.shlib
$(INSTALL_DATA) $(srcdir)/nls-global.mk $(DESTDIR)$(pgxsdir)/$(subdir)/nls-global.mk
install-all-headers:
$(MAKE) -C include $@
$(MAKE) -C port $@
installdirs: installdirs-local
installdirs-local:

View File

@ -2,11 +2,9 @@
#
# Makefile for src/include
#
# 'make install' installs only those headers needed for client-side
# programming. 'make install-all-headers' installs the whole contents
# of src/include.
# 'make install' installs whole contents of src/include.
#
# $PostgreSQL: pgsql/src/include/Makefile,v 1.12 2003/11/29 19:52:08 pgsql Exp $
# $PostgreSQL: pgsql/src/include/Makefile,v 1.13 2004/10/06 08:50:00 momjian Exp $
#
#-------------------------------------------------------------------------
@ -18,8 +16,11 @@ include $(top_builddir)/src/Makefile.global
all: pg_config.h pg_config_os.h
# Install only selected headers
# Subdirectories containing headers for server-side dev
SUBDIRS = access bootstrap catalog commands executor lib libpq mb \
nodes optimizer parser port regex rewrite storage tcop utils
# Install all headers
install: all installdirs remove-old-headers
# These headers are needed by the public headers of the interfaces.
$(INSTALL_DATA) $(srcdir)/postgres_ext.h $(DESTDIR)$(includedir)
@ -33,18 +34,7 @@ install: all installdirs remove-old-headers
$(INSTALL_DATA) $(srcdir)/postgres_fe.h $(DESTDIR)$(includedir_internal)
$(INSTALL_DATA) $(srcdir)/libpq/pqcomm.h $(DESTDIR)$(includedir_internal)/libpq
$(INSTALL_DATA) $(srcdir)/lib/dllist.h $(DESTDIR)$(includedir_internal)/lib
installdirs:
$(mkinstalldirs) $(DESTDIR)$(includedir)/libpq $(DESTDIR)$(includedir_internal)/libpq $(DESTDIR)$(includedir_internal)/lib
# Install all headers
# Subdirectories containing headers that install-all-headers should install
SUBDIRS = access bootstrap catalog commands executor lib libpq mb \
nodes optimizer parser port regex rewrite storage tcop utils
install-all-headers: all install-all-dirs
# These headers are needed for server-side development
$(INSTALL_DATA) pg_config.h $(DESTDIR)$(includedir_server)
$(INSTALL_DATA) pg_config_os.h $(DESTDIR)$(includedir_server)
for file in $(srcdir)/*.h; do \
@ -56,7 +46,8 @@ install-all-headers: all install-all-dirs
done \
done
install-all-dirs:
installdirs:
$(mkinstalldirs) $(DESTDIR)$(includedir)/libpq $(DESTDIR)$(includedir_internal)/libpq $(DESTDIR)$(includedir_internal)/lib
$(mkinstalldirs) $(addprefix $(DESTDIR)$(includedir_server)/, $(SUBDIRS))

View File

@ -1,6 +1,6 @@
# PGXS: PostgreSQL extensions makefile
# $PostgreSQL: pgsql/src/makefiles/pgxs.mk,v 1.1 2004/07/30 12:26:40 petere Exp $
# $PostgreSQL: pgsql/src/makefiles/pgxs.mk,v 1.2 2004/10/06 08:50:02 momjian Exp $
# This file contains generic rules to build many kinds of simple
# extension modules. You only need to set a few variables and include
@ -50,7 +50,7 @@ endif
ifdef PGXS
# We assume that we are in src/makefiles/, so top is ...
top_builddir := $(dir $(PGXS))/../..
top_builddir := $(dir $(PGXS))../..
include $(top_builddir)/src/Makefile.global
top_srcdir = $(top_builddir)

View File

@ -15,7 +15,7 @@
# for use only by the backend binaries
#
# IDENTIFICATION
# $PostgreSQL: pgsql/src/port/Makefile,v 1.19 2004/10/04 13:43:58 momjian Exp $
# $PostgreSQL: pgsql/src/port/Makefile,v 1.20 2004/10/06 08:50:02 momjian Exp $
#
#-------------------------------------------------------------------------
@ -36,7 +36,7 @@ LIBOBJS_SRV := $(patsubst thread.o,thread_srv.o, $(LIBOBJS_SRV))
all: libpgport.a libpgport_srv.a
# libpgport is needed by some contrib
install-all-headers:
install:
$(INSTALL_STLIB) libpgport.a $(DESTDIR)$(libdir)
uninstall: