@@ -17,14 +17,11 @@ ifeq ($(COVERAGE), 1)
17
17
PG_CFLAGS += --coverage
18
18
endif
19
19
20
- EXTENSION = supautils
21
- MODULE_big = $(EXTENSION )
20
+ MODULE_big = supautils
22
21
23
22
SRC_DIR = src
24
- BUILD_DIR ?= build
25
23
26
24
SRC = $(wildcard src/* .c)
27
- OBJS = $(patsubst $(SRC_DIR ) /% .c, $(BUILD_DIR ) /% .o, $(SRC ) )
28
25
29
26
PG_VERSION = $(strip $(shell $(PG_CONFIG ) --version | $(GREP ) -oP '(?<=PostgreSQL ) [0-9]+') )
30
27
# 0 is true
@@ -56,6 +53,8 @@ EXTRA_CLEAN = $(GENERATED_OUT)
56
53
57
54
PGXS := $(shell $(PG_CONFIG ) --pgxs)
58
55
56
+ .DEFAULT_GOAL := all
57
+
59
58
ifeq ($(OS ) , Linux)
60
59
DL_SUFFIX =so
61
60
else ifeq ($(OS), Darwin)
68
67
DL_SUFFIX =dylib
69
68
endif
70
69
71
- build : $(BUILD_DIR ) /$(EXTENSION ) .$(DL_SUFFIX ) test/init.conf
70
+ PG_CPPFLAGS := $(CPPFLAGS ) -DTEST=1
71
+
72
+ ifdef BUILD_DIR
73
+ OBJS = $(patsubst $(SRC_DIR ) /% .c, $(BUILD_DIR ) /% .o, $(SRC ) )
74
+ else
75
+ OBJS = $(patsubst $(SRC_DIR ) /% .c, src/% .o, $(SRC ) ) # if no BUILD_DIR, just build on src so standard PGXS `make` works
76
+ endif
77
+
78
+ build : $(BUILD_DIR ) /$(MODULE_big ) .$(DL_SUFFIX ) test/init.conf
72
79
73
80
.PHONY : test/init.conf
74
81
test/init.conf : test/init.conf.in
82
89
$? > $@
83
90
endif
84
91
85
- PG_CPPFLAGS := $(CPPFLAGS ) -DTEST=1
86
-
87
92
$(BUILD_DIR ) /.gitignore :
88
93
mkdir -p $(BUILD_DIR )
89
94
echo " *" > $(BUILD_DIR ) /.gitignore
90
95
91
96
$(BUILD_DIR ) /% .o : $(SRC_DIR ) /% .c $(BUILD_DIR ) /.gitignore
92
97
$(CC ) $(CPPFLAGS ) $(CFLAGS ) -c $< -o $@
93
98
94
- $(BUILD_DIR ) /$(EXTENSION ) .$(DL_SUFFIX ) : $(EXTENSION ) .$(DL_SUFFIX )
99
+ $(BUILD_DIR ) /$(MODULE_big ) .$(DL_SUFFIX ) : $(MODULE_big ) .$(DL_SUFFIX )
95
100
mv $? $@
96
101
97
102
include $(PGXS )
0 commit comments