#!/usr/bin/make -f # -*- mode: makefile; coding: utf-8 -*- # Copyright © 2016-2017 Jonas Smedegaard # Description: Main Debian packaging script for secp256k1 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # This needs to run (and thus be declared) before CDBS includes debian/control:: debian/control.in DEB_PHONY_RULES += debian/control.in debian/control.in:: debian/control.in.in sed -e 's/__LIBPKG__/$(libpkg)/g' <$< >$@ DEB_AUTO_UPDATE_LIBTOOL = pre DEB_AUTO_UPDATE_ACLOCAL = , DEB_AUTO_UPDATE_AUTOCONF = , DEB_AUTO_UPDATE_AUTOMAKE = , DEB_AUTO_UPDATE_AUTOHEADER = , include /usr/share/cdbs/1/rules/upstream-tarball.mk include /usr/share/cdbs/1/rules/utils.mk include /usr/share/cdbs/1/class/autotools.mk include /usr/share/cdbs/1/rules/debhelper.mk pkg = $(DEB_SOURCE_PACKAGE) stem = $(patsubst lib%,%,$(pkg)) abi = 0 lib = lib$(stem) libpkg = lib$(stem)-$(abi) devpkg = lib$(stem)-dev DEB_UPSTREAM_URL = https://github.com/bitcoin/secp256k1/archive # suppress checking license during build DEB_COPYRIGHT_CHECK_LICENSECHECK = CDBS_BUILD_DEPENDS_rules_utils_copyright-check = CDBS_BUILD_DEPENDS +=, pkg-config, libgmp-dev, autoconf-archive CDBS_BUILD_DEPENDS +=, libssl-dev # resolve if release is experimental EXP_RELEASE = $(filter experimental% UNRELEASED,$(shell dpkg-parsechangelog -S Distribution)) DEB_CONFIGURE_EXTRA_FLAGS += \ --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \ --enable-endomorphism \ --enable-module-recovery \ $(if $(EXP_RELEASE),--enable-experimental) # avoid accidentally linking against disabled experimental modules #CDBS_BUILD_DEPENDS +=, default-jdk-headless | default-jdk, libguava-java #DEB_CONFIGURE_EXTRA_FLAGS += --enable-jni DEB_CONFIGURE_EXTRA_FLAGS += --disable-jni DEB_MAKE_CHECK_TARGET = check # relax symbols check when targeting experimental export DPKG_GENSYMBOLS_CHECK_LEVEL=$(if $(EXP_RELEASE),0,1) # Let d-shlibs calculate development package dependencies # and handle shared library install # * d-shlibs 0.50 required for --multiarch and --exclude-la options CDBS_BUILD_DEPENDS +=, d-shlibs binary-post-install/$(libpkg) binary-post-install/$(devpkg):: \ debian/stamp-local-shlibs-$(lib) debian/stamp-local-shlibs-$(lib): \ binary-install/$(libpkg) \ binary-install/$(devpkg) d-shlibmove --commit \ --devunversioned \ --exclude-la \ --multiarch \ --override 's/libgmp10-dev/libgmp-dev/' \ --movedev "debian/tmp/usr/include/*" usr/include/ \ --movedev "debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/*" \ usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig \ debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/$(lib).so touch $@ clean:: rm -f debian/stamp-local-shlibs-$(lib) # create autotools files from scratch during build auxdir = build-aux macrodir = $(auxdir)/m4 makefiledirs = . autoheaders = src/$(lib)-config.h files_autotools_core = $(auxdir)/config.guess $(auxdir)/config.sub stems_m4_libtool = libtool ltoptions ltsugar ltversion lt~obsolete files_libtool = $(auxdir)/ltmain.sh $(stems_m4_libtool:%=$(macrodir)/%.m4) stems_m4_autoconf = pkg stems_aux_autoconf = compile install-sh missing files_autoconf = aclocal.m4 configure $(stems_aux_autoconf:%=$(auxdir)/%) files_autoconf += $(stems_m4_autoconf:%=$(macrodir)/%.m4) stems_m4_archive = jni_include_dir prog_cc_for_build files_archive = $(stems_m4_archive:%=$(macrodir)/ax_%.m4) files_automake = $(auxdir)/depcomp $(makefiledirs:=/Makefile.in) files_automake += $(auxdir)/test-driver files_autoheader = config.h.in $(autoheaders:=.in) files_configure = config.log stems_autotools = autotools_core libtool aclocal autoconf automake stems_autotools += autoheader configure archive files_autotools = $(foreach var,$(stems_autotools),$(files_$(var))) DEB_UPSTREAM_CRUFT_MOVE = $(files_archive) DEB_ACLOCAL_ARGS = -I$(macrodir) --install --force DEB_AUTOMAKE_ARGS = --add-missing --copy --foreign --force DEB_MAKE_CLEAN_TARGET = distclean makefile-clean:: rm -rf autom4te.cache rm -f $(filter-out $(DEB_UPSTREAM_CRUFT_MOVE),$(files_autotools)) clean:: rm -f $(filter-out $(DEB_UPSTREAM_CRUFT_MOVE),$(files_autotools_core)) test ! -d $(auxdir) || rmdir --ignore-fail-on-non-empty $(auxdir) # track symbols using pkgkde-symbolshelper CDBS_BUILD_DEPENDS +=, pkg-kde-tools include /usr/share/pkg-kde-tools/makefiles/1/cdbs/symbolshelper.mk