# cartodb/Makefile EXTENSION = cartodb EXTVERSION = 0.25.0 SED = sed AWK = awk CDBSCRIPTS = \ scripts-enabled/*.sql \ scripts-available/CDB_SearchPath.sql \ scripts-available/CDB_ExtensionPost.sql \ scripts-available/CDB_ExtensionUtils.sql \ scripts-available/CDB_Helper.sql \ $(END) UPGRADABLE = \ unpackaged \ 0.1.0 \ 0.1.1 \ 0.2.0 \ 0.2.1 \ 0.3.0 \ 0.3.0dev \ 0.3.1 \ 0.3.2 \ 0.3.3 \ 0.3.4 \ 0.3.5 \ 0.3.6 \ 0.4.0 \ 0.4.1 \ 0.5.0 \ 0.5.1 \ 0.5.2 \ 0.5.3 \ 0.6.0 \ 0.7.0 \ 0.7.1 \ 0.7.2 \ 0.7.3 \ 0.7.4 \ 0.8.0 \ 0.8.1 \ 0.8.2 \ 0.9.0 \ 0.9.1 \ 0.9.2 \ 0.9.3 \ 0.9.4 \ 0.10.0 \ 0.10.1 \ 0.10.2 \ 0.11.0 \ 0.11.1 \ 0.11.2 \ 0.11.3 \ 0.11.4 \ 0.11.5 \ 0.12.0 \ 0.13.0 \ 0.13.1 \ 0.14.0 \ 0.14.1 \ 0.14.2 \ 0.14.3 \ 0.14.4 \ 0.15.0 \ 0.15.1 \ 0.16.0 \ 0.16.1 \ 0.16.2 \ 0.16.3 \ 0.16.4 \ 0.17.0 \ 0.17.1 \ 0.18.0 \ 0.18.1 \ 0.18.2 \ 0.18.3 \ 0.18.4 \ 0.18.5 \ 0.19.0 \ 0.19.1 \ 0.19.2 \ 0.20.0 \ 0.21.0 \ 0.22.0 \ 0.22.1 \ 0.22.2 \ 0.23.0 \ 0.23.1 \ 0.23.2 \ 0.24.0 \ 0.24.1 \ 0.25.0 \ $(EXTVERSION)dev \ $(EXTVERSION)next \ $(END) UPGRADES = \ $(shell echo $(UPGRADABLE) | \ $(SED) 's/^/$(EXTENSION)--/' | \ $(SED) 's/$$/--$(EXTVERSION).sql/' | \ $(SED) 's/ /--$(EXTVERSION).sql $(EXTENSION)--/g') GITDIR=$(shell test -d .git && echo '.git' || cat .git | $(SED) 's/^gitdir: //') DATA_built = \ $(EXTENSION)--$(EXTVERSION).sql \ $(EXTENSION)--$(EXTVERSION)--$(EXTVERSION)next.sql \ $(UPGRADES) \ $(EXTENSION).control EXTRA_CLEAN = cartodb_version.sql DOCS = README.md REGRESS_OLD = $(wildcard test/*.sql) REGRESS_LEGACY = $(REGRESS_OLD:.sql=) REGRESS = test_setup $(REGRESS_LEGACY) PG_CONFIG = pg_config PGXS := $(shell $(PG_CONFIG) --pgxs) PG_PARALLEL := $(shell $(PG_CONFIG) --version | ($(AWK) '{$$2*=1000; if ($$2 >= 9600) print 1; else print 0;}' 2> /dev/null || echo 0)) include $(PGXS) $(EXTENSION)--$(EXTVERSION).sql: $(CDBSCRIPTS) cartodb_version.sql Makefile echo '\echo Use "CREATE EXTENSION $(EXTENSION)" to load this file. \quit' > $@ cat $(CDBSCRIPTS) | \ $(SED) -e 's/public\./cartodb./g' \ -e 's/:DATABASE_USERNAME/cdb_org_admin/g' \ -e "s/''public''/''cartodb''/g" >> $@ echo "GRANT USAGE ON SCHEMA cartodb TO public;" >> $@ cat cartodb_version.sql >> $@ ifeq ($(PG_PARALLEL), 0) # Remove PARALLEL in aggregates and functions $(eval TMPFILE := $(shell mktemp /tmp/$(basename $0).XXXXXXXX)) $(SED) -e 's/PARALLEL \= [A-Z]*,/''/g' \ -e 's/PARALLEL [A-Z]*/''/g' $@ > $(TMPFILE) mv $(TMPFILE) $@ endif $(EXTENSION)--unpackaged--$(EXTVERSION).sql: $(EXTENSION)--$(EXTVERSION).sql util/create_from_unpackaged.sh Makefile ./util/create_from_unpackaged.sh $(EXTVERSION) $(EXTENSION)--%--$(EXTVERSION).sql: $(EXTENSION)--$(EXTVERSION).sql cp $< $@ $(EXTENSION)--$(EXTVERSION)--$(EXTVERSION)next.sql: $(EXTENSION)--$(EXTVERSION).sql cp $< $@ $(EXTENSION).control: $(EXTENSION).control.in Makefile $(SED) -e 's/@@VERSION@@/$(EXTVERSION)/' $< > $@ ifeq ($(PG_PARALLEL), 0) echo -e "\033[0;31mExtension created without PARALLEL support\033[0m" endif cartodb_version.sql: cartodb_version.sql.in Makefile $(GITDIR)/index $(SED) -e 's/@@VERSION@@/$(EXTVERSION)/' $< > $@ # Needed for consistent `echo` results with backslashes SHELL = bash legacy_regress: $(REGRESS_OLD) Makefile mkdir -p sql/test/ mkdir -p expected/test/ mkdir -p results/test/ for f in $(REGRESS_OLD); do \ tn=`basename $${f} .sql`; \ of=sql/test/$${tn}.sql; \ echo '\set ECHO none' > $${of}; \ echo '\a' >> $${of}; \ echo '\t' >> $${of}; \ echo '\set QUIET off' >> $${of}; \ cat $${f} | \ $(SED) -e 's/public\./cartodb./g' >> $${of}; \ exp=expected/test/$${tn}.out; \ echo '\set ECHO none' > $${exp}; \ cat test/$${tn}_expect >> $${exp}; \ done test_organization: bash test/organization/test.sh test_extension_new: bash test/extension/test.sh legacy_tests: legacy_regress installcheck: legacy_tests test_extension_new test_organization