#!/usr/bin/make -f

packages := $(shell grep '^Package: ' debian/control | cut -d' ' -f2 | xargs)

################################################################################

%:
	dh $@ --with phpcomposer

override_dh_auto_build: $(packages:%=debian/%.buildvars) \
                        $(packages:%=debian/%.autoload.php.tpl)
	dh_auto_build
	 # Generate autoloaders for subtree packages
	set -e ;\
	for package in $(packages); do \
		if [ $$package = php-laravel-framework ]; then continue; fi ;\
		. debian/$$package.buildvars ;\
		phpab --tolerant -t debian/$$package.autoload.php.tpl \
			-o $$sourcedir/autoload.php $$sourcedir ;\
	done
	# Generate autoloaders for php-laravel-framework
	phpab --tolerant -t debian/php-laravel-framework.autoload.php.tpl \
		-o src/Illuminate/autoload.php src/Illuminate/Foundation

override_dh_install: $(packages:%=debian/%.install)
	dh_install -X.md -Xcomposer.json

override_dh_installdocs: $(packages:%=debian/%.docs)
	dh_installdocs

override_dh_phpcomposer: $(packages:%=debian/%.buildvars)
	set -e ;\
	for package in $(packages); do \
		. debian/$$package.buildvars ;\
		dh_phpcomposer --package $$package --sourcedirectory $$sourcedir ;\
	done

override_dh_fixperms:
	dh_fixperms
	find debian/php-*/usr/share/php -type f -exec chmod -x {} \;

override_dh_missing:
	dh_missing --sourcedir src --fail-missing

################################################################################

debian/php-illuminate-%.install: debian/php-illuminate-%.buildvars
	. $< && echo "$$sourcedir usr/share/php/Illuminate" >$@

debian/%.docs: debian/%.buildvars
	. $< &&\
	if [ -f $$sourcedir/README.md ]; then echo "$$sourcedir/README.md" >$@; fi

debian/%.autoload.php.tpl: debian/%.buildvars
	. $< && debian/bin/generate-autoload-tpl $$sourcedir/composer.json >$@

$(packages:%=debian/%.buildvars):
	set -e ;\
	for composer in $$(find -name composer.json -printf '%P\n'); do \
		package=$$(jq -r .name $$composer | sed 's:^:php-:;s:/:-:g') ;\
		sourcedir=$$(dirname $$composer) ;\
		echo "sourcedir=$$sourcedir" >debian/$$package.buildvars ;\
	done