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
|