File: Makefile

package info (click to toggle)
postgresql-q3c 2.0.1-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,548 kB
  • sloc: sql: 27,430; ansic: 3,908; python: 110; perl: 104; makefile: 101; sh: 17
file content (125 lines) | stat: -rw-r--r-- 5,652 bytes parent folder | download
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
EXTENSION = q3c
EXTVERSION := $(shell grep default_version $(EXTENSION).control | \
		 sed -e "s/default_version[[:space:]]*=[[:space:]]*'\([^']*\)'/\1/")


DOCS = q3c.md
OBJS = dump.o q3c.o q3c_poly.o q3cube.o
MODULE_big = q3c
DATA = $(wildcard scripts/*sql)
PG_CONFIG = pg_config
SHLIB_LINK += $(filter -lm, $(LIBS))
EXTRA_CLEAN = dump.c prepare prepare.o gen_data.o \
			results/join.out results/cone.out results/ellipse.out \
			results/version.out results/poly.out results/area.out \
			gen_data
ifeq ($(Q3C_NOOPT),1)
	OPT = -O0
else
	OPT = -O3
endif
#DEBUG = -O0 -g3 -ggdb -DQ3C_DEBUG
PG_CPPFLAGS = $(DEBUG) $(OPT) -D_GNU_SOURCE -D__STDC_FORMAT_MACROS -DQ3C_VERSION='"'$(EXTVERSION)'"'
CPPFLAGS = $(CPPFLAGS) -D$(Q3CVERSION)

ifeq (, $(shell which $(PG_CONFIG)))
$(error "No pg_config in $(PATH)! Exiting...")
endif

PGXS := $(shell $(PG_CONFIG) --pgxs)
ifeq (, $(wildcard $(PGXS)))
$(error "The $(PGXS) file not found. Check your PG installation. Exiting...")
endif

include $(PGXS)
PGVERNEW := $(shell if [ $(MAJORVERSION) -ge 12 ] ; then echo N ; else echo O ; fi )

MYBINLIBS := -L$(shell $(PG_CONFIG) --pkglibdir) -lpgport -lm

dump.c: prepare
	./prepare

prepare: prepare.o q3cube.o q3c_poly.o
	$(CC) $? $(CFLAGS) $(PG_LIBS) $(PG_LDFLAGS) $(LDFLAGS) $(MYBINLIBS) -o $@

gen_data: gen_data.c
	$(CC) $< $(CPPFLAGS) $(LDFLAGS) -lm -o $@

test: gen_data
	dropdb --if-exists q3c_test
	createdb q3c_test
	psql q3c_test -c "CREATE TABLE test (ra double precision, dec double precision)"
	psql q3c_test -c "CREATE TABLE test1 (ra double precision, dec double precision)"
	psql q3c_test -c "CREATE TABLE test_pm0 (ra double precision, dec double precision, pmra real, pmdec real, epoch real)"
	psql q3c_test -c "CREATE TABLE test_pm1 (ra double precision, dec double precision, pmra real, pmdec real, epoch real)"
	psql q3c_test -c "CREATE TABLE test_small (ra double precision, dec double precision)"
	./gen_data 1 1000000 | psql q3c_test -c "COPY test FROM STDIN WITH DELIMITER ' '"
	./gen_data 2 1000000 | psql q3c_test -c "COPY test1 FROM STDIN WITH DELIMITER ' '"
	./gen_data 3 100000 | psql q3c_test -c "COPY test_small FROM STDIN WITH DELIMITER ' '"

	./gen_data 4 1000000 --withpm --pmscale=0 --randomepoch | psql q3c_test -c "COPY test_pm0 FROM STDIN WITH DELIMITER ' '"
	./gen_data 5 1000000 --withpm --pmscale=1000 --epoch=2015 | psql q3c_test -c "COPY test_pm1 FROM STDIN WITH DELIMITER ' '"

	psql q3c_test -c 'CREATE EXTENSION q3c'
	psql q3c_test -c 'CREATE INDEX q3c_idx1 ON test1 (q3c_ang2ipix(ra,dec))'
	psql q3c_test -c 'CREATE INdex ON test_pm0 (q3c_ang2ipix(ra,dec))'
	psql q3c_test -c 'CREATE INDEX on test_pm1 (q3c_ang2ipix(ra,dec))'
	psql q3c_test -c 'CREATE INDEX q3c_idx ON test (q3c_ang2ipix(ra,dec))'

	psql q3c_test -c 'CREATE INDEX q3c_idx_small ON test_small (q3c_ang2ipix(ra,dec))'
	psql q3c_test -c 'ANALYZE test'
	psql q3c_test -c 'ANALYZE test1'
	psql q3c_test -c 'ANALYZE test_pm0'
	psql q3c_test -c 'ANALYZE test_pm1'
	psql q3c_test -c 'ANALYZE test_small'
	mkdir -p results
	cat sql/misc.sql | psql q3c_test > results/misc.out 2>&1
	diff results/misc.out expected/misc.expected
	cat sql/ang2ipix.sql | psql q3c_test > results/ang2ipix.out 2>&1
	diff results/ang2ipix.out expected/ang2ipix.expected
	# Debian: Skip the tests that are very slow (> 20s)
	#cat sql/cone.sql | psql q3c_test > results/cone.out 2>&1
	#diff results/cone.out expected/cone.expected
	cat sql/cone_join_rev.sql | psql q3c_test > results/cone.out
	diff results/cone.out expected/cone.expected
	cat sql/ellipse.sql | psql q3c_test > results/ellipse.out
	diff results/ellipse.out expected/ellipse.expected
	#cat sql/join.sql | psql q3c_test > results/join.out
	#diff results/join.out expected/join.expected
	#cat sql/join_ellipse.sql | psql q3c_test > results/join_ellipse.out
	#diff results/join_ellipse.out expected/join.expected
	#cat sql/join_pm1.sql | psql q3c_test > results/join_pm1.out
	#diff results/join_pm1.out expected/join_pm1.expected
	#cat sql/join_pm2.sql | psql q3c_test > results/join_pm2.out
	#diff results/join_pm2.out expected/join_pm2.expected
	#cat sql/poly.sql | psql q3c_test > results/poly.out
	#diff results/poly.out expected/poly.expected
	#cat sql/poly1.sql | psql q3c_test > results/poly1.out
	#diff results/poly1.out expected/poly.expected
	cat sql/version.sql | psql q3c_test > results/version.out
	diff results/version.out expected/version.expected
	cat sql/area.sql | psql q3c_test > results/area.out 2>&1
	diff results/area.out expected/area.expected
	cat sql/errors.sql | psql q3c_test > results/errors.out 2>&1
	diff results/errors.out expected/errors.expected
	dropdb q3c_test
	createdb q3c_test
	psql q3c_test -c 'CREATE EXTENSION q3c VERSION "1.6.0"'
	psql q3c_test -c 'ALTER EXTENSION q3c UPDATE TO "1.7.0"'
	psql q3c_test -c 'ALTER EXTENSION q3c UPDATE TO "1.8.0"'
	psql q3c_test -c 'ALTER EXTENSION q3c UPDATE TO "2.0.0"'
	dropdb q3c_test
	createdb q3c_test
	psql q3c_test -c "CREATE TABLE test (ra double precision, dec double precision)"
	psql q3c_test -c "CREATE TABLE test1 (ra double precision, dec double precision)"
	./gen_data 1 1000000 | psql q3c_test -c "COPY test FROM STDIN WITH DELIMITER ' '"
	./gen_data 2 1000000 | psql q3c_test -c "COPY test1 FROM STDIN WITH DELIMITER ' '"

	psql q3c_test -c 'CREATE schema tests'
	psql q3c_test -c 'CREATE EXTENSION q3c schema tests'
	psql q3c_test -c 'set search_path to public,tests; CREATE INDEX q3c_idx1 ON test1 (q3c_ang2ipix(ra,dec))'
	psql q3c_test -c 'ANALYZE test'
	psql q3c_test -c 'ANALYZE test1'
	cat sql/relocation.sql | psql q3c_test > results/relocation.out
	diff results/relocation.out expected/relocation.expected
	dropdb q3c_test