1
1
SRC_DIR = src
2
- BUILD_DIR ?= build
3
2
4
3
# the `-Wno`s quiet C90 warnings
5
4
PG_CFLAGS = -std=c11 -Wextra -Wall -Werror \
@@ -23,32 +22,41 @@ REGRESS_OPTS = --use-existing --inputdir=test
23
22
24
23
MODULE_big = $(EXTENSION )
25
24
SRC = $(wildcard $(SRC_DIR ) /* .c)
25
+
26
+ ifdef BUILD_DIR
26
27
OBJS = $(patsubst $(SRC_DIR ) /% .c, $(BUILD_DIR ) /% .o, $(SRC ) )
28
+ else
29
+ OBJS = $(patsubst $(SRC_DIR ) /% .c, src/% .o, $(SRC ) ) # if no BUILD_DIR, just build on src so standard PGXS `make` works
30
+ endif
27
31
28
32
PG_CONFIG = pg_config
29
33
SHLIB_LINK = -lcurl
30
34
31
35
# Find <curl/curl.h> from system headers
32
36
PG_CPPFLAGS := $(CPPFLAGS ) -DEXTVERSION=\"$(EXTVERSION ) \"
33
37
34
- build : $(BUILD_DIR ) /$(EXTENSION ) .so $(BUILD_DIR ) /$(EXTENSION ) --$(EXTVERSION ) .sql $(BUILD_DIR ) /$(EXTENSION ) .control
38
+ all : sql/$(EXTENSION ) --$(EXTVERSION ) .sql $(EXTENSION ) .control
39
+
40
+ build : $(BUILD_DIR ) /$(EXTENSION ) .so sql/$(EXTENSION ) --$(EXTVERSION ) .sql $(EXTENSION ) .control
35
41
36
- $(BUILD_DIR ) /.gitignore :
42
+ $(BUILD_DIR ) /.gitignore : sql/ $( EXTENSION ) -- $( EXTVERSION ) .sql $( EXTENSION ) .control
37
43
mkdir -p $(BUILD_DIR )
44
+ cp $(EXTENSION ) .control $(BUILD_DIR )
45
+ cp sql/$(EXTENSION ) --$(EXTVERSION ) .sql $(BUILD_DIR )
38
46
echo " *" > $(BUILD_DIR ) /.gitignore
39
47
40
48
$(BUILD_DIR ) /% .o : $(SRC_DIR ) /% .c $(BUILD_DIR ) /.gitignore
41
49
$(CC ) $(CPPFLAGS ) $(CFLAGS ) -c $< -o $@
42
50
43
- $(BUILD_DIR ) /$(EXTENSION ) --$(EXTVERSION ) .sql : sql/$(EXTENSION ) .sql
44
- cp $< $@
45
-
46
- $(BUILD_DIR ) /$(EXTENSION ) .control :
47
- sed " s/@PG_NET_VERSION@/$( EXTVERSION) /g" $(EXTENSION ) .control.in > $@
48
-
49
51
$(BUILD_DIR ) /$(EXTENSION ) .so : $(EXTENSION ) .so
50
52
mv $? $@
51
53
54
+ sql/$(EXTENSION ) --$(EXTVERSION ) .sql : sql/$(EXTENSION ) .sql
55
+ cp $< $@
56
+
57
+ $(EXTENSION ) .control :
58
+ sed " s/@EXTVERSION@/$( EXTVERSION) /g" $(EXTENSION ) .control.in > $@
59
+
52
60
PGXS := $(shell $(PG_CONFIG ) --pgxs)
53
61
include $(PGXS )
54
62
0 commit comments