1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
#!/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 LANG=C LC_ALL=C date -u -d "$$(dpkg-parsechangelog -SDate)" +"%h %d %Y")
BUILD_TIME=$(shell LANG=C LC_ALL=C date -u -d "$$(dpkg-parsechangelog -SDate)" +"%T")
#BUILD_DATE=$(shell date -u -d "$$(dpkg-parsechangelog -SDate)" +"%Y/%m/%d UTC")
#BUILD_DATE=$(shell date -u -d "$$(dpkg-parsechangelog -SDate)" +"%m %d %Y")
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/(AUv3Synth|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_juce-tools=$(BUILDDIR)/Projucer.1
DEB_INSTALL_CHANGELOGS_ALL=ChangeList.txt
pre-build:: patch
mkdir -p $(dir $(BUILDDATE_HEADER))
test -e $(BUILDDATE_HEADER) || ( \
echo "/* Override build-time for reproducible builds */ " > $(BUILDDATE_HEADER); \
echo "#define BUILD_DATE \"$(BUILD_DATE)\"" >> $(BUILDDATE_HEADER); \
echo "#define BUILD_TIME \"$(BUILD_TIME)\"" >> $(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_juce-tools)
$(BUILDDIR)/Projucer.1:
help2man -N --version-string="Projucer $(DEB_UPSTREAM_VERSION)" -n "the JUCE project-management tool" debian/scripts/Projucer-help2man > $@
build/libjuce-doc::
cd doxygen && doxygen Doxyfile
build/libjuce-dev::
make -C debian/extra/lv2-ttl-generator/
install/libjuce-dev::
install -d $(cdbs_curdestdir)/usr/lib/$(DEB_HOST_MULTIARCH)/juce/lv2-ttl-generator
install debian/extra/lv2-ttl-generator/lv2_ttl_generator $(cdbs_curdestdir)/usr/lib/$(DEB_HOST_MULTIARCH)/juce/lv2-ttl-generator/lv2_ttl_generator
install debian/extra/lv2-ttl-generator/generate-ttl.sh $(cdbs_curdestdir)/usr/lib/$(DEB_HOST_MULTIARCH)/juce/lv2-ttl-generator/generate-ttl.sh
binary-post-install/juce-modules-source::
find $(CURDIR)/debian/$(cdbs_curpkg)/usr/share/juce \
-type f -executable \
'(' -name "*.h" -or -name "*.cpp" ')' \
-exec chmod -c 0644 {} +
clean:: unpatch
rm -rf doxygen/doc
rm -rf extras/Projucer/Builds/LinuxMakefile/build
rm -f $(BUILDDATE_HEADER)
make -C debian/extra/lv2-ttl-generator/ clean
.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
|