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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
SHELL = /bin/bash
vafilt = $(subst $(2)=,,$(filter $(2)=%,$(1)))
DPKG_VARS := $(shell dpkg-architecture)
DEB_HOST_ARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_ARCH)
DEB_HOST_GNU_CPU ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_CPU)
DEB_HOST_GNU_TYPE ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_GNU_TYPE)
DEB_HOST_MULTIARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_MULTIARCH)
CC = $(DEB_HOST_GNU_TYPE)-gcc
CXX = $(DEB_HOST_GNU_TYPE)-g++
CFLAGS = $(shell dpkg-buildflags --get CFLAGS)
LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS)
distribution := $(shell lsb_release -is)
distrelease := $(shell lsb_release -cs)
# On non official archives, "lsb_release -cs" default to "n/a". Assume
# sid in that case
ifeq ($(distrelease),n/a)
distrelease := sid
endif
ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
with_check = yes
endif
major=6
p=libffi$(major)
configure: stamp-configure
stamp-configure:
dh_testdir
rm -rf build
mkdir -p build
cd build && ../configure \
--host=$(DEB_HOST_GNU_TYPE) \
--build=$(DEB_BUILD_GNU_TYPE) \
--prefix=/usr \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CCASFLAGS="$(CFLAGS) -Wa,--gdwarf2" LDFLAGS="-Wl,-z,defs $(LDFLAGS)"
touch $@
# --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
build-arch: build
build-indep: build
build: stamp-build $(if $(filter yes, $(with_check)), stamp-check)
stamp-build: stamp-configure
dh_testdir
ifeq ($(DEB_BUILD_PROFILE),stage1)
touch doc/libffi.info
endif
$(MAKE) -C build
ifneq ($(DEB_BUILD_PROFILE),stage1)
$(MAKE) -C build html
endif
touch $@
check: stamp-check
stamp-check: stamp-build
dh_testdir
$(MAKE) -C build check 2>&1 | tee build/check.log
touch $@
clean:
dh_testdir
dh_testroot
rm -f stamp-*
rm -rf build*
rm -f doc/libffi.info
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs -s $(bootstrap_dh_flags)
$(MAKE) -C build DESTDIR=$(CURDIR)/debian/tmp install
mkdir -p debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)
-mv debian/tmp/usr/lib/* debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/.
cp -p build/.libs/libffi_convenience.a \
debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libffi_pic.a
mkdir -p debian/libffi-dev/usr/share/doc/$(p)
ifneq ($(DEB_BUILD_PROFILE),stage1)
cp -a build/doc/libffi.html debian/libffi-dev/usr/share/doc/$(p)/html
endif
dh_install -s --sourcedir=debian/tmp $(bootstrap_dh_flags)
mkdir -p debian/libffi-dev/usr/include/$(DEB_HOST_MULTIARCH)
mv debian/libffi-dev/usr/include/*.h \
debian/libffi-dev/usr/include/$(DEB_HOST_MULTIARCH)/
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs -s $(bootstrap_dh_flags)
dh_installdocs -s $(bootstrap_dh_flags)
dh_installinfo -plibffi-dev doc/libffi.info
rm -f debian/libffi-dev/usr/share/info/dir*
cp -p ChangeLog debian/libffi-dev/usr/share/doc/libffi$(major)/changelog
cp -p ChangeLog.* debian/libffi-dev/usr/share/doc/libffi$(major)/
ifeq ($(with_check),yes)
cp -p build/check.log debian/libffi-dev/usr/share/doc/libffi$(major)/test_results_$(DEB_HOST_MULTIARCH).txt
endif
rm -rf debian/libffi-dev/usr/share/doc/libffi-dev
ln -s libffi$(major) debian/libffi-dev/usr/share/doc/libffi-dev
rm -rf debian/libffi$(major)-dbg/usr/share/doc/libffi$(major)-dbg
ln -s libffi$(major) debian/libffi$(major)-dbg/usr/share/doc/libffi$(major)-dbg
dh_strip -s --dbg-package=libffi$(major)-dbg $(bootstrap_dh_flags)
rm -f debian/libffi6-dbg/usr/lib/debug/usr/lib{,32,n32,64}/libffi.so.*
dh_compress -s $(bootstrap_dh_flags)
dh_fixperms -s $(bootstrap_dh_flags)
dh_makeshlibs -plibffi$(major) --add-udeb=libffi$(major)-udeb
dh_makeshlibs -s -Nlibffi$(major) $(bootstrap_dh_flags)
dh_installdeb -s $(bootstrap_dh_flags)
dh_shlibdeps -s $(bootstrap_dh_flags)
dh_gencontrol -s $(bootstrap_dh_flags)
dh_md5sums -s $(bootstrap_dh_flags)
dh_builddeb -s $(bootstrap_dh_flags)
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
|