forked from timescale/timescaledb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
96 lines (77 loc) · 2.46 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
PG_CONFIG = pg_config
MIN_SUPPORTED_VERSION = $(shell cat src/init.c | grep -m 1 'MIN_SUPPORTED_VERSION_STR' | sed "s/^\#define MIN_SUPPORTED_VERSION_STR \"\([0-9]*\.[0-9]*\)\"$\/\1/g")
# will need to change when we support more than one version
ifneq ($(MIN_SUPPORTED_VERSION), $(shell $(PG_CONFIG) --version | sed "s/^PostgreSQL \([0-9]*\.[0-9]*\)\.[0-9]*$\/\1/g"))
$(error "TimescaleDB requires PostgreSQL $(MIN_SUPPORTED_VERSION)")
endif
EXTENSION = timescaledb
SQL_FILES = $(shell cat sql/load_order.txt)
EXT_VERSION = $(shell cat timescaledb.control | grep 'default' | sed "s/^.*'\(.*\)'$\/\1/g")
EXT_SQL_FILE = sql/$(EXTENSION)--$(EXT_VERSION).sql
DATA = $(EXT_SQL_FILE)
MODULE_big = $(EXTENSION)
SRCS = \
src/init.c \
src/extension.c \
src/murmur3.c \
src/pgmurmur3.c \
src/utils.c \
src/catalog.c \
src/metadata_queries.c \
src/cache.c \
src/cache_invalidate.c \
src/chunk.c \
src/scanner.c \
src/hypertable_cache.c \
src/hypertable_replica.c \
src/chunk_cache.c \
src/partitioning.c \
src/insert.c \
src/planner.c \
src/process_utility.c \
src/xact.c
OBJS = $(SRCS:.c=.o)
DEPS = $(SRCS:.c=.d)
MKFILE_PATH := $(abspath $(MAKEFILE_LIST))
CURRENT_DIR = $(dir $(MKFILE_PATH))
TEST_PGPORT ?= 5432
TEST_PGHOST ?= localhost
TEST_PGUSER ?= postgres
TESTS = $(sort $(wildcard test/sql/*.sql))
USE_MODULE_DB=true
REGRESS = $(patsubst test/sql/%.sql,%,$(TESTS))
REGRESS_OPTS = \
--inputdir=test \
--outputdir=test \
--launcher=test/runner.sh \
--host=$(TEST_PGHOST) \
--port=$(TEST_PGPORT) \
--user=$(TEST_PGUSER) \
--load-language=plpgsql \
--load-extension=dblink \
--load-extension=postgres_fdw \
--load-extension=hstore \
--load-extension=$(EXTENSION)
PGXS := $(shell $(PG_CONFIG) --pgxs)
EXTRA_CLEAN = $(EXT_SQL_FILE) $(DEPS)
include $(PGXS)
override CFLAGS += -DINCLUDE_PACKAGE_SUPPORT=0 -MMD
override pg_regress_clean_files = test/results/ test/regression.diffs test/regression.out tmp_check/ log/
-include $(DEPS)
all: $(EXT_SQL_FILE)
$(EXT_SQL_FILE): $(SQL_FILES)
@cat $^ > $@
check-sql-files:
@echo $(SQL_FILES)
install: $(EXT_SQL_FILE)
package: clean $(EXT_SQL_FILE)
@mkdir -p package/lib
@mkdir -p package/extension
$(install_sh) -m 755 $(EXTENSION).so 'package/lib/$(EXTENSION).so'
$(install_sh) -m 644 $(EXTENSION).control 'package/extension/'
$(install_sh) -m 644 $(EXT_SQL_FILE) 'package/extension/'
typedef.list: clean $(OBJS)
./scripts/generate_typedef.sh
pgindent: typedef.list
pgindent --typedef=typedef.list
.PHONY: check-sql-files all