mirror of https://github.com/citusdata/citus.git
46 lines
1.4 KiB
Makefile
46 lines
1.4 KiB
Makefile
citus_top_builddir = ../../../..
|
|
include $(citus_top_builddir)/Makefile.global
|
|
|
|
citus_subdir = src/backend/distributed/cdc
|
|
SRC_DIR = $(citus_abs_top_srcdir)/$(citus_subdir)
|
|
|
|
#List of supported based decoders. Add new decoders here.
|
|
cdc_base_decoders :=pgoutput wal2json
|
|
|
|
all: build-cdc-decoders
|
|
|
|
copy-decoder-files-to-build-dir:
|
|
$(eval DECODER_BUILD_DIR=build-cdc-$(DECODER))
|
|
mkdir -p $(DECODER_BUILD_DIR)
|
|
@for file in $(SRC_DIR)/*.c $(SRC_DIR)/*.h; do \
|
|
if [ -f $$file ]; then \
|
|
if [ -f $(DECODER_BUILD_DIR)/$$(basename $$file) ]; then \
|
|
if ! diff -q $$file $(DECODER_BUILD_DIR)/$$(basename $$file); then \
|
|
cp $$file $(DECODER_BUILD_DIR)/$$(basename $$file); \
|
|
fi \
|
|
else \
|
|
cp $$file $(DECODER_BUILD_DIR)/$$(basename $$file); \
|
|
fi \
|
|
fi \
|
|
done
|
|
cp $(SRC_DIR)/Makefile.decoder $(DECODER_BUILD_DIR)/Makefile
|
|
|
|
build-cdc-decoders:
|
|
$(foreach base_decoder,$(cdc_base_decoders),$(MAKE) DECODER=$(base_decoder) build-cdc-decoder;)
|
|
|
|
install-cdc-decoders:
|
|
$(foreach base_decoder,$(cdc_base_decoders),$(MAKE) DECODER=$(base_decoder) -C build-cdc-$(base_decoder) install;)
|
|
|
|
clean-cdc-decoders:
|
|
$(foreach base_decoder,$(cdc_base_decoders),rm -rf build-cdc-$(base_decoder);)
|
|
|
|
|
|
build-cdc-decoder:
|
|
$(MAKE) DECODER=$(DECODER) copy-decoder-files-to-build-dir
|
|
$(MAKE) DECODER=$(DECODER) -C build-cdc-$(DECODER)
|
|
|
|
install: install-cdc-decoders
|
|
|
|
clean: clean-cdc-decoders
|
|
|