add support for multiple arguments and mutually exclusive params
[m6w6/travis-pecl] / Makefile
index 93caffb1843b2388d82a819506546c1ffb0427bd..e166eb8f69a5fb84204b30efdd3890ccf89e3573 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@ export
 
 PHP ?= 5.6
 JOBS ?= 2
-PHP_MIRROR ?= http://us1.php.net/distributions/
+PHP_MIRROR ?= http://us2.php.net/distributions/
 TMPDIR ?= /tmp
 
 tmpnam := $(TMPDIR)/php-$(PHP)-$(shell env |grep -E '^with_|^enable_' | tr -c '[a-zA-Z_]' -)
@@ -49,7 +49,7 @@ CPPCHECK_ENABLE ?= portability,style
 CPPCHECK_EXITCODE ?= 42
 CPPCHECK_SUPPRESSIONS ?= $(makdir)/cppcheck.suppressions
 CPPCHECK_INCLUDES ?= -I. $(shell test -f Makefile && awk -F= '/^CPPFLAGS|^INCLUDES/{print $$2}' <Makefile)
-CPPCHECK_VERSION ?= 1.75
+CPPCHECK_VERSION ?= 1.82
 CPPCHECK_ARGS ?= -v -j $(JOBS) --std=$(CPPCHECK_STD) --enable=$(CPPCHECK_ENABLE) --error-exitcode=$(CPPCHECK_EXITCODE) --suppressions-list=$(CPPCHECK_SUPPRESSIONS) $(CPPCHECK_INCLUDES)
 
 .SUFFIXES:
@@ -123,8 +123,12 @@ $(PECL_INI): | $(with_config_file_scan_dir)
        touch $@
 
 $(PECL_DIR)/config.m4:
-       mkdir -p $(PECL_DIR)
-       curl -Ss $(PECL_MIRROR)/$(PECL_EXTENSION)$(if $(PECL_VERSION),/$(PECL_VERSION)) | tar xz --strip-components 1 -C $(PECL_DIR)
+       if test -z "$(PECL_VERSION)" || expr + "$(PECL_VERSION)" : "[[:digit:]]\.[[:digit:]]"; then \
+               mkdir -p $(PECL_DIR); \
+               curl -Ss $(PECL_MIRROR)/$(PECL_EXTENSION)$(if $(PECL_VERSION),/$(PECL_VERSION)) | tar xz --strip-components 1 -C $(PECL_DIR); \
+       else \
+               git clone -b $(PECL_VERSION) $$(dirname $$(git remote get-url $$(git remote)))/$(PECL_EXTENSION) $(PECL_DIR); \
+       fi
 
 $(PECL_DIR)/configure: $(PECL_DIR)/config.m4
        cd $(PECL_DIR) && $(bindir)/phpize