#!/usr/bin/make -f
# -*- mode: makefile; coding: utf-8 -*-
# Copyright © 2015 IOhannes m zmölnig <umlaeute@debian.org>
# Description: Main Debian packaging script for JUCE

#BUILD_DATE=$(shell LC_ALL=C date -u -d "$$(dpkg-parsechangelog -SDate)" +"%h %d %Y")
BUILD_DATE=$(shell date -u -d "$$(dpkg-parsechangelog -SDate)" +"%Y/%m/%d UTC")

DEB_SRCDIR=debian/libbuilder/
BUILDDIR=$(DEB_SRCDIR)build
BUILDDATE_HEADER=$(BUILDDIR)/libjuce_builddate.h

include /usr/share/cdbs/1/rules/buildcore.mk
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/makefile.mk
## disabled licenscheck for now
include /usr/share/cdbs/1/rules/utils.mk

DEB_COPYRIGHT_CHECK_IGNORE_REGEX = \
^((.*\.jpg)|(.*\.png)|(.*\.ico)|(.*\.icns)|(.*\.nib)|examples/PlugInSamples/MultiOutSynth/Source/BinaryData/singing\.ogg|examples/Demo/Resources/cello\.wav|examples/Demo/Resources/icons\.zip|modules/juce_audio_plugin_client/RTAS/juce_RTAS_WinResources\.rsr|examples/ComponentTutorialExample/Introduction to Components - Part 1\.pdf|debian/(changelog|copyright(|_hints|_newhints)))$

DEB_MAKE_INSTALL_TARGET = install DESTDIR=$(cdbs_make_curdestdir) prefix=/usr libdir=/usr/lib/${DEB_HOST_MULTIARCH}/

DEB_INSTALL_MANPAGES_introjucer=$(BUILDDIR)/Introjucer.1
DEB_INSTALL_CHANGELOGS_ALL=ChangeList.txt

pre-build:: patch
	mkdir -p $(dir $(BUILDDATE_HEADER))
	test -e $(BUILDDATE_HEADER) || (echo "#define BUILD_DATE \"$(BUILD_DATE)\"" > $(BUILDDATE_HEADER))
	cp $(CURDIR)/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png \
		$(BUILDDIR)/juce.png

common-binary-arch:: $(DEB_INSTALL_MANPAGES_introjucer)

$(BUILDDIR)/Introjucer.1:
	help2man -N --version-string="Introjucer $(DEB_UPSTREAM_VERSION)" -n "the JUCE project-management tool" debian/scripts/Introjucer-help2man > $@

build/libjuce-doc::
	cd doxygen && doxygen Doxyfile

binary-post-install/juce-modules-source::
	find $(CURDIR)/debian/$(cdbs_curpkg)/usr/share/juce -type f -name "*.h" -or -name "*.cpp" \
		-exec chmod 0644 {} +

clean:: unpatch
	rm -rf doxygen/doc
	rm -rf extras/Introjucer/Builds/Linux/build
	rm -f  $(BUILDDATE_HEADER)


.PHONY: patch unpatch
PATCHARGS=-f -p1 -r - --no-backup-if-mismatch
PATCHPATTERN=^\#MANUAL\#
patch:: debian/stamp-manual-patch

debian/stamp-manual-patch:
	cat $(CURDIR)/debian/patches/series | sed -e '/$(PATCHPATTERN)/!d' -e 's|$(PATCHPATTERN)||' \
		| while read p; do patch $(PATCHARGS) -i $(CURDIR)/debian/patches/$$p || true; done
	touch $@
unpatch::
	-rm debian/stamp-manual-patch \
	&& cat $(CURDIR)/debian/patches/series | sed -e '/$(PATCHPATTERN)/!d' -e 's|$(PATCHPATTERN)||' \
		| while read p; do patch $(PATCHARGS) -i $(CURDIR)/debian/patches/$$p -R || true; done
