File: rules

package info (click to toggle)
gcc-doc-defaults 5%3A4
  • links: PTS, VCS
  • area: contrib
  • in suites: wheezy
  • size: 96 kB
  • sloc: makefile: 59; sh: 30
file content (88 lines) | stat: -rwxr-xr-x 2,146 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
#!/usr/bin/make -f

DOC_VER_4.4 := 4.4.7-1
DOC_VER_4.6 := 4.6.3-1
DOC_VER_4.7 := 4.7.2-1

BASES := cpp gcc gfortran gnat gcj
GENFILES := $(patsubst %,debian/%-doc.links, $(BASES))

# get default version by symlinks, eg. /usr/bin/gcc -> gcc-4.7
PREFIX_BIN := /usr/bin/
get_default_version = $(shell bash -c 'readlink `type -P $(PREFIX_BIN)$(1)`|perl -pe "s/^.*-//"')

# default versions depend on arch
CPP_VER      := $(call get_default_version,cpp)
GCC_VER      := $(call get_default_version,gcc)
GFORTRAN_VER := $(call get_default_version,gfortran)
GNAT_VER     := $(call get_default_version,gnatgcc)
GCJ_VER      := $(call get_default_version,gcj)

CPP_DEP_VER := cpp-$(CPP_VER)-doc (>= $(DOC_VER_$(CPP_VER)))
GCC_DEP_VER := gcc-$(GCC_VER)-doc (>= $(DOC_VER_$(GCC_VER)))
GFORTRAN_DEP_VER := gfortran-$(GFORTRAN_VER)-doc (>= $(DOC_VER_$(GFORTRAN_VER)))
GNAT_DEP_VER := gnat-$(GNAT_VER)-doc (>= $(DOC_VER_$(GNAT_VER)))
GCJ_DEP_VER := gcj-$(GCJ_VER)-doc (>= $(DOC_VER_$(GCJ_VER)))

uppercase = $(shell echo $(x) | tr a-z A-Z)
sedcmd1 = s/%$(uppercase)_DEP_VER%/$($(uppercase)_DEP_VER)/g;
SEDCMD1 := $(foreach x,$(BASES),$(sedcmd1))
sedcmd2 = s/%$(uppercase)_VER%/$($(uppercase)_VER)/g;
SEDCMD2 := $(foreach x,$(BASES),$(sedcmd2))


debian/control:
	dh_testdir
	sed '$(SEDCMD1)' < debian/control.in > debian/control

$(GENFILES): % : %.in
	dh_testdir
	sed '$(SEDCMD2)' < $< > $@

build: debian/control $(GENFILES)

build-arch: build

build-indep:

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs -a

clean:
	dh_testdir
	dh_testroot
	rm -f $(GENFILES)
	dh_clean


binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installdocs -a -A debian/README
	dh_installchangelogs -a
	dh_lintian -a
	dh_link -a
	dh_compress -a
	dh_fixperms -a
	dh_installdeb -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary-indep: build install

binary: binary-indep binary-arch

# debug helper
show-versions:
	# cpp       $(CPP_VER)
	# gcc       $(GCC_VER)
	# gfortran  $(GFORTRAN_VER)
	# gnat      $(GNAT_VER)
	# gcj       $(GCJ_VER)

.PHONY: build install clean binary-indep binary-arch binary \
	debian/control $(GENFILES) show-versions