Skip to content
Snippets Groups Projects
  • Tom Lane's avatar
    d08741ea
    Restructure the key include files per recent pghackers discussion: there · d08741ea
    Tom Lane authored
    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.
    d08741ea
    History
    Restructure the key include files per recent pghackers discussion: there
    Tom Lane authored
    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.
Makefile 1.40 KiB
# 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