# pg_accumulator Makefile # PostgreSQL Extension Build System EXTENSION = pg_accumulator EXTVERSION = $(shell grep -m 1 '"version":' META.json | \ sed -e 's/[[:space:]]*"version":[[:space:]]*"\([^"]*\)",\{0,1\}/\1/') DISTVERSION = $(EXTVERSION) MODULE_big = pg_accumulator # Only list source files that actually exist. # Uncomment additional lines as modules are implemented. OBJS = src/core/pg_accumulator.o \ src/bgworker/worker.o # src/core/schema.o \ # src/core/registry.o \ # src/hash/hash.o \ # src/ddl/ddl_generator.o \ # src/ddl/ddl_tables.o \ # src/ddl/ddl_indexes.o \ # src/ddl/ddl_functions.o \ # src/triggers/trigger_engine.o \ # src/triggers/trigger_totals.o \ # src/triggers/trigger_cache.o \ # src/write_api/post.o \ # src/write_api/unpost.o \ # src/write_api/repost.o \ # src/read_api/balance.o \ # src/read_api/turnover.o \ # src/read_api/movements.o \ # src/registry_api/create.o \ # src/registry_api/alter.o \ # src/registry_api/drop.o \ # src/registry_api/list.o \ # src/registry_api/info.o \ # src/delta_buffer/delta.o \ # src/delta_buffer/merge.o \ # src/partitioning/partition_manager.o \ # src/partitioning/auto_create.o \ # src/maintenance/verify.o \ # src/maintenance/rebuild.o \ # src/maintenance/stats.o PG_CPPFLAGS = -I$(srcdir)/src DATA = sql/pg_accumulator--$(EXTVERSION).sql DOCS = $(wildcard doc/*.md) EXTRA_CLEAN = sql/pg_accumulator--$(EXTVERSION).sql # SQL source files (concatenated into final extension SQL) SQL_SRC = sql/00_schema.sql \ sql/01_registry.sql \ sql/02_hash.sql \ sql/03_ddl.sql \ sql/04_triggers.sql \ sql/05_write_api.sql \ sql/06_read_api.sql \ sql/07_registry_api.sql \ sql/08_delta_buffer.sql \ sql/09_partitioning.sql \ sql/10_maintenance.sql \ sql/11_config.sql # Build concatenated SQL sql/pg_accumulator--$(EXTVERSION).sql: $(SQL_SRC) cat $^ > $@ # pgTAP tests TESTS = $(wildcard test/sql/*.sql) REGRESS = $(patsubst test/sql/%.sql,%,$(TESTS)) REGRESS_OPTS = --inputdir=test PG_CONFIG ?= pg_config PGXS := $(shell $(PG_CONFIG) --pgxs) include $(PGXS) # PGXN distribution archive dist: git archive --format zip --prefix=$(EXTENSION)-$(DISTVERSION)/ \ -o $(EXTENSION)-$(DISTVERSION).zip HEAD # Custom targets .PHONY: test-docker test-tap test-all bench bench-docker bench-no-rebuild test-docker: docker compose -f docker/docker-compose.test.yml up --build --abort-on-container-exit --exit-code-from test-runner test-tap: docker compose -f docker/docker-compose.test.yml run --rm test-runner test-all: test-docker bench-docker: ./bench/run_bench.sh bench-no-rebuild: ./bench/run_bench.sh --no-build bench: ./bench/run_bench.sh --local