Files
postgresql/src/include/Makefile
Peter Eisentraut 335248c9b7 Support for DESTDIR make variable. This is used as in `make install
DESTDIR=/else/where' and prepends the value of DESTDIR to the full
installation paths (e.g., /else/where/usr/local/pgsql/bin). This allows
users to install the package into a location different from the one that
was configured and hard-coded into various scripts, e.g., for creating
binary packages.

DESTDIR is in many cases preferrable over `make install
prefix=/else/where' because

a) `prefix' affects the path that is hard-coded into the files, which can
lead to a `make install prefix=xxx' (as done by the regression test
driver) corrupting the files in the source tree with wrong paths.

b) it doesn't work at all if a directory was overridden to not depend on
`prefix', e.g., --sysconfdir=/etc.

(Updating the regression test driver to use DESTDIR is a separate
undertaking.)

See also autoconf@gnu.org, From: Akim Demaille <akim@epita.fr>, Date: 08
Sep 2000 12:48:59 +0200, Message-ID:
<mv4em2vb1lw.fsf@nostromo.lrde.epita.fr>, Subject: Re: HTML format
documentation.
2000-09-17 13:02:52 +00:00

55 lines
1.7 KiB
Makefile

#-------------------------------------------------------------------------
#
# Makefile for src/include
#
# 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.4 2000/09/17 13:02:44 petere Exp $
#
#-------------------------------------------------------------------------
subdir = src/include
top_builddir = ../..
include $(top_builddir)/src/Makefile.global
HEADERS := os.h config.h c.h postgres.h postgres_ext.h fmgr.h \
libpq/pqcomm.h libpq/libpq-fs.h lib/dllist.h \
utils/geo_decls.h utils/elog.h utils/fmgroids.h utils/palloc.h \
access/attnum.h executor/spi.h commands/trigger.h
all: $(HEADERS)
# These rules are necessary in case someone installs the include tree
# before building the backend tree. Very messy.
utils/fmgroids.h: $(top_builddir)/src/backend/utils/fmgroids.h
cd utils && rm -f fmgroids.h && $(LN_S) ../$(top_builddir)/src/backend/utils/fmgroids.h .
# This file is built in the backend tree, but we need to keep track of
# the dependencies here.
$(top_builddir)/src/backend/utils/fmgroids.h: $(top_srcdir)/src/backend/utils/Gen_fmgrtab.sh catalog/pg_proc.h
$(MAKE) -C $(dir $@) fmgroids.h
install: all installdirs
for i in $(HEADERS); do \
$(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(includedir)/$$i || exit; \
done
# Automatically pick out the needed subdirectories for the include
# tree.
installdirs:
$(mkinstalldirs) $(addprefix $(DESTDIR)$(includedir)/, $(sort $(dir $(HEADERS))))
uninstall:
rm -f $(addprefix $(DESTDIR)$(includedir)/, $(HEADERS))
clean:
rm -f utils/fmgroids.h parser/parse.h
distclean maintainer-clean: clean
rm -f config.h dynloader.h os.h stamp-h