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
|
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
UPSTREAM=$(shell dpkg-parsechangelog | sed -n 's/^Version: \(.*\)-[^-]*/\1/p')
# hardening flags (CPPFLAGS kludge is for CMake)
export CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
export CFLAGS:=$(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS)
export CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS) $(CPPFLAGS)
export LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
# avoid linking ledger binary to extra libs.
LDFLAGS += -Wl,--as-needed
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
else
CROSS= --build $(DEB_BUILD_GNU_TYPE)
endif
BUILDDIR=obj-$(DEB_BUILD_GNU_TYPE)
config-stamp:
mkdir -p $(BUILDDIR)
cd $(BUILDDIR) && \
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON \
-DBUILD_DOCS=1 -DBUILD_WEB_DOCS=1
touch $@
build-indep build-arch: build
build: build-stamp
build-stamp: config-stamp
dh_testdir
# Add here commands to compile the package.
$(MAKE) -C $(BUILDDIR)
$(MAKE) -C $(BUILDDIR)/doc doc
cd $(BUILDDIR)/doc && makeinfo ../../doc/ledger3.texi
touch $@
clean:
dh_testdir
dh_testroot
# Add here commands to clean up after the build process.
dh_auto_clean
dh_clean
install: build
dh_testdir
dh_testroot
dh_prep
dh_installdirs
# Add here commands to install the package into debian/ledger.
$(MAKE) -C$(BUILDDIR) DESTDIR=$(CURDIR)/debian/ledger install
# Clean out some stuff that make install puts in that we don't want
rm -rf $(CURDIR)/debian/ledger/usr/include
rm -rf $(CURDIR)/debian/ledger/usr/lib
rm -rf $(CURDIR)/debian/ledger/usr/share/info/dir
rm -rf $(CURDIR)/debian/ledger/usr/share/info/*.texi
# install the shared library privately.
mkdir -p $(CURDIR)/debian/ledger/usr/lib/ledger
cp $(BUILDDIR)/libledger.so.* $(CURDIR)/debian/ledger/usr/lib/ledger
# manually install the docs
cp -a $(BUILDDIR)/doc/ledger3.info* $(CURDIR)/debian/ledger/usr/share/info
cp -a $(BUILDDIR)/doc/ledger3.pdf $(CURDIR)/debian/ledger/usr/share/doc/ledger
cp -a $(BUILDDIR)/doc/ledger3.html $(CURDIR)/debian/ledger/usr/share/doc/ledger
# manually install emacs lisp files
cp -a $(CURDIR)/lisp/*.el $(CURDIR)/debian/ledger-el/usr/share/emacs/site-lisp/ledger-el
# 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
dh_installdocs
dh_installemacsen
dh_installexamples
dh_installinfo $(BUILDDIR)/doc/ledger3.info*
dh_installman
dh_strip
dh_compress -X.pdf
dh_fixperms
dh_installdeb
dh_shlibdeps -l$(CURDIR)/debian/ledger/usr/lib/ledger
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
get-orig-source:
bash debian/get-orig-source.sh ${UPSTREAM} upstream/${UPSTREAM}
dch-snapshot:
dch -v "${UPSTREAM_VERSION}-1" "Updated git snapshot for experimental."
.PHONY: build clean binary-indep binary-arch binary install get-orig-source
|