File: rules

package info (click to toggle)
ledger 3.1%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 6,756 kB
  • ctags: 5,063
  • sloc: cpp: 36,839; lisp: 3,959; python: 3,939; perl: 1,309; sh: 473; makefile: 121; cs: 118; yacc: 103
file content (122 lines) | stat: -rwxr-xr-x 3,702 bytes parent folder | download
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