mirror of https://github.com/citusdata/citus.git
Use "cpp" to expand "#include" directives in columnar sql files
parent
2b4be535de
commit
be0735a329
|
@ -0,0 +1,3 @@
|
||||||
|
# The directory used to store columnar sql files after pre-processing them
|
||||||
|
# with 'cpp' in build-time, see src/backend/columnar/Makefile.
|
||||||
|
/build/
|
|
@ -10,14 +10,51 @@ OBJS += \
|
||||||
MODULE_big = citus_columnar
|
MODULE_big = citus_columnar
|
||||||
EXTENSION = citus_columnar
|
EXTENSION = citus_columnar
|
||||||
|
|
||||||
columnar_sql_files = $(patsubst $(citus_abs_srcdir)/%,%,$(wildcard $(citus_abs_srcdir)/sql/*.sql))
|
template_sql_files = $(patsubst $(citus_abs_srcdir)/%,%,$(wildcard $(citus_abs_srcdir)/sql/*.sql))
|
||||||
columnar_downgrade_sql_files = $(patsubst $(citus_abs_srcdir)/%,%,$(wildcard $(citus_abs_srcdir)/sql/downgrades/*.sql))
|
template_downgrade_sql_files = $(patsubst $(citus_abs_srcdir)/sql/downgrades/%,%,$(wildcard $(citus_abs_srcdir)/sql/downgrades/*.sql))
|
||||||
DATA = $(columnar_sql_files) \
|
generated_sql_files = $(patsubst %,$(citus_abs_srcdir)/build/%,$(template_sql_files))
|
||||||
$(columnar_downgrade_sql_files)
|
generated_downgrade_sql_files += $(patsubst %,$(citus_abs_srcdir)/build/sql/%,$(template_downgrade_sql_files))
|
||||||
|
|
||||||
|
DATA_built = $(generated_sql_files)
|
||||||
|
|
||||||
PG_CPPFLAGS += -I$(libpq_srcdir) -I$(safestringlib_srcdir)/include
|
PG_CPPFLAGS += -I$(libpq_srcdir) -I$(safestringlib_srcdir)/include
|
||||||
|
|
||||||
include $(citus_top_builddir)/Makefile.global
|
include $(citus_top_builddir)/Makefile.global
|
||||||
|
|
||||||
.PHONY: install-all
|
SQL_DEPDIR=.deps/sql
|
||||||
|
SQL_BUILDDIR=build/sql
|
||||||
|
|
||||||
|
$(generated_sql_files): $(citus_abs_srcdir)/build/%: %
|
||||||
|
@mkdir -p $(citus_abs_srcdir)/$(SQL_DEPDIR) $(citus_abs_srcdir)/$(SQL_BUILDDIR)
|
||||||
|
@# -MF is used to store dependency files(.Po) in another directory for separation
|
||||||
|
@# -MT is used to change the target of the rule emitted by dependency generation.
|
||||||
|
@# -P is used to inhibit generation of linemarkers in the output from the preprocessor.
|
||||||
|
@# -undef is used to not predefine any system-specific or GCC-specific macros.
|
||||||
|
@# `man cpp` for further information
|
||||||
|
cd $(citus_abs_srcdir) && cpp -undef -w -P -MMD -MP -MF$(SQL_DEPDIR)/$(*F).Po -MT$@ $< > $@
|
||||||
|
|
||||||
|
$(generated_downgrade_sql_files): $(citus_abs_srcdir)/build/sql/%: sql/downgrades/%
|
||||||
|
@mkdir -p $(citus_abs_srcdir)/$(SQL_DEPDIR) $(citus_abs_srcdir)/$(SQL_BUILDDIR)
|
||||||
|
@# -MF is used to store dependency files(.Po) in another directory for separation
|
||||||
|
@# -MT is used to change the target of the rule emitted by dependency generation.
|
||||||
|
@# -P is used to inhibit generation of linemarkers in the output from the preprocessor.
|
||||||
|
@# -undef is used to not predefine any system-specific or GCC-specific macros.
|
||||||
|
@# `man cpp` for further information
|
||||||
|
cd $(citus_abs_srcdir) && cpp -undef -w -P -MMD -MP -MF$(SQL_DEPDIR)/$(*F).Po -MT$@ $< > $@
|
||||||
|
|
||||||
|
.PHONY: install install-downgrades install-all
|
||||||
|
|
||||||
|
cleanup-before-install:
|
||||||
|
rm -f $(DESTDIR)$(datadir)/$(datamoduledir)/citus_columnar.control
|
||||||
|
rm -f $(DESTDIR)$(datadir)/$(datamoduledir)/columnar--*
|
||||||
|
rm -f $(DESTDIR)$(datadir)/$(datamoduledir)/citus_columnar--*
|
||||||
|
|
||||||
|
install: cleanup-before-install
|
||||||
|
|
||||||
|
# install and install-downgrades should be run sequentially
|
||||||
install-all: install
|
install-all: install
|
||||||
|
$(MAKE) install-downgrades
|
||||||
|
|
||||||
|
install-downgrades: $(generated_downgrade_sql_files)
|
||||||
|
$(INSTALL_DATA) $(generated_downgrade_sql_files) '$(DESTDIR)$(datadir)/$(datamoduledir)/'
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue