#!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 GIMPVER := $(shell dpkg -s libgimp2.0-dev | grep Version | awk '{print $$2}') export GIMPVER ALL_PLUGINS := $(shell find $(CURDIR) -mindepth 1 -maxdepth 1 -name .git -prune -o -name .pc -prune -o -name debian -prune -o -name old_plugins -prune -o -type d -printf '%f\n' | sort) export ALL_PLUGINS DISABLE_PLUGINS := btn4ws cmyk-tiff-2-pdf contact-sheet ez-perspective layer-effects openraster resynthesizer null PLUGINS := $(shell for i in $(ALL_PLUGINS); do A=1; for j in $(DISABLE_PLUGINS); do if [ x$$i = x$$j ]; then A=0; fi; done; if [ $$A -ne 0 ]; then echo $$i; fi; done) export PLUGINS PLUGINBINDIR := "/usr/lib/gimp/2.0/plug-ins" export PLUGINBINDIR PLUGINSCRIPTDIR := "/usr/share/gimp/2.0/scripts" export PLUGINSCRIPTDIR %: dh $@ --with quilt,python3,autotools_dev --parallel # Here follows a small shell snipped to call dh_auto_* for all plugins # Currently # - if a Makefile exists in the plugin directory # we run dh_auto_$(1) with -O--sourcedirectory="$$plugin" # - if $${plugin}/src exists, we run dh_auto_$(1) on that directory # - else: fail :) DH_AUTO_CALL = if [ "$$auto_command" = "dh_auto_configure" ]; then \ export options="$$options -- --enable-stack-protector" ;\ fi ;\ if [ -f $(CURDIR)/$$plugin/Makefile ]; then \ $$auto_command -O--sourcedirectory="$${plugin}" $$options; \ elif [ -d $(CURDIR)/$$plugin/src ]; then \ $$auto_command -O--sourcedirectory="$${plugin}/src" $$options; \ else \ echo failed to build $$plugin; exit 255 ; \ fi PACKAGING_HELPER = /usr/bin/python3 $(CURDIR)/debian/packaging-helper.py clean: $(ALL_PLUGINS:%=clean-%) debian/copyright debian/control dh $@ --with quilt,python3,autotools_dev --parallel rm -f debian/gimp-plugin-registry.install clean-%: rm -rf debian/$* dh_auto_install-%: # run dh_auto_install to debian/$plugin set -e ;\ export auto_command="dh_auto_install" ;\ export plugin="$*" ;\ export options="--destdir=debian/$*" ;\ $(DH_AUTO_CALL) if [ -d debian/$*/usr/lib/gimp-plugin-registry ]; then \ mkdir -p debian/$*/usr/lib/gimp/2.0 ;\ mv debian/$*/usr/lib/gimp-plugin-registry debian/$*/usr/lib/gimp/2.0/plug-ins ;\ fi # add files to debian/gimp-plugin-registry.install set -e; find debian/$* -type f -printf '%h\n' | sort -u |\ while read dir; do \ echo "$$dir/* `echo $$dir | sed 's,debian/$*/,,'`" ;\ done >> debian/gimp-plugin-registry.install # create shlibdeps for the plugin into a temp file set -e; \ opts=`find debian/$* -type f -exec file {} \; |\ grep -E ' ELF ' |\ sed 's,:.*,,;s,^,-e,' |\ tr '\n' ' '` ;\ if [ -n "$$opts" ]; then \ dpkg-shlibdeps -O $$opts | grep shlibs:Depends > debian/$*/substvars ;\ fi dh_auto_%: set -e; \ export auto_command=`echo $* | sed 's,-.*,,;s,^,dh_auto_,'` ;\ export plugin=`echo $* | sed 's,[^-]*-,,'` ;\ $(DH_AUTO_CALL) override_dh_auto_build: $(PLUGINS:%=dh_auto_build-%) override_dh_auto_clean: $(PLUGINS:%=dh_auto_clean-%) override_dh_auto_configure: $(PLUGINS:%=dh_auto_configure-%) override_dh_auto_install: $(PLUGINS:%=dh_auto_install-%) #$(PACKAGING_HELPER) --generate-readme #override_dh_auto_test: $(PLUGINS:%=dh_auto_test-%) override_dh_auto_test: # nothign to do right now. override_dh_python3: dh_python3 dh_python3 usr/lib/gimp/2.0/python CONTROL_FILES := $(shell for p in $(PLUGINS); do echo $$p/control; done) COPYRIGHT_FILES := $(shell for p in $(PLUGINS); do echo $$p/copyright; done) debian/copyright: debian/copyright.in debian/packaging-helper.py $(CONTROL_FILES) $(COPYRIGHT_FILES) $(PACKAGING_HELPER) --copyright -if [ -d .git ]; then git add $@; git commit -m 'Auto update of $@' $@; fi debian/control: debian/control.in debian/packaging-helper.py $(CONTROL_FILES) $(PACKAGING_HELPER) --control -if [ -d .git ]; then git add $@; git commit -m 'Auto update of $@' $@; fi watch: @$(PACKAGING_HELPER) --watch .PHONY: watch override_dh_auto_build override_dh_auto_clean override_dh_auto_configure override_dh_auto_install override_dh_auto_test