summaryrefslogtreecommitdiff
path: root/debian/rules
blob: bf310d995ee27926a5d1d707d3f3efffda658645 (plain)
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
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#export DH_VERBOSE = 1

# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all

# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed

%:
	dh $@

# trick to add -g to CFLAGS
override_dh_auto_configure:
	# --enable-debug is a gnucobol-specific option which permits to add -g
	# but disable optimisations by default
	#maybe needed again: CFLAGS='-g -O2 -finline-functions -U_FORTIFY_SOURCE' dh_auto_configure -- --enable-debug
	CFLAGS='-g -O2 -finline-functions -D_FORTIFY_SOURCE=2' dh_auto_configure -- --enable-debug
	make tarstamp.h

# Clean generated files
override_dh_clean:
	#not needed anymore: rm -f doc/gnucobol.pdf bin/cobcrun.1 cobc/cobc.1 doc/gnucobol.info
	dh_clean

# force build PDF
override_dh_auto_build:
	dh_auto_build
	$(MAKE) -C doc gnucobol.pdf

# disable auto_test
# because one of them depends on an external service
# http://www.itl.nist.gov/div897/ctg/suites/newcob.val.Z
override_dh_auto_test:

override_dh_auto_install:
	dh_auto_install
	# remove some uneeded files
	rm -f debian/tmp/usr/lib/*/gnucobol/CBL_OC_DUMP.so
	rm -f debian/tmp/usr/lib/*/libcob.la
	rm -f debian/tmp/usr/lib/*/libcobdb.la

PACKAGE      := gnucobol4
SVN_REPO     := https://svn.code.sf.net/p/gnucobol/code/trunk
DEBIAN_PATH  := $(abspath $(dir $(firstword $(MAKEFILE_LIST))))
SRC_VERSION  := $(shell dpkg-parsechangelog -l$(DEBIAN_PATH)/changelog | awk '/^Version:/ {sub(/-[^-]*/, "", $$2); print $$2}')
SVN_REVISION := $(shell echo $(SRC_VERSION) | sed -r 's,.+svn\.([0-9]+).*,\1,')
TARBALL      := $(PACKAGE)_$(SRC_VERSION).orig.tar.xz
DELETE := \
	build_windows
.PHONY: get-orig-source
get-orig-source:
	rm -rf get-orig-source $(TARBALL) && mkdir get-orig-source
	svn export -r $(SVN_REVISION) $(SVN_REPO) get-orig-source/$(PACKAGE)-$(SRC_VERSION)
	find get-orig-source/$(PACKAGE)-$(SRC_VERSION) -name '.*' -print0 | xargs -0 --no-run-if-empty rm -rfv
	cd get-orig-source/$(PACKAGE)-$(SRC_VERSION) && \
		rm -rfv $(DELETE) && \
			{ \
				echo "#define COB_TAR_DATE    \"`LC_ALL=C date -u +'%b %d %Y %T'` UTC\""; \
				echo "#define COB_NUM_TAR_DATE ` LC_ALL=C date -u +'%Y%m%d'`"; \
				echo "#define COB_NUM_TAR_TIME ` LC_ALL=C date -u +'%H%M%S'`"; \
			} > tarstamp.h
	tar cJf $(TARBALL) -C get-orig-source $(PACKAGE)-$(SRC_VERSION)
	rm -rf get-orig-source
	@echo "  "$(TARBALL)" created; move it to the right destination to build the package"