File: rules

package info (click to toggle)
liblog4ada 1.3-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 584 kB
  • ctags: 29
  • sloc: ada: 2,700; makefile: 53; sh: 12
file content (68 lines) | stat: -rwxr-xr-x 2,767 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
#!/usr/bin/make -f
# Debian build script for log4Ada - Copyright (c) 2009-2014 Xavier Grave

DEB_BUILD_MAINT_OPTIONS=hardening=+all,-pie
include /usr/share/dpkg/default.mk
include /usr/share/ada/debian_packaging*.mk

DEB_DATE := $(shell dpkg-parsechangelog -S date)

soversion := $(shell sed -n -r 's/^Package: liblog4ada([^-]+)$$/\1/p' debian/control)
soname := liblog4ada.so.$(soversion)
mtnversion := t:log4Ada-1.3
mtnbase := base_debian.db
mtn_uri := mtn://monotone.ada-france.org?org.log4Ada
orig_dir := liblog4ada-$(DEB_VERSION_UPSTREAM).orig
orig_tgz := liblog4ada_$(DEB_VERSION_UPSTREAM).orig.tar.gz
orig_pkg_dir := liblog4ada-$(DEB_VERSION_UPSTREAM).orig
orig_pkg_tgz := liblog4ada_$(DEB_VERSION_UPSTREAM).orig.tar.gz

POLICY_TARGETS := binary binary-arch binary-indep build build-arch build-indep clean
.PHONY: $(POLICY_TARGETS)
$(POLICY_TARGETS):
	dh $@ --with=ada-library

.PHONY: get-orig-source
get-orig-source:
	if [ ! -e ../$(mtnbase) ]; then \
		mtn -d../$(mtnbase) db init; \
	fi; \
	TMPDIR=$$(mktemp --tmpdir --directory liblog4ada-get-orig-source-XXXXXXXXXX) && \
	mtn clone -d ../$(mtnbase) $(mtn_uri) -k "" $$TMPDIR/$(orig_dir) && \
	(cd $$TMPDIR && tar --create --gzip --exclude="_MTN" $(orig_dir)) > $(orig_tgz) ; \
	rm -rf $$TMPDIR
	@echo "The file $(orig_tgz) contains the latest Debian snapshot of upstream sources."

.PHONY: get-pkg-source
get-pkg-source:
	if [ ! -e ../$(mtnbase) ]; then \
		mtn -d../$(mtnbase) db init; \
	fi; \
	TMPDIR=$$(mktemp --tmpdir --directory liblog4ada-get-pkg-source-XXXXXXXXXX) && \
	mtn clone -d ../$(mtnbase) $(mtn_uri) -r$(mtnversion) -k "" $$TMPDIR/$(orig_pkg_dir) && \
	(cd $$TMPDIR && tar --create --gzip --exclude="_MTN" $(orig_pkg_dir)) > $(orig_pkg_tgz) ; \
	rm -rf $$TMPDIR
	@echo "The file $(orig_pkg_tgz) contains the pkg Debian of upstream sources."

# Ignore these targets from upstream GNUmakefile.
.PHONY: $(addprefix override_dh_auto_,build-arch build-indep install clean)

DEB_DATE_FAKETIME := $(shell date "+%F %T" -d "$(DEB_DATE)")
override_dh_auto_build-indep:
# Freeze the clock for deterministic PDF timestamps.
	faketime -f "$(DEB_DATE_FAKETIME)" \
	$(MAKE) -C doc

override_dh_auto_clean:
	rm -f liblog4ada.a liblog4ada.so.* liblog4ada.so
	rm -Rf debian/obj-static debian/obj-shared
	$(MAKE) -C doc clean

override_dh_auto_build-arch:
 # Ensure deterministic timestamps in ALI files for reproducible builds.
	find . -depth -name "*.ad[bs]" -a -newermt '$(DEB_DATE)' -print0 | \
	  xargs -0r touch --no-dereference --date='$(DEB_DATE)'
	gprbuild -p $(BUILDER_OPTIONS) debian/build_log4ada.gpr \
	-XLIBRARY_KIND=static -XOBJ_DIR=obj-static
	gprbuild -p $(BUILDER_OPTIONS) debian/build_log4ada.gpr \
	-XLIBRARY_KIND=dynamic -XLDFLAGS="$(LDFLAGS)" -XOBJ_DIR=obj-shared -XSONAME=$(soname)