26d6b39c897f4408608919f8120ccb1d148e6f21
[m6w6/ext-pq] / travis / pecl / Makefile
1 export
2
3 PHP = 5.6
4 JOBS ?= 2
5 PHP_MIRROR ?= http://us1.php.net/distributions/
6
7 prefix ?= $(HOME)
8 exec_prefix ?= $(prefix)
9 bindir = $(exec_prefix)/bin
10 srcdir := $(dir $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)))
11
12 enable_maintainer_zts ?= no
13 enable_debug ?= no
14 enable_all ?= no
15 with_config_file_scan_dir ?= $(prefix)/etc/php.d
16
17 with_php_config ?= $(bindir)/php-config
18 extdir = $(shell $(with_php_config) --extension-dir 2>/dev/null)
19
20 PECL_MIRROR ?= http://pecl.php.net/get/
21 PECL_EXTENSION ?= $(shell cut -d: -f1 <<<"$(PECL)")
22 PECL_SONAME ?= $(if $(shell cut -d: -f2 <<<"$(PECL)"),$(shell cut -d: -f2 <<<"$(PECL)"),$(PECL_EXTENSION))
23 PECL_VERSION ?= $(shell cut -d: -f3 -s <<<"$(PECL)")
24 PECL_INI = $(with_config_file_scan_dir)/pecl.ini
25
26 PHP_VERSION ?= $(shell php $(srcdir)/php-version.php $(PHP) < $(srcdir)/php-versions.json 2>/dev/null)
27
28 .PHONY: all php check clean reconf pecl ext test
29 .SUFFIXES:
30
31 all: php
32
33 ## -- PHP
34
35 clean:
36 @if test -d $(srcdir)/php-$(PHP_VERSION); then cd $(srcdir)/php-$(PHP_VERSION); make distclean || true; done
37
38 check: $(srcdir)/php-versions.json
39 @if test -z "$(PHP)"; then echo "No php version specified, e.g. PHP=5.6"; exit 1; fi
40
41 reconf: check $(srcdir)/php-$(PHP_VERSION)/configure
42 cd $(srcdir)/php-$(PHP_VERSION) && ./configure -C --prefix=$(prefix)
43
44 php: check $(bindir)/php
45
46 $(srcdir)/php-versions.json: $(srcdir)/php-version.php
47 curl -Sso $@ http://php.net/releases/active.php
48
49 $(srcdir)/php-$(PHP_VERSION)/configure: | $(srcdir)/php-versions.json
50 curl -Ss $(PHP_MIRROR)/php-$(PHP_VERSION).tar.bz2 | tar xj -C $(srcdir)
51
52 $(srcdir)/php-$(PHP_VERSION)/Makefile: $(srcdir)/php-$(PHP_VERSION)/configure | $(srcdir)/php-versions.json
53 cd $(srcdir)/php-$(PHP_VERSION) && ./configure -C --prefix=$(prefix)
54
55 $(srcdir)/php-$(PHP_VERSION)/sapi/cli/php: $(srcdir)/php-$(PHP_VERSION)/Makefile | $(srcdir)/php-versions.json
56 cd $(srcdir)/php-$(PHP_VERSION) && make -s -j $(JOBS) V=0 || make
57
58 $(bindir)/php: $(srcdir)/php-$(PHP_VERSION)/sapi/cli/php | $(srcdir)/php-versions.json
59 cd $(srcdir)/php-$(PHP_VERSION) && make -s install V=0
60
61 $(with_config_file_scan_dir):
62 mkdir -p $@
63
64 ## -- PECL
65
66 pecl-check:
67 @if test -z "$(PECL)"; then echo "No pecl extension specified, e.g. PECL=pecl_http:http"; exit 1; fi
68
69 $(PECL_INI): | $(with_config_file_scan_dir)
70 touch $@
71
72 $(srcdir)/pecl-$(PECL_EXTENSION):
73 test -e $@ || ln -s $(CURDIR) $@
74
75 $(srcdir)/pecl-$(PECL_EXTENSION)/config.m4:
76 mkdir -p $(srcdir)/pecl-$(PECL_EXTENSION)
77 curl -Ss $(PECL_MIRROR)/$(PECL_EXTENSION)$(if $(PECL_VERSION),/$(PECL_VERSION)) | tar xz --strip-components 1 -C $(srcdir)/pecl-$(PECL_EXTENSION)
78
79 $(srcdir)/pecl-$(PECL_EXTENSION)/configure: $(srcdir)/pecl-$(PECL_EXTENSION)/config.m4
80 cd $(srcdir)/pecl-$(PECL_EXTENSION) && $(bindir)/phpize
81
82 $(srcdir)/pecl-$(PECL_EXTENSION)/Makefile: $(srcdir)/pecl-$(PECL_EXTENSION)/configure
83 cd $(srcdir)/pecl-$(PECL_EXTENSION) && ./configure -C
84
85 $(srcdir)/pecl-$(PECL_EXTENSION)/.libs/$(PECL_SONAME).so: $(srcdir)/pecl-$(PECL_EXTENSION)/Makefile
86 cd $(srcdir)/pecl-$(PECL_EXTENSION) && make -s -j $(JOBS) V=0 || make
87
88 $(extdir)/$(PECL_SONAME).so: $(srcdir)/pecl-$(PECL_EXTENSION)/.libs/$(PECL_SONAME).so
89 cd $(srcdir)/pecl-$(PECL_EXTENSION) && make -s install V=0
90
91 pecl: pecl-check php $(extdir)/$(PECL_SONAME).so | $(PECL_INI)
92 grep -q extension=$(PECL_SONAME).so $(PECL_INI) || echo extension=$(PECL_SONAME).so >> $(PECL_INI)
93
94 ext: pecl-check $(srcdir)/pecl-$(PECL_EXTENSION) pecl
95
96 test: php
97 REPORT_EXIT_STATUS=1 NO_INTERACTION=1 $(bindir)/php run-tests.php -p $(bindir)/php --show-diff tests