|
| 1 | +#!/usr/bin/make -f |
| 2 | + |
| 3 | +# Copied from dh-php: /usr/share/dh-php/pkg-pecl.mk |
| 4 | + |
| 5 | +# See debhelper(7) (uncomment to enable) |
| 6 | +# output every command that modifies files on the build system. |
| 7 | +#DH_VERBOSE = 1 |
| 8 | + |
| 9 | +# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/* |
| 10 | +DPKG_EXPORT_BUILDFLAGS = 1 |
| 11 | +include /usr/share/dpkg/default.mk |
| 12 | + |
| 13 | +# see FEATURE AREAS in dpkg-buildflags(1) |
| 14 | +export DEB_BUILD_MAINT_OPTIONS = hardening=+all |
| 15 | + |
| 16 | +# see ENVIRONMENT in dpkg-buildflags(1) |
| 17 | +# package maintainers to append CFLAGS |
| 18 | +export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic |
| 19 | +# package maintainers to append LDFLAGS |
| 20 | +export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed |
| 21 | + |
| 22 | +# Don't ever use RPATH on Debian |
| 23 | +export PHP_RPATH=no |
| 24 | + |
| 25 | +PHP_VERSIONS := $(shell /usr/sbin/phpquery -V) |
| 26 | + |
| 27 | +PECL_NAME := $(if $(PECL_NAME_OVERRIDE),$(PECL_NAME_OVERRIDE),$(subst php-,,$(DEB_SOURCE))) |
| 28 | +INSTALL_ROOT = $(CURDIR)/debian/php-$(PECL_NAME) |
| 29 | + |
| 30 | +# find corresponding package-PHP_MAJOR.PHP_MINOR.xml, package-PHP_MAJOR.xml or package.xml |
| 31 | +$(foreach ver,$(PHP_VERSIONS),$(eval PACKAGE_XML_$(ver) := $(word 1,$(wildcard package-$(ver).xml package-$(basename $(ver)).xml package.xml)))) |
| 32 | +# fill DH_PHP_VERSIONS with versions that have corresponding package.xml and are not outside the specification |
| 33 | +$(foreach ver,$(PHP_VERSIONS),$(eval PHP_MIN_VER_$(ver) := $(if $(PACKAGE_XML_$(ver)),$(shell xml2 < $(PACKAGE_XML_$(ver)) | sed -ne "s,^/package/dependencies/required/php/min=\([0-9]\+\.[0-9]\+\).*,\1,p"),))) |
| 34 | +$(foreach ver,$(PHP_VERSIONS),$(eval PHP_MAX_VER_$(ver) := $(if $(PACKAGE_XML_$(ver)),$(shell xml2 < $(PACKAGE_XML_$(ver)) | sed -ne "s,^/package/dependencies/required/php/max=\([0-9]\+\.[0-9]\+\).*,\1,p"),))) |
| 35 | +MIN_PHP_VERSIONS := $(foreach ver,$(PHP_VERSIONS),$(if $(PHP_MIN_VER_$(ver)),$(shell dpkg --compare-versions "$(PHP_MIN_VER_$(ver))" le "$(ver)" && echo "$(ver)"),$(ver))) |
| 36 | +MAX_PHP_VERSIONS := $(foreach ver,$(MIN_PHP_VERSIONS),$(if $(PHP_MAX_VER_$(ver)),$(shell dpkg --compare-versions "$(PHP_MAX_VER_$(ver))" gt "$(ver)" && echo "$(ver)"),$(ver))) |
| 37 | +export DH_PHP_VERSIONS = $(if $(DH_PHP_VERSIONS_OVERRIDE),$(DH_PHP_VERSIONS_OVERRIDE),$(foreach ver,$(MAX_PHP_VERSIONS),$(if $(PACKAGE_XML_$(ver)),$(ver)))) |
| 38 | + |
| 39 | +# for each ver in $(DH_PHP_VERSIONS), look into each corresponding package.xml for upstream PECL version |
| 40 | +$(foreach ver,$(DH_PHP_VERSIONS),$(eval PECL_SOURCE_$(ver) := $(if $(PACKAGE_XML_$(ver)),$(shell xml2 < $(PACKAGE_XML_$(ver)) | sed -ne "s,^/package/name=,,p")-$(shell xml2 < $(PACKAGE_XML_$(ver)) | sed -ne "s,^/package/version/release=,,p"),undefined))) |
| 41 | + |
| 42 | +CONFIGURE_TARGETS = $(addprefix configure-,$(addsuffix -stamp,$(DH_PHP_VERSIONS))) |
| 43 | +BUILD_TARGETS = $(addprefix build-,$(addsuffix -stamp,$(DH_PHP_VERSIONS))) |
| 44 | +INSTALL_TARGETS = $(addprefix install-,$(addsuffix -stamp,$(DH_PHP_VERSIONS))) |
| 45 | +CLEAN_TARGETS = $(addprefix clean-,$(addsuffix -stamp,$(DH_PHP_VERSIONS))) |
| 46 | + |
| 47 | +%: |
| 48 | + dh $@ --with php |
| 49 | + |
| 50 | +override_dh_auto_configure: $(CONFIGURE_TARGETS) |
| 51 | +override_dh_auto_build: $(BUILD_TARGETS) |
| 52 | +override_dh_auto_install: $(INSTALL_TARGETS) |
| 53 | +override_dh_auto_clean: $(CLEAN_TARGETS) |
| 54 | + -rm -f $(CONFIGURE_TARGETS) $(BUILD_TARGETS) $(INSTALL_TARGETS) $(CLEAN_TARGETS) |
| 55 | + |
| 56 | +clean-%-stamp: SOURCE_DIR = build-$(*) |
| 57 | +clean-%-stamp: |
| 58 | + rm -rf $(SOURCE_DIR) |
| 59 | + touch clean-$*-stamp |
| 60 | + |
| 61 | +configure-%-stamp: SOURCE_DIR = build-$(*) |
| 62 | +configure-%-stamp: |
| 63 | + cp -a $(PECL_SOURCE_$(*)) $(SOURCE_DIR) |
| 64 | + cd $(SOURCE_DIR) && phpize$(*) |
| 65 | + dh_auto_configure --sourcedirectory=$(SOURCE_DIR) -- --enable-$(PECL_NAME) --with-php-config=/usr/bin/php-config$* $(PECL_CONFIGURE_MAINT_APPEND) |
| 66 | + touch configure-$(*)-stamp |
| 67 | + |
| 68 | +build-%-stamp: SOURCE_DIR = build-$(*) |
| 69 | +build-%-stamp: |
| 70 | + dh_auto_build --sourcedirectory=$(SOURCE_DIR) |
| 71 | + touch build-$*-stamp |
| 72 | + |
| 73 | +install-%-stamp: SOURCE_DIR = build-$(*) |
| 74 | +install-%-stamp: |
| 75 | + dh_auto_install --sourcedirectory=$(SOURCE_DIR) -- INSTALL_ROOT=$(INSTALL_ROOT) |
| 76 | + touch install-$*-stamp |
| 77 | + |
| 78 | +override_dh_gencontrol: ,:=, |
| 79 | +override_dh_gencontrol: |
| 80 | + dh_gencontrol -- "-Vphp:Provides=$(addprefix php,$(addsuffix -$(PECL_NAME)$(,) ,$(DH_PHP_VERSIONS)))" |
| 81 | + |
| 82 | +override_dh_php: |
| 83 | + dh_php -p php-$(PECL_NAME) |
0 commit comments