1
#-------------------------------------------------------------------------
3
# Makefile for backend/catalog
5
# src/backend/catalog/Makefile
7
#-------------------------------------------------------------------------
9
subdir = src/backend/catalog
10
top_builddir = ../../..
11
include $(top_builddir)/src/Makefile.global
13
OBJS = catalog.o dependency.o heap.o index.o indexing.o namespace.o aclchk.o \
14
objectaccess.o objectaddress.o pg_aggregate.o pg_collation.o \
15
pg_constraint.o pg_conversion.o \
16
pg_depend.o pg_enum.o pg_inherits.o pg_largeobject.o pg_namespace.o \
17
pg_operator.o pg_proc.o pg_range.o pg_db_role_setting.o pg_shdepend.o \
18
pg_type.o storage.o toasting.o
20
BKIFILES = postgres.bki postgres.description postgres.shdescription
22
include $(top_srcdir)/src/backend/common.mk
24
all: $(BKIFILES) schemapg.h
26
# Note: there are some undocumented dependencies on the ordering in which
27
# the catalog header files are assembled into postgres.bki. In particular,
28
# indexing.h had better be last, and toasting.h just before it.
30
POSTGRES_BKI_SRCS = $(addprefix $(top_srcdir)/src/include/catalog/,\
31
pg_proc.h pg_type.h pg_attribute.h pg_class.h \
32
pg_attrdef.h pg_constraint.h pg_inherits.h pg_index.h pg_operator.h \
33
pg_opfamily.h pg_opclass.h pg_am.h pg_amop.h pg_amproc.h \
34
pg_language.h pg_largeobject_metadata.h pg_largeobject.h pg_aggregate.h \
35
pg_statistic.h pg_rewrite.h pg_trigger.h pg_event_trigger.h pg_description.h \
36
pg_cast.h pg_enum.h pg_namespace.h pg_conversion.h pg_depend.h \
37
pg_database.h pg_db_role_setting.h pg_tablespace.h pg_pltemplate.h \
38
pg_authid.h pg_auth_members.h pg_shdepend.h pg_shdescription.h \
39
pg_ts_config.h pg_ts_config_map.h pg_ts_dict.h \
40
pg_ts_parser.h pg_ts_template.h pg_extension.h \
41
pg_foreign_data_wrapper.h pg_foreign_server.h pg_user_mapping.h \
43
pg_default_acl.h pg_seclabel.h pg_shseclabel.h pg_collation.h pg_range.h \
44
toasting.h indexing.h \
47
# location of Catalog.pm
48
catalogdir = $(top_srcdir)/src/backend/catalog
50
# locations of headers that genbki.pl needs to read
51
pg_includes = -I$(top_srcdir)/src/include/catalog -I$(top_builddir)/src/include/catalog
53
# see explanation in ../parser/Makefile
54
postgres.description: postgres.bki ;
56
postgres.shdescription: postgres.bki ;
58
schemapg.h: postgres.bki ;
60
# Technically, this should depend on Makefile.global, but then
61
# postgres.bki would need to be rebuilt after every configure run,
62
# even in distribution tarballs. So this is cheating a bit, but it
63
# will achieve the goal of updating the version number when it
65
postgres.bki: genbki.pl Catalog.pm $(POSTGRES_BKI_SRCS) $(top_srcdir)/configure
66
$(PERL) -I $(catalogdir) $< $(pg_includes) --set-version=$(MAJORVERSION) $(POSTGRES_BKI_SRCS)
69
install-data: $(BKIFILES) installdirs
70
$(INSTALL_DATA) $(call vpathsearch,postgres.bki) '$(DESTDIR)$(datadir)/postgres.bki'
71
$(INSTALL_DATA) $(call vpathsearch,postgres.description) '$(DESTDIR)$(datadir)/postgres.description'
72
$(INSTALL_DATA) $(call vpathsearch,postgres.shdescription) '$(DESTDIR)$(datadir)/postgres.shdescription'
73
$(INSTALL_DATA) $(srcdir)/system_views.sql '$(DESTDIR)$(datadir)/system_views.sql'
74
$(INSTALL_DATA) $(srcdir)/information_schema.sql '$(DESTDIR)$(datadir)/information_schema.sql'
75
$(INSTALL_DATA) $(srcdir)/sql_features.txt '$(DESTDIR)$(datadir)/sql_features.txt'
78
$(MKDIR_P) '$(DESTDIR)$(datadir)'
80
.PHONY: uninstall-data
82
rm -f $(addprefix '$(DESTDIR)$(datadir)'/, $(BKIFILES) system_views.sql information_schema.sql sql_features.txt)
84
# postgres.bki, postgres.description, postgres.shdescription, and schemapg.h
85
# are in the distribution tarball, so they are not cleaned here.
88
maintainer-clean: clean