mirror of
https://github.com/postgres/postgres.git
synced 2026-02-16 09:08:23 -05:00
Get rid of the fundamentally indefensible assumption that "long long int" exists and is exactly 64 bits wide on every platform Postgres runs on. Instead let the configure script select the type to use for "pg_int64". This is a bit of a pain in the rear since we do not want to pollute client namespace with all the random symbols that pg_config.h defines; instead we have to create a separate generated header file, "pg_config_ext.h". But now that the infrastructure is there, we might have the ability to add some other stuff that's long been wanting in this area.
80 lines
3.5 KiB
Makefile
80 lines
3.5 KiB
Makefile
#-------------------------------------------------------------------------
|
|
#
|
|
# Makefile for src/include
|
|
#
|
|
# 'make install' installs whole contents of src/include.
|
|
#
|
|
# src/include/Makefile
|
|
#
|
|
#-------------------------------------------------------------------------
|
|
|
|
subdir = src/include
|
|
top_builddir = ../..
|
|
include $(top_builddir)/src/Makefile.global
|
|
|
|
|
|
all: pg_config.h pg_config_ext.h pg_config_os.h
|
|
|
|
|
|
# Subdirectories containing headers for server-side dev
|
|
SUBDIRS = access bootstrap catalog commands datatype executor foreign lib libpq mb \
|
|
nodes optimizer parser postmaster regex replication rewrite storage \
|
|
tcop snowball snowball/libstemmer tsearch tsearch/dicts utils \
|
|
port port/win32 port/win32_msvc port/win32_msvc/sys \
|
|
port/win32/arpa port/win32/netinet port/win32/sys \
|
|
portability
|
|
|
|
# Install all headers
|
|
install: all installdirs
|
|
# These headers are needed by the public headers of the interfaces.
|
|
$(INSTALL_DATA) $(srcdir)/postgres_ext.h '$(DESTDIR)$(includedir)'
|
|
$(INSTALL_DATA) $(srcdir)/libpq/libpq-fs.h '$(DESTDIR)$(includedir)/libpq'
|
|
$(INSTALL_DATA) pg_config.h '$(DESTDIR)$(includedir)'
|
|
$(INSTALL_DATA) pg_config_ext.h '$(DESTDIR)$(includedir)'
|
|
$(INSTALL_DATA) pg_config_os.h '$(DESTDIR)$(includedir)'
|
|
$(INSTALL_DATA) $(srcdir)/pg_config_manual.h '$(DESTDIR)$(includedir)'
|
|
# These headers are needed by the not-so-public headers of the interfaces.
|
|
$(INSTALL_DATA) $(srcdir)/c.h '$(DESTDIR)$(includedir_internal)'
|
|
$(INSTALL_DATA) $(srcdir)/port.h '$(DESTDIR)$(includedir_internal)'
|
|
$(INSTALL_DATA) $(srcdir)/postgres_fe.h '$(DESTDIR)$(includedir_internal)'
|
|
$(INSTALL_DATA) $(srcdir)/libpq/pqcomm.h '$(DESTDIR)$(includedir_internal)/libpq'
|
|
# These headers are needed for server-side development
|
|
$(INSTALL_DATA) pg_config.h '$(DESTDIR)$(includedir_server)'
|
|
$(INSTALL_DATA) pg_config_ext.h '$(DESTDIR)$(includedir_server)'
|
|
$(INSTALL_DATA) pg_config_os.h '$(DESTDIR)$(includedir_server)'
|
|
$(INSTALL_DATA) utils/errcodes.h '$(DESTDIR)$(includedir_server)/utils'
|
|
$(INSTALL_DATA) utils/fmgroids.h '$(DESTDIR)$(includedir_server)/utils'
|
|
# We don't use INSTALL_DATA for performance reasons --- there are a lot of files
|
|
cp $(srcdir)/*.h '$(DESTDIR)$(includedir_server)'/ || exit; \
|
|
chmod $(INSTALL_DATA_MODE) '$(DESTDIR)$(includedir_server)'/*.h || exit; \
|
|
for dir in $(SUBDIRS); do \
|
|
cp $(srcdir)/$$dir/*.h '$(DESTDIR)$(includedir_server)'/$$dir/ || exit; \
|
|
chmod $(INSTALL_DATA_MODE) '$(DESTDIR)$(includedir_server)'/$$dir/*.h || exit; \
|
|
done
|
|
ifeq ($(vpath_build),yes)
|
|
for file in dynloader.h catalog/schemapg.h parser/gram.h utils/probes.h; do \
|
|
cp $$file '$(DESTDIR)$(includedir_server)'/$$file || exit; \
|
|
chmod $(INSTALL_DATA_MODE) '$(DESTDIR)$(includedir_server)'/$$file || exit; \
|
|
done
|
|
endif
|
|
|
|
installdirs:
|
|
$(MKDIR_P) '$(DESTDIR)$(includedir)/libpq' '$(DESTDIR)$(includedir_internal)/libpq'
|
|
$(MKDIR_P) $(addprefix '$(DESTDIR)$(includedir_server)'/, $(SUBDIRS))
|
|
|
|
|
|
uninstall:
|
|
rm -f $(addprefix '$(DESTDIR)$(includedir)'/, pg_config.h pg_config_ext.h pg_config_os.h pg_config_manual.h postgres_ext.h libpq/libpq-fs.h)
|
|
rm -f $(addprefix '$(DESTDIR)$(includedir_internal)'/, c.h port.h postgres_fe.h libpq/pqcomm.h)
|
|
# heuristic...
|
|
rm -rf $(addprefix '$(DESTDIR)$(includedir_server)'/, $(SUBDIRS) *.h)
|
|
|
|
|
|
clean:
|
|
rm -f utils/fmgroids.h utils/errcodes.h parser/gram.h utils/probes.h catalog/schemapg.h
|
|
|
|
distclean maintainer-clean: clean
|
|
rm -f pg_config.h pg_config_ext.h pg_config_os.h dynloader.h stamp-h stamp-ext-h
|
|
|
|
maintainer-check:
|
|
cd catalog && ./duplicate_oids
|