#! /usr/bin/make -f

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

# version number of the defaults package
VDEF	:= $(strip $(shell dpkg-parsechangelog | awk -F: '/^Version:/ {print $$NF}'))

VMAJOR	:= $(shell echo $(VDEF) | awk -F. '{print $$1}')
VMINOR	:= $(shell echo $(VDEF) | awk -F. '{print $$2}' | sed -e 's/\([0-9]*\).*/\1/')
REL_EXT	:= $(shell echo $(VDEF) | sed -e 's/^$(VMAJOR)\.$(VMINOR)//')

# gcc-defaults 0.8 is the first version for 2.95.4.
REL_NO_295	:= $(shell expr $(VMINOR) + 15)$(REL_EXT)
# gcc-defaults 0.6 is the first version with 2.96 support.
REL_NO_296	:= $(shell expr $(VMINOR) + 17)$(REL_EXT)
# gcc-defaults 0.17 is the first version with 3.0.4 support.
REL_NO_30	:= $(shell expr $(VMINOR) + 6)$(REL_EXT)
# gcc-defaults 1.0 is the first version with 3.1 support.
REL_NO_31	:= $(shell expr $(VMINOR) + 1)$(REL_EXT)
# gcc-defaults 1.2 is the first version with 3.2 support.
REL_NO_32	:= $(shell expr $(VMINOR) - 1)$(REL_EXT)
# gcc-defaults 1.3 is the first version with 3.2.2 support.
REL_NO_322	:= $(shell expr $(VMINOR) - 3)$(REL_EXT)
# gcc-defaults 1.4 is the first version with 3.2.3 support.
REL_NO_323	:= $(shell expr $(VMINOR) - 4)$(REL_EXT)
# gcc-defaults 1.5 is the first version with 3.3 support.
REL_NO_33	:= $(shell expr $(VMINOR) - 5)$(REL_EXT)
# gcc-defaults 1.7 is the first version with 3.3.1 support.
REL_NO_331	:= $(shell expr $(VMINOR) - 7)$(REL_EXT)
# gcc-defaults 1.10 is the first version with 3.3.2 support.
REL_NO_332	:= $(shell expr $(VMINOR) - 9)$(REL_EXT)
# gcc-defaults 1.13 is the first version with 3.3.3 support.
REL_NO_333	:= $(shell expr $(VMINOR) - 12)$(REL_EXT)
# gcc-defaults 1.16 is the first version with 3.3.4 support.
REL_NO_334	:= $(shell expr $(VMINOR) - 15)$(REL_EXT)
# gcc-defaults 1.19 is the first version with 3.3.5 support.
REL_NO_335	:= $(shell expr $(VMINOR) - 18)$(REL_EXT)
# gcc-defaults 1.22 is the first version with 3.3.6 support.
REL_NO_336     := $(shell expr $(VMINOR) - 21)$(REL_EXT)

# gcc-defaults 1.22 is the first version with 3.4.3 support.
REL_NO_343	:= $(shell expr $(VMINOR) - 21)$(REL_EXT)
# gcc-defaults 1.23 is the first version with 3.4.4 support.
REL_NO_344	:= $(shell expr $(VMINOR) - 23)$(REL_EXT)
# gcc-defaults 1.30 is the first version with 3.4.5 support.
REL_NO_345	:= $(shell expr $(VMINOR) - 29)$(REL_EXT)
# gcc-defaults 1.32 is the first version with 3.4.5 support.
REL_NO_346	:= $(shell expr $(VMINOR) - 31)$(REL_EXT)

# gcc-defaults 1.23 is the first version with 4.0.0 support.
REL_NO_400	:= $(shell expr $(VMINOR) - 22)$(REL_EXT)
# gcc-defaults 1.26 is the first version with 4.0.1 support.
REL_NO_401	:= $(shell expr $(VMINOR) - 25)$(REL_EXT)
# gcc-defaults 1.29 is the first version with 4.0.2 support.
REL_NO_402	:= $(shell expr $(VMINOR) - 28)$(REL_EXT)
# gcc-defaults 1.32 is the first version with 4.0.3 support.
REL_NO_403	:= $(shell expr $(VMINOR) - 31)$(REL_EXT)

# gcc-defaults 1.33 is the first version with 4.1.0 support.
REL_NO_410	:= $(shell expr $(VMINOR) - 33)$(REL_EXT)
# gcc-defaults 1.36 is the first version with 4.1.1 support.
REL_NO_411	:= $(shell expr $(VMINOR) - 35)$(REL_EXT)
# gcc-defaults 1.51 is the first version with 4.1.2 support.
REL_NO_412	:= $(shell expr $(VMINOR) - 50)$(REL_EXT)

# gcc-defaults 1.54 is the first version with 4.2.0 support.
REL_NO_420	:= $(shell expr $(VMINOR) - 54)$(REL_EXT)
# gcc-defaults 1.56 is the first version with 4.2.1 support.
REL_NO_421	:= $(shell expr $(VMINOR) - 55)$(REL_EXT)
# gcc-defaults 1.62 is the first version with 4.2.2 support.
REL_NO_422	:= $(shell expr $(VMINOR) - 61)$(REL_EXT)
# gcc-defaults 1.63 is the first version with 4.2.3 support.
REL_NO_423	:= $(shell expr $(VMINOR) - 62)$(REL_EXT)
# gcc-defaults 1.73 is the first version with 4.2.4 support.
REL_NO_424	:= $(shell expr $(VMINOR) - 72)$(REL_EXT)

# gcc-defaults 1.63 is the first version with 4.3 support.
REL_NO_43	:= $(shell expr $(VMINOR) - 62)$(REL_EXT)
# gcc-defaults 1.66 is the first version with 4.3 support.
REL_NO_430	:= $(shell expr $(VMINOR) - 65)$(REL_EXT)
# gcc-defaults 1.74 is the first version with 4.3.1 support.
REL_NO_431	:= $(shell expr $(VMINOR) - 73)$(REL_EXT)
# gcc-defaults 1.76 is the first version with 4.3.2 support.
REL_NO_432	:= $(shell expr $(VMINOR) - 75)$(REL_EXT)
# gcc-defaults 1.79 is the first version with 4.3.3 support.
REL_NO_433	:= $(shell expr $(VMINOR) - 78)$(REL_EXT)
# gcc-defaults 1.88 is the first version with 4.3.4 support.
REL_NO_434	:= $(shell expr $(VMINOR) - 87)$(REL_EXT)
# gcc-defaults 1.94 is the first version with 4.3.5 support.
REL_NO_435	:= $(shell expr $(VMINOR) - 93)$(REL_EXT)

# gcc-defaults 1.81 is the first version with 4.4.0 support.
REL_NO_440	:= $(shell expr $(VMINOR) - 80)$(REL_EXT)
# gcc-defaults 1.88 is the first version with 4.4.1 support.
REL_NO_441	:= $(shell expr $(VMINOR) - 87)$(REL_EXT)
# gcc-defaults 1.90 is the first version with 4.4.2 support.
REL_NO_442	:= $(shell expr $(VMINOR) - 89)$(REL_EXT)
# gcc-defaults 1.93 is the first version with 4.4.3 support.
REL_NO_443	:= $(shell expr $(VMINOR) - 92)$(REL_EXT)
# gcc-defaults 1.94 is the first version with 4.4.4 support.
REL_NO_444	:= $(shell expr $(VMINOR) - 93)$(REL_EXT)
# gcc-defaults 1.96 is the first version with 4.4.5 support.
REL_NO_445	:= $(shell expr $(VMINOR) - 95)$(REL_EXT)
# gcc-defaults 1.106 is the first version with 4.4.6 support.
REL_NO_446	:= $(shell expr $(VMINOR) - 105)$(REL_EXT)

# gcc-defaults 1.98 is the first version with 4.5.2 support.
REL_NO_452	:= $(shell expr $(VMINOR) - 97)$(REL_EXT)
# gcc-defaults 1.103 is the first version with 4.5.3 support.
REL_NO_453	:= $(shell expr $(VMINOR) - 102)$(REL_EXT)

# gcc-defaults 1.100 is the first version with 4.6.0 support.
REL_NO_460	:= $(shell expr $(VMINOR) - 99)$(REL_EXT)
# gcc-defaults 1.106 is the first version with 4.6.1 support.
REL_NO_461	:= $(shell expr $(VMINOR) - 105)$(REL_EXT)
# gcc-defaults 1.109 is the first version with 4.6.2 support.
REL_NO_462	:= $(shell expr $(VMINOR) - 108)$(REL_EXT)
# gcc-defaults 1.113 is the first version with 4.6.3 support.
REL_NO_463	:= $(shell expr $(VMINOR) - 112)$(REL_EXT)
# gcc-defaults 1.120 is the first version with 4.6.4 support.
REL_NO_464	:= $(shell expr $(VMINOR) - 119)$(REL_EXT)

# gcc-defaults 1.113 is the first version with 4.7.0 support.
REL_NO_470	:= $(shell expr $(VMINOR) - 112)$(REL_EXT)
# gcc-defaults 1.119 is the first version with 4.7.1 support.
REL_NO_471	:= $(shell expr $(VMINOR) - 118)$(REL_EXT)
# gcc-defaults 1.120 is the first version with 4.7.2 support.
REL_NO_472	:= $(shell expr $(VMINOR) - 119)$(REL_EXT)
# gcc-defaults 1.120 is the first version with 4.7.3 support.
REL_NO_473	:= $(shell expr $(VMINOR) - 119)$(REL_EXT)

REL_NO_481	:= $(shell expr $(VMINOR) - 120)$(REL_EXT)
REL_NO_482	:= $(shell expr $(VMINOR) - 123)$(REL_EXT)

REL_NO_49	:= $(shell expr $(VMINOR) - 123)$(REL_EXT)

# minimum required gcc-X.Y versions
REQV_295	:= (>= 1:2.95.4-16)
REQV_296	:= 
REQV_30		:= (>= 1:3.0.4-12)
REQV_32		:= (>= 1:3.2.3-1)
REQV_33		:= (>= 1:3.3.6-1)
REQV_34		:= (>= 3.4.6-1)
REQV_40		:= (>= 4.0.3-1)
REQV_41		:= (>= 4.1.2-1)
REQV_41_GCJ	:= (>= 4.1.2-1)
REQV_42		:= (>= 4.2.4-1)
REQV_42_GCJ	:= (>= 4.2.4-1)
REQV_43		:= (>= 4.3.5-1)
REQV_44		:= (>= 4.4.7-1~)
REQV_45		:= (>= 4.5.3-1)
REQV_46		:= (>= 4.6.4-1~)
REQV_46_GDC	:= $(REQV_46)
REQV_47		:= (>= 4.7.3-1~)
REQV_48		:= (>= 4.8.2-5~)
REQV_49		:= (>= 4.9)

REQV_LIBGCJ_BC	:= (>= 4.8.2-1~)

# architecture dependent variables
DEB_HOST_ARCH		:= $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_HOST_GNU_TYPE	:= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_HOST_MULTIARCH	:= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

gcc47_archs = powerpcspe
#gcc48_archs = alpha amd64 armel armhf hppa i386 ia64 m68k mips mipsel powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64 kfreebsd-amd64 kfreebsd-i386 hurd-i386
gcc48_archs = alpha amd64 armel armhf arm64 hppa i386 m68k mips mipsel powerpc ppc64 ppc64el x32 kfreebsd-amd64 kfreebsd-i386 hurd-i386 s390x sparc64
gcj48_archs = alpha amd64 armel armhf arm64 hppa i386 ia64 m68k mips mipsel powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64 x32 kfreebsd-amd64 kfreebsd-i386 hurd-i386

# CV_XXX is the complete version number, including the release, without epoch
CV_CPP		:= 4.6.4-$(REL_NO_464)
CV_GCC		:= 4.6.4-$(REL_NO_464)
CV_GPP		:= 4.6.4-$(REL_NO_464)
CV_GOBJC	:= 4.6.4-$(REL_NO_464)
CV_GOBJCXX	:= 4.6.4-$(REL_NO_464)
CV_GFORT	:= 4.6.4-$(REL_NO_464)
CV_GGO		:= 4.9-$(REL_NO_49)
CV_GCJ		:= 4.6.4-$(REL_NO_464)
CV_GIJ		:= 4.6.4-$(REL_NO_464)
CV_LIBGCJBC	:= 4.6.4-$(REL_NO_464)
CV_GDC		:= 4.8.2-$(REL_NO_482)
CV_LIBGCJCOMMON	:= 1:4.8.2-$(REL_NO_482)

ifneq (,$(filter $(DEB_HOST_ARCH), $(gcc48_archs)))
  CV_CPP		:= 4.8.2-$(REL_NO_482)
  CV_GCC		:= 4.8.2-$(REL_NO_482)
  CV_GPP		:= 4.8.2-$(REL_NO_482)
  CV_GOBJC		:= 4.8.2-$(REL_NO_482)
  CV_GOBJCXX		:= 4.8.2-$(REL_NO_482)
  CV_GFORT		:= 4.8.2-$(REL_NO_482)
else ifneq (,$(filter $(DEB_HOST_ARCH), $(gcc47_archs)))
  CV_CPP		:= 4.7.3-$(REL_NO_473)
  CV_GCC		:= 4.7.3-$(REL_NO_473)
  CV_GPP		:= 4.7.3-$(REL_NO_473)
  CV_GOBJC		:= 4.7.3-$(REL_NO_473)
  CV_GOBJCXX		:= 4.7.3-$(REL_NO_473)
  CV_GFORT		:= 4.7.3-$(REL_NO_473)
endif

ifneq (,$(filter $(DEB_HOST_ARCH), $(gcj48_archs)))
  CV_GCJ		:= 4.8.2-$(REL_NO_482)
  CV_GIJ		:= 4.8.2-$(REL_NO_482)
  CV_LIBGCJBC		:= 4.8.2-$(REL_NO_482)
endif

REQV_CPP	= $(REQV_46)
REQV_GCC	= $(REQV_46)
REQV_GPP	= $(REQV_46)
REQV_GOBJC	= $(REQV_46)
REQV_GOBJCXX	= $(REQV_46)
REQV_GFORT	= $(REQV_46)
REQV_GGO	= $(REQV_49)
REQV_GCJ	= $(REQV_46)
REQV_GIJ	= $(REQV_46)
REQV_GDC	= $(REQV_48)

ifneq (,$(filter $(DEB_HOST_ARCH),$(gcc48_archs)))
  REQV_CPP	= $(REQV_48)
  REQV_GCC	= $(REQV_48)
  REQV_GPP	= $(REQV_48)
  REQV_GOBJC	= $(REQV_48)
  REQV_GOBJCXX	= $(REQV_48)
  REQV_GFORT	= $(REQV_48)
else ifneq (,$(filter $(DEB_HOST_ARCH),$(gcc47_archs)))
  REQV_CPP	= $(REQV_47)
  REQV_GCC	= $(REQV_47)
  REQV_GPP	= $(REQV_47)
  REQV_GOBJC	= $(REQV_47)
  REQV_GOBJCXX	= $(REQV_47)
  REQV_GFORT	= $(REQV_47)
endif

ifneq (,$(filter $(DEB_HOST_ARCH),$(gcj48_archs)))
  REQV_GCJ	= $(REQV_48)
  REQV_GIJ	= $(REQV_48)
endif

EPOCH=4
OS_NAME	:= Linux
distribution := $(shell lsb_release -is)
distrelease  := $(shell lsb_release -cs)
all_packages    := g++ gfortran gcj-jdk gobjc gobjc++ gdc gccgo
no_packages	:=

lib32 = /usr/lib32

# is this a multiarch-enabled build?
ifeq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick))
  with_multiarch_lib := yes
endif

LIBGCJ	= libgcj13
LIBGCJ_PC	= libgcj13.pc
LIBGCJ_SONAME	= 13

ifneq (,$(filter $(DEB_HOST_ARCH),$(gcj48_archs)))
  LIBGCJ	= libgcj14
  LIBGCJ_PC	= libgcj14.pc
  LIBGCJ_SONAME	= 14
endif

gcj_archs = alpha amd64 armel armhf arm64 hppa i386 ia64 m68k mips mipsel powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64 x32 kfreebsd-amd64 kfreebsd-i386 hurd-i386
gcj_native_archs = alpha amd64 armel armhf arm64 hppa i386 ia64 mips mipsel powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64 x32 kfreebsd-amd64 kfreebsd-i386 hurd-i386
multilib_archs = amd64 armel armhf i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc sparc64 x32

ifneq (,$(filter $(DEB_HOST_ARCH), $(multilib_archs)))
  with_multilib = yes
endif

with_gfdl_docs := no
ifeq ($(distribution),Ubuntu)
  with_gfdl_docs := yes
endif

go_archs = amd64 arm64 armel armhf i386 ia64 mips mipsel powerpc ppc64 ppc64el s390 s390x x32
ifeq (,$(filter $(DEB_HOST_ARCH),$(go_archs)))
  no_packages += gccgo
endif

java_no_archs := arm
ifneq (,$(filter $(DEB_HOST_ARCH),$(java_no_archs)))
  no_packages += libgcj-bc gcj-jre-headless gcj-jre gcj-jdk
endif

gdc_no_archs = arm64 s390 sh4
ifneq (,$(filter $(DEB_HOST_ARCH),$(gdc_no_archs)))
  no_packages += gdc
endif

ifeq ($(DEB_HOST_ARCH),hurd-i386)
    OS_NAME	:= Hurd
endif

ifneq (,$(filter $(DEB_HOST_ARCH),kfreebsd-i386 kfreebsd-amd64))
    OS_NAME	:= kFreeBSD
endif

ifeq ($(DEB_HOST_ARCH),netbsd-i386)
    OS_NAME	:= NetBSD
endif

ifneq ($(with_gfdl_docs),yes)
    no_packages := $(sort $(no_packages) cpp-doc gcc-doc gfortran-doc)
endif

packages := $(filter-out $(no_packages), $(all_packages))

# derived version number (without release)
V_CPP	:= $(shell echo $(CV_CPP)   | sed 's/-[^-]*$$//')
V_GCC	:= $(shell echo $(CV_GCC)   | sed 's/-[^-]*$$//')
V_GPP	:= $(shell echo $(CV_GPP)   | sed 's/-[^-]*$$//')
V_GOBJC	:= $(shell echo $(CV_GOBJC) | sed 's/-[^-]*$$//')
V_GOBJCXX	:= $(shell echo $(CV_GOBJCXX) | sed 's/-[^-]*$$//')
V_GFORT	:= $(shell echo $(CV_GFORT) | sed 's/-[^-]*$$//')
V_GGO	:= $(shell echo $(CV_GGO)   | sed 's/-[^-]*$$//')
V_GCJ	:= $(shell echo $(CV_GCJ)   | sed 's/-[^-]*$$//')
V_GIJ	:= $(shell echo $(CV_GIJ)   | sed 's/-[^-]*$$//')
ifneq (,$(CV_GCJ_HACKED))
  V_GCJ	:= $(shell echo $(CV_GCJ_HACKED)   | sed 's/-[^-]*$$//')
  V_GIJ	:= $(shell echo $(CV_GIJ_HACKED)   | sed 's/-[^-]*$$//')
endif
V_GDC	:= $(shell echo $(CV_GDC)   | sed 's/-[^-]*$$//')

# number for the package name
PV_CPP	:= $(shell echo $(V_CPP)   | awk -F. '{printf "%d.%d", $$1, $$2}')
PV_GCC	:= $(shell echo $(V_GCC)   | awk -F. '{printf "%d.%d", $$1, $$2}')
PV_GDC	:= $(shell echo $(V_GDC)   | awk -F. '{printf "%d.%d", $$1, $$2}')
PV_GPP	:= $(shell echo $(V_GPP)   | awk -F. '{printf "%d.%d", $$1, $$2}')
PV_GOBJC:= $(shell echo $(V_GOBJC) | awk -F. '{printf "%d.%d", $$1, $$2}')
PV_GOBJCXX:= $(shell echo $(V_GOBJCXX) | awk -F. '{printf "%d.%d", $$1, $$2}')
PV_GFORT:= $(shell echo $(V_GFORT) | awk -F. '{printf "%d.%d", $$1, $$2}')
PV_GGO	:= $(shell echo $(V_GGO)   | awk -F. '{printf "%d.%d", $$1, $$2}')
PV_GCJ	:= $(shell echo $(V_GCJ)   | awk -F. '{printf "%d.%d", $$1, $$2}')
PV_GIJ	:= $(shell echo $(V_GIJ)   | awk -F. '{printf "%d.%d", $$1, $$2}')

MOD_VER := $(shell apt-cache show gfortran-$(PV_GFORT) \
		| sed -n '/^Provides/s/.*\(gfortran-mod-[0-9]*\).*/\1/p' \
		| head -1)

README:
	m4 -DPACKAGES="$(packages)" \
	   -DOS_NAME=$(OS_NAME) \
	   -DDEB_ARCH=$(DEB_HOST_ARCH) \
	   -DV_CPP=$(V_CPP)     -DPV_CPP=$(PV_CPP) \
	   -DV_GCC=$(V_GCC)     -DPV_GCC=$(PV_GCC) \
	   -DV_GPP=$(V_GPP)     -DPV_GPP=$(PV_GPP) \
	   -DV_GOBJC=$(V_GOBJC) -DPV_GOBJC=$(PV_GOBJC) \
	   -DV_GOBJCXX=$(V_GOBJCXX) -DPV_GOBJCXX=$(PV_GOBJCXX) \
	   -DV_GFORT=$(V_GFORT) -DPV_GFORT=$(PV_GFORT) \
	   -DV_GGO=$(V_GGO)     -DPV_GGO=$(PV_GGO) \
	   -DV_GCJ=$(V_GCJ)     -DPV_GCJ=$(PV_GCJ) \
	   -DV_GIJ=$(V_GIJ)     -DPV_GIJ=$(PV_GIJ) \
	   -DV_GDC=$(V_GDC)     -DPV_GDC=$(PV_GDC) \
	   $(if $(filter yes,$(with_gfdl_docs)), -DGFDL) \
		debian/README.Debian.m4 > debian/README.Debian.tmp2
	uniq debian/README.Debian.tmp2 > debian/README.Debian.tmp
	rm -f debian/README.Debian.tmp2
	[ -e debian/README.Debian ] \
	  && cmp -s debian/README.Debian debian/README.Debian.tmp \
	  && rm -f debian/README.Debian.tmp && exit 0; \
	  mv debian/README.Debian.tmp debian/README.Debian

substvars:
	( \
	  echo 'version:cpp=$(EPOCH):$(CV_CPP)'; \
	  echo 'version:gcc=$(EPOCH):$(CV_GCC)'; \
	  echo 'version:gpp=$(EPOCH):$(CV_GPP)'; \
	  echo 'version:gobjc=$(EPOCH):$(CV_GOBJC)'; \
	  echo 'version:gij=$(EPOCH):$(CV_GIJ)'; \
	  echo 'version:gcj=$(EPOCH):$(CV_GCJ)'; \
	  echo 'version:gfort=$(EPOCH):$(CV_GFORT)'; \
	  echo 'version:ggo=$(EPOCH):$(CV_GGO)'; \
	  echo 'version:libgcjcommon=$(CV_LIBGCJCOMMON)'; \
	  echo 'pv:cpp=$(PV_CPP)'; \
	  echo 'pv:gcc=$(PV_GCC)'; \
	  echo 'pv:gpp=$(PV_GPP)'; \
	  echo 'pv:gobjc=$(PV_GOBJC)'; \
	  echo 'pv:gobjcxx=$(PV_GOBJCXX)'; \
	  echo 'pv:gfort=$(PV_GFORT)'; \
	  echo 'pv:ggo=$(PV_GGO)'; \
	  echo 'pv:gcj=$(PV_GCJ)'; \
	  echo 'pv:gij=$(PV_GIJ)'; \
	  echo 'pv:gdc=$(PV_GDC)'; \
	  echo 'reqv:cpp=$(REQV_CPP)'; \
	  echo 'reqv:gcc=$(REQV_GCC)'; \
	  echo 'reqv:gpp=$(REQV_GPP)'; \
	  echo 'reqv:gobjc=$(REQV_GOBJC)'; \
	  echo 'reqv:gobjcxx=$(REQV_GOBJCXX)'; \
	  echo 'reqv:gfort=$(REQV_GFORT)'; \
	  echo 'reqv:ggo=$(REQV_GGO)'; \
	  echo 'reqv:gcj=$(REQV_GCJ)'; \
	  echo 'reqv:gij=$(REQV_GIJ)'; \
	  echo 'reqv:gdc=$(REQV_GDC)'; \
	  echo 'pkg:libgcj=$(LIBGCJ)'; \
	  echo 'pkg:libgcjawt=$(LIBGCJ)-awt'; \
	  echo 'version:libgcjbc=$(CV_LIBGCJBC)'; \
	) > debian/substvars.local
ifeq ($(with_multilib),yes)
	( \
	  echo 'pkgmulti:gcc=gcc-multilib'; \
	  echo 'pkgmulti:gpp=g++-multilib'; \
	  echo 'pkgmulti:gobjc=gobjc-multilib'; \
	  echo 'pkgmulti:gobjcxx=gobjc++-multilib'; \
	  echo 'pkgmulti:gfort=gfortran-multilib'; \
	  echo 'pkgmulti:ggo=gccgo-multilib'; \
	) >> debian/substvars.local
endif
	( \
	  echo 'dep:jrehl=gcj-$${pv:gij}-jre-headless $${reqv:gij}'; \
	  echo 'dep:jre=gcj-$${pv:gij}-jre $${reqv:gij}'; \
	  echo 'dep:jdk=gcj-$${pv:gcj}-jdk $${reqv:gcj}'; \
	  echo 'pkg:gjdoc=gjdoc'; \
	  echo 'ver:gcjconflict=4:4.4.0-2'; \
	) >> debian/substvars.local
ifneq (,$(MOD_VER))
	echo "fortran:mod-version=$(MOD_VER)" >> debian/substvars.local
endif

build-arch: build
build-indep: cacerts-stamp build-stamp
build: README build-stamp
build-stamp:
	dh_testdir
	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f *-stamp
	rm -rf build
	rm -f debian/control.tmp*
	rm -f debian/substvars.local
	rm -f debian/lib*gcj-bc.shlibs
	rm -f debian/gcc.postinst debian/g++.postinst debian/gfortran.postinst
	rm -f debian/generate-cacerts.pl
	rm -f debian/dh_nativejava.1
	dh_clean

install: build substvars
	dh_testdir
	dh_testroot
	dh_clean -k

	for p in `dh_listpackages`; do \
	  cp -l debian/substvars.local debian/$$p.substvars; \
	done

	: # cpp
	dh_installdirs -pcpp \
		lib usr/bin \
		usr/share/man/man1 usr/share/man/man7 usr/share/doc/cpp
	dh_link -pcpp \
	  /usr/bin/cpp-$(PV_CPP) /usr/bin/cpp \
	  /usr/bin/cpp-$(PV_CPP) /usr/bin/$(DEB_HOST_GNU_TYPE)-cpp

  ifeq ($(with_gfdl_docs),yes)
	for i in gfdl.7 gpl.7 fsf-funding.7; do \
	  cp -p $$i debian/cpp/usr/share/man/man7/$${i}gcc; \
	done
	dh_link -pcpp \
	  /usr/share/man/man1/cpp-$(PV_CPP).1.gz /usr/share/man/man1/cpp.1.gz \
	  /usr/share/man/man1/cpp-$(PV_CPP).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-cpp.1.gz

	: # cpp-doc
	dh_installdirs -pcpp-doc \
		usr/share/doc usr/share/info
	dh_link -pcpp-doc \
	  /usr/share/doc/gcc-$(PV_CPP)-base/cpp.html /usr/share/doc/cpp-doc/cpp.html \
	  /usr/share/doc/gcc-$(PV_CPP)-base/cppinternals.html /usr/share/doc/cpp-doc/cppinternals.html \
	  /usr/share/info/cpp-$(PV_CPP).info.gz /usr/share/info/cpp.info.gz \
	  /usr/share/info/cppinternals-$(PV_CPP).info.gz /usr/share/info/cppinternals.info.gz
  endif

	: # gcc
	dh_installdirs -pgcc usr/bin usr/share/man/man1 usr/share/doc
	dh_link -pgcc \
	  /usr/share/doc/cpp /usr/share/doc/gcc \
	  /usr/bin/gcc-$(PV_GCC) /usr/bin/gcc \
	  /usr/bin/gcc-$(PV_GCC) /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc \
	  /usr/bin/gcov-$(PV_GCC) /usr/bin/gcov \
	  /usr/bin/gcov-$(PV_GCC) /usr/bin/$(DEB_HOST_GNU_TYPE)-gcov \
	  /usr/share/doc/gcc-$(PV_GCC)/README.Bugs /usr/share/doc/cpp/README.Bugs
ifneq (,$(filter $(DEB_HOST_ARCH), $(gcc47_archs) $(gcc48_archs) $(gcc49_archs)))
	dh_link -pgcc \
	  /usr/bin/gcc-ar-$(PV_GCC) /usr/bin/gcc-ar \
	  /usr/bin/gcc-nm-$(PV_GCC) /usr/bin/gcc-nm \
	  /usr/bin/gcc-ranlib-$(PV_GCC) /usr/bin/gcc-ranlib \
	  /usr/bin/gcc-ar-$(PV_GCC) /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc-ar \
	  /usr/bin/gcc-nm-$(PV_GCC) /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc-nm \
	  /usr/bin/gcc-ranlib-$(PV_GCC) /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc-ranlib
endif
	install -m 755 -p c89 debian/gcc/usr/bin/c89-gcc
	install -m 644 -p c89.1 debian/gcc/usr/share/man/man1/c89-gcc.1
	install -m 755 -p c99 debian/gcc/usr/bin/c99-gcc
	install -m 644 -p c99.1 debian/gcc/usr/share/man/man1/c99-gcc.1
	sed 's/@VER@/$(PV_GCC)/g' c99.1 > debian/gcc/usr/share/man/man1/c99-gcc.1

	sed -e 's/@GFDL@/$(if $(filter-out yes,$(with_gfdl_docs)),\#)/g' \
		debian/gcc.postinst.in > debian/gcc.postinst

  ifeq ($(with_gfdl_docs),yes)
	dh_link -pgcc \
	  /usr/share/man/man1/gcc-$(PV_GCC).1.gz /usr/share/man/man1/gcc.1.gz \
	  /usr/share/man/man1/gcc-$(PV_GCC).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gcc.1.gz \
	  /usr/share/man/man1/gcov-$(PV_GCC).1.gz /usr/share/man/man1/gcov.1.gz \
	  /usr/share/man/man1/gcov-$(PV_GCC).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gcov.1.gz

	: # gcc-doc
	dh_installdirs -pgcc-doc \
		usr/share/doc usr/share/info
	dh_link -pgcc-doc \
	  /usr/share/doc/gcc-$(PV_GCC)-base/gcc.html /usr/share/doc/gcc-doc/gcc.html \
	  /usr/share/doc/gcc-$(PV_GCC)-base/gccint.html /usr/share/doc/gcc-doc/gccint.html \
	  /usr/share/doc/gcc-$(PV_GCC)-base/libgomp.html /usr/share/doc/gcc-doc/libgomp.html \
	  /usr/share/info/gcc-$(PV_GCC).info.gz /usr/share/info/gcc.info.gz \
	  /usr/share/info/gccint-$(PV_GCC).info.gz /usr/share/info/gccint.info.gz \
	  /usr/share/info/libgomp-$(PV_GCC).info.gz /usr/share/info/libgomp.info.gz 
  endif

ifeq ($(with_multiarch_lib),yes)
  ifeq ($(with_multilib),yes)
	: # gcc-multilib
	# multilib needs to provide a compat symlink pointing to the asm
	# header directory of the primary architecture, since we may not
	# have separate asm headers installed for our non-default targets.
	dh_link -pgcc-multilib \
	  /usr/include/$(DEB_HOST_MULTIARCH)/asm /usr/include/asm
  endif
endif

ifneq (,$(filter gdc, $(packages)))
	: # gdc
	dh_installdirs -pgdc \
	  usr/share/doc usr/bin usr/share/man/man1
	dh_installdocs -pgdc debian/README.Debian

	# gdc binaries
	dh_link -pgdc \
		/usr/bin/gdc-$(PV_GDC) /usr/bin/gdc \
		/usr/bin/gdc-$(PV_GDC) /usr/bin/$(DEB_HOST_GNU_TYPE)-gdc
	# manpages
	dh_link -pgdc \
		/usr/share/man/man1/gdc-$(PV_GDC).1.gz /usr/share/man/man1/gdc.1.gz \
		/usr/share/man/man1/gdc-$(PV_GDC).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gdc.1.gz

  ifeq (0,1)
	# gdmd binaries
	dh_link -pgdc \
		/usr/bin/gdmd-$(PV_GDC) /usr/bin/gdmd \
		/usr/bin/gdmd-$(PV_GDC) /usr/bin/$(DEB_HOST_GNU_TYPE)-gdmd
	# manpages
	dh_link -pgdc \
		/usr/share/man/man1/gdmd-$(PV_GDC).1.gz /usr/share/man/man1/gdmd.1.gz \
		/usr/share/man/man1/gdmd-$(PV_GDC).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gdmd.1.gz
  endif
endif

ifneq (,$(filter gobjc, $(packages)))
	: # gobjc
	dh_installdirs -pgobjc usr/share/doc
	dh_link -pgobjc \
	  /usr/share/doc/cpp /usr/share/doc/gobjc
endif

ifneq (,$(filter gobjc++, $(packages)))
	: # gobjc++
	dh_installdirs -pgobjc++ usr/share/doc
	dh_link -pgobjc++ \
	  /usr/share/doc/cpp /usr/share/doc/gobjc++
endif

ifneq (,$(filter g++, $(packages)))
	: # g++
	dh_installdirs -pg++ usr/bin /usr/share/man/man1 usr/share/doc
	dh_link -pg++ \
	  /usr/share/doc/cpp /usr/share/doc/g++ \
	  /usr/bin/g++-$(PV_GPP) /usr/bin/g++ \
	  /usr/bin/g++-$(PV_GPP) /usr/bin/$(DEB_HOST_GNU_TYPE)-g++
  ifeq ($(with_gfdl_docs),yes)
	dh_link -pg++ \
	  /usr/share/man/man1/g++-$(PV_GPP).1.gz /usr/share/man/man1/g++.1.gz \
	  /usr/share/man/man1/g++-$(PV_GPP).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-g++.1.gz
  endif
	sed -e 's/@GFDL@/$(if $(filter-out yes,$(with_gfdl_docs)),\#)/g' \
		debian/g++.postinst.in > debian/g++.postinst
endif

ifneq (,$(filter gfortran, $(packages)))
	: # gfortran
	dh_installdirs -pgfortran usr/bin /usr/share/man/man1 usr/share/doc
	dh_link -pgfortran \
	  /usr/share/doc/cpp /usr/share/doc/gfortran \
	  /usr/bin/gfortran-$(PV_GFORT) /usr/bin/gfortran \
	  /usr/bin/gfortran-$(PV_GFORT) /usr/bin/$(DEB_HOST_GNU_TYPE)-gfortran

ifneq (,$(filter $(DEB_HOST_ARCH), alpha))
	: # keep these as long as gcc version != gfortran version
	dh_link -pgfortran \
	  /usr/lib/gcc/$(DEB_HOST_GNU_TYPE)/4.3/libgfortran.so /usr/lib/libgfortran.so \
	  /usr/lib/gcc/$(DEB_HOST_GNU_TYPE)/4.3/libgfortran.a /usr/lib/libgfortran.a \
	  /usr/lib/gcc/$(DEB_HOST_GNU_TYPE)/4.3/libgfortranbegin.a /usr/lib/libgfortranbegin.a
  ifneq (,$(filter $(DEB_HOST_ARCH), amd64))
	dh_link -pgfortran-multilib \
	  /usr/lib/gcc/$(DEB_HOST_GNU_TYPE)/4.3/32/libgfortran.so $(lib32)/libgfortran.so \
	  /usr/lib/gcc/$(DEB_HOST_GNU_TYPE)/4.3/32/libgfortran.a $(lib32)/libgfortran.a \
	  /usr/lib/gcc/$(DEB_HOST_GNU_TYPE)/4.3/32/libgfortranbegin.a $(lib32)/libgfortranbegin.a
  endif
endif

  ifeq ($(with_gfdl_docs),yes)
	dh_link -pgfortran \
	  /usr/share/man/man1/gfortran-$(PV_GFORT).1.gz /usr/share/man/man1/gfortran.1.gz \
	  /usr/share/man/man1/gfortran-$(PV_GFORT).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gfortran.1.gz

	: # gfortran-doc
	dh_installdirs -pgfortran-doc \
		usr/share/doc usr/share/info
	dh_link -pgfortran-doc \
	  /usr/share/doc/gcc-$(PV_GFORT)-base/fortran/gfortran.html \
	    /usr/share/doc/gfortran-doc/fortran/gfortran.html \
	  /usr/share/info/gfortran-$(PV_GFORT).info.gz /usr/share/info/gfortran.info.gz
  endif
	sed -e 's/@GFDL@/$(if $(filter-out yes,$(with_gfdl_docs)),\#)/g' \
		debian/gfortran.postinst.in > debian/gfortran.postinst
endif

ifneq (,$(filter gccgo, $(packages)))
	: # Go
	dh_installdirs -pgccgo usr/share/doc
	dh_link -pgccgo \
	  /usr/share/doc/cpp /usr/share/doc/gccgo \
	  /usr/bin/gccgo-$(PV_GGO) /usr/bin/gccgo \
	  /usr/bin/gccgo-$(PV_GGO) /usr/bin/$(DEB_HOST_GNU_TYPE)-gccgo
  ifeq ($(with_gfdl_docs),yes)
	dh_link -pgccgo \
	  /usr/share/man/man1/gccgo-$(PV_GGO).1.gz /usr/share/man/man1/gccgo.1.gz \
	  /usr/share/man/man1/gccgo-$(PV_GGO).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gccgo.1.gz
  endif
endif

ifneq (,$(filter gcj-jdk, $(packages)))
	: # gcj-jre-headless
	dh_installdirs -pgcj-jre-headless usr/bin /usr/share/man/man1 usr/share/doc
	dh_link -pgcj-jre-headless \
	  /usr/share/doc/libgcj-common /usr/share/doc/gcj-jre-headless \
	  /usr/bin/gij-$(PV_GIJ) /usr/bin/gij \
	  /usr/bin/gcj-dbtool-$(PV_GIJ) /usr/bin/gcj-dbtool \
	  /usr/bin/gkeytool-$(PV_GIJ) /usr/bin/gkeytool \
	  /usr/bin/gorbd-$(PV_GIJ) /usr/bin/gorbd \
	  /usr/bin/grmid-$(PV_GIJ) /usr/bin/grmid \
	  /usr/bin/grmiregistry-$(PV_GIJ) /usr/bin/grmiregistry \
	  /usr/bin/gserialver-$(PV_GIJ) /usr/bin/gserialver \

	: # gcj-jdk
	dh_installdirs -pgcj-jdk usr/bin /usr/share/man/man1 usr/share/doc
	dh_link -pgcj-jdk \
	  /usr/share/doc/cpp /usr/share/doc/gcj-jdk \
	  /usr/bin/gjavah-$(PV_GCJ) /usr/bin/gjavah \
	  /usr/bin/gcj-$(PV_GCJ) /usr/bin/gcj \
	  /usr/bin/gcj-$(PV_GCJ) /usr/bin/$(DEB_HOST_GNU_TYPE)-gcj \
	  /usr/bin/gcjh-$(PV_GCJ) /usr/bin/gcjh \
	  /usr/bin/gjar-$(PV_GCJ) /usr/bin/gjar \
	  /usr/bin/gjarsigner-$(PV_GCJ) /usr/bin/gjarsigner \
	  /usr/bin/grmic-$(PV_GCJ) /usr/bin/grmic \
	  /usr/bin/jv-convert-$(PV_GCJ) /usr/bin/jv-convert \
	  /usr/bin/jcf-dump-$(PV_GCJ) /usr/bin/jcf-dump \
	  /usr/bin/gcj-wrapper-$(PV_GCJ) /usr/bin/gcj-wrapper \
	  /usr/bin/gtnameserv-$(PV_GCJ) /usr/bin/gtnameserv \
	  /usr/bin/gappletviewer-$(PV_GCJ) /usr/bin/gappletviewer \
	  /usr/share/java/libgcj-$(PV_GCJ).jar /usr/share/java/libgcj.jar
ifeq ($(with_multiarch_lib),yes)
	dh_link -pgcj-jdk \
	  /usr/lib/pkgconfig/$(DEB_HOST_MULTIARCH)/$(LIBGCJ_PC) \
	  /usr/lib/pkgconfig/$(DEB_HOST_MULTIARCH)/libgcj.pc
else
	dh_link -pgcj-jdk \
	  /usr/lib/pkgconfig/$(LIBGCJ_PC) /usr/lib/pkgconfig/libgcj.pc
endif

	dh_link -pgcj-jre-headless \
	  /usr/share/man/man1/gkeytool-$(PV_GIJ).1.gz /usr/share/man/man1/gkeytool.1.gz \
	  /usr/share/man/man1/gorbd-$(PV_GIJ).1.gz /usr/share/man/man1/gorbd.1.gz \
	  /usr/share/man/man1/grmid-$(PV_GIJ).1.gz /usr/share/man/man1/grmid.1.gz \
	  /usr/share/man/man1/grmiregistry-$(PV_GIJ).1.gz /usr/share/man/man1/grmiregistry.1.gz \
	  /usr/share/man/man1/gserialver-$(PV_GIJ).1.gz /usr/share/man/man1/gserialver.1.gz

	dh_link -pgcj-jdk \
	  /usr/share/man/man1/gjar-$(PV_GCJ).1.gz /usr/share/man/man1/gjar.1.gz \
	  /usr/share/man/man1/gjarsigner-$(PV_GCJ).1.gz /usr/share/man/man1/gjarsigner.1.gz \
	  /usr/share/man/man1/gjavah-$(PV_GCJ).1.gz /usr/share/man/man1/gjavah.1.gz \
	  /usr/share/man/man1/gnative2ascii-$(PV_GIJ).1.gz /usr/share/man/man1/gnative2ascii.1.gz \
	  /usr/share/man/man1/gtnameserv-$(PV_GCJ).1.gz /usr/share/man/man1/gtnameserv.1.gz \
	  /usr/share/man/man1/gappletviewer-$(PV_GCJ).1.gz /usr/share/man/man1/gappletviewer.1.gz

  ifeq ($(with_gfdl_docs),yes)
	dh_link -pgcj-jre-headless \
	  /usr/share/man/man1/gij-$(PV_GIJ).1.gz /usr/share/man/man1/gij.1.gz \
	  /usr/share/man/man1/gcj-dbtool-$(PV_GIJ).1.gz /usr/share/man/man1/gcj-dbtool.1.gz
	dh_link -pgcj-jdk \
	  /usr/share/man/man1/gcj-$(PV_GCJ).1.gz /usr/share/man/man1/gcj.1.gz \
	  /usr/share/man/man1/gcj-$(PV_GCJ).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gcj.1.gz \
	  /usr/share/man/man1/gcjh-$(PV_GCJ).1.gz /usr/share/man/man1/gcjh.1.gz \
	  /usr/share/man/man1/grmic-$(PV_GCJ).1.gz /usr/share/man/man1/grmic.1.gz \
	  /usr/share/man/man1/jv-convert-$(PV_GCJ).1.gz /usr/share/man/man1/jv-convert.1.gz \
	  /usr/share/man/man1/jcf-dump-$(PV_GCJ).1.gz /usr/share/man/man1/jcf-dump.1.gz \
	  /usr/share/man/man1/gcj-wrapper-$(PV_GCJ).1.gz /usr/share/man/man1/gcj-wrapper.1.gz \
	  /usr/share/info/gcj-$(PV_GCJ).info.gz /usr/share/info/gcj.info.gz
  endif

	dh_link -pgcj-jdk \
	  /usr/bin/gjdoc-$(PV_GCJ) /usr/bin/gjdoc \
	  /usr/share/man/man1/gjdoc-$(PV_GCJ).1.gz /usr/share/man/man1/gjdoc.1.gz
	cp -p debian/dh_javadoc debian/gcj-jdk/usr/bin/
	pod2man -c Debhelper -r $(PV_GCJ) \
		debian/dh_javadoc debian/gcj-jdk/usr/share/man/man1/dh_javadoc.1

	: # libgcj-bc
  ifeq ($(with_multiarch_lib),yes)
	dh_installdirs -plibgcj-bc \
		usr/lib/$(DEB_HOST_MULTIARCH) usr/share/doc usr/share/lintian/overrides
	ln -s libgcj.so.$(LIBGCJ_SONAME) \
		debian/libgcj-bc/usr/lib/$(DEB_HOST_MULTIARCH)/libgcj_bc.so.1
  else
	dh_installdirs -plibgcj-bc \
		usr/lib usr/share/doc usr/share/lintian/overrides
	ln -s libgcj.so.$(LIBGCJ_SONAME) \
		debian/libgcj-bc/usr/lib/libgcj_bc.so.1
  endif
	dh_link -plibgcj-bc \
	  /usr/share/doc/libgcj-common /usr/share/doc/libgcj-bc

	mkdir -p debian/libgcj-bc/usr/share/lintian/overrides
	cp -p debian/libgcj-bc.overrides \
		debian/libgcj-bc/usr/share/lintian/overrides/libgcj-bc

	echo "libgcj_bc 1 libgcj-bc $(REQV_LIBGCJ_BC)" \
		> debian/libgcj-bc.shlibs

	: # gcj-jre-headless
	dh_installdirs -pgcj-jre-headless \
		usr/share/doc usr/lib/jvm
	ln -sf java-1.5.0-gcj-$(PV_GCJ)-$(DEB_HOST_ARCH) \
		debian/gcj-jre-headless/usr/lib/jvm/java-1.5.0-gcj
	ln -sf java-gcj-$(PV_GCJ) \
		debian/gcj-jre-headless/usr/lib/jvm/java-gcj
endif

	: # libgcj-common
	dh_installdirs -plibgcj-common \
	  /usr/bin \
	  /usr/sbin \
	  /etc/java/security/security.d \
	  /usr/lib/security \
	  /var/lib/security \
	  /usr/share/gcj
	install -m644 classpath.security debian/libgcj-common/etc/java/security/
	dh_link -plibgcj-common \
	  /var/lib/security/classpath.security /usr/lib/security/classpath.security
	install -m755 debian/rebuild-gcj-db \
		debian/libgcj-common/usr/bin/
	install -m755 debian/rebuild-security-providers \
		debian/libgcj-common/usr/sbin/
	( \
	  echo "# architectures with gcj support"; \
	  echo "gcj_archs = $(gcj_archs)"; \
	  echo "# architectures which should provide gcj native support"; \
	  echo "gcj_native_archs = $(gcj_native_archs)" \
	) > debian/libgcj-common/usr/share/gcj/debian_defaults

	: # GNU security provider
	for i in \
	  1000-gnu.java.security.provider.Gnu \
	  1001-gnu.javax.crypto.jce.GnuCrypto \
	  1002-gnu.javax.crypto.jce.GnuSasl \
	  1003-gnu.javax.net.ssl.provider.Jessie \
	  1004-gnu.javax.security.auth.callback.GnuCallbacks; \
	do \
	  touch debian/libgcj-common/etc/java/security/security.d/$$i; \
	done

	: # aotcompile & dh_nativejava

	mkdir -p debian/libgcj-common/usr/bin
	install -m755 debian/aot-compile debian/libgcj-common/usr/bin/
	mkdir -p debian/libgcj-common/usr/lib/gcc
	install -m644 debian/*.py debian/libgcj-common/usr/lib/gcc

	install -m755 debian/dh_nativejava debian/libgcj-common/usr/bin/
	mkdir -p debian/libgcj-common/usr/share/debhelper/autoscripts
	install -m 644 debian/p*-rebuild-gcj-db \
		debian/libgcj-common/usr/share/debhelper/autoscripts/
	pod2man -c Debhelper debian/dh_nativejava debian/dh_nativejava.1
	mkdir -p debian/libgcj-common/usr/share/man/man1
	install -m644 debian/dh_nativejava.1 debian/libgcj-common/usr/share/man/man1/

nopkgs :=-s $(foreach p, $(no_packages),-N$(p))

cacerts-stamp:
	dh_testdir
	rm -rf build
	mkdir -p build
	sed 's/@gcc_suffix@//' debian/generate-cacerts.pl.in \
		> debian/generate-cacerts.pl
	cd build && perl ../debian/generate-cacerts.pl \
		/etc/ssl/certs/ca-certificates.crt
	touch $@

binary-indep: build-indep install
	dh_testdir
	dh_testroot
	dh_installchangelogs -i

	dh_installdocs -plibgcj-common
	dh_installchangelogs -plibgcj-common
	mv debian/libgcj-common/usr/share/doc/libgcj-common/changelog \
		debian/libgcj-common/usr/share/doc/libgcj-common/changelog.Debian

	install -m644 build/cacerts debian/libgcj-common/etc/java/cacerts-gcj

	dh_compress -i -XREADME.Debian
	dh_fixperms -i
	dh_python2 -plibgcj-common
	dh_installdeb -i
	dh_gencontrol -plibgcj-common -u-v$(CV_LIBGCJCOMMON)
	dh_md5sums -i
	dh_builddeb -i

binary-arch: build-arch install
	dh_testdir
	dh_testroot
#	dh_installdebconf
	dh_installdocs -pcpp
	for p in `dh_listpackages $(nopkgs) -Ncpp -Nlibgcj-bc -Ncpp-doc -Ngcc-doc -Ngfortran-doc -Nlibgcj-common -Ngdc`; do \
	  case "$$p" in gij|gcj-*) t=libgcj-common;; *) t=cpp; esac; \
	  echo ln -sf $$t debian/$$p/usr/share/doc/$$p; \
	  mkdir -p debian/$$p/usr/share/doc; \
	  rm -f debian/$$p/usr/share/doc/$$p; \
	  ln -sf $$t debian/$$p/usr/share/doc/$$p; \
	done

	dh_installchangelogs -pcpp -pgdc
	mv debian/cpp/usr/share/doc/cpp/changelog \
		debian/cpp/usr/share/doc/cpp/changelog.Debian
	mv debian/gdc/usr/share/doc/gdc/changelog \
		debian/gdc/usr/share/doc/gdc/changelog.Debian
ifeq ($(with_gfdl_docs),yes)
	dh_installdocs -pcpp-doc -pgcc-doc -pgfortran-doc
	dh_installchangelogs -pcpp-doc -pgcc-doc -pgfortran-doc
endif
	dh_compress -s $(nopkgs) -XREADME.Debian
	dh_fixperms -s $(nopkgs)
	dh_installdeb -s $(nopkgs)
	dh_gencontrol -pcpp     -u-v$(EPOCH):$(CV_CPP)
	dh_gencontrol -pgcc     -u-v$(EPOCH):$(CV_GCC)
  ifeq ($(with_multilib),yes)
	dh_gencontrol -pgcc-multilib -u-v$(EPOCH):$(CV_GCC)
  endif
  ifeq ($(with_gfdl_docs),yes)
	dh_gencontrol -pcpp-doc -u-v$(EPOCH):$(CV_CPP)
	dh_gencontrol -pgcc-doc -u-v$(EPOCH):$(CV_GCC)
  endif
ifneq (,$(filter gdc, $(packages)))
	dh_gencontrol -pgdc -u-v$(CV_GDC)
endif
ifneq (,$(filter g++, $(packages)))
	dh_gencontrol -pg++     -u-v$(EPOCH):$(CV_GPP)
  ifeq ($(with_multilib),yes)
	dh_gencontrol -pg++-multilib -u-v$(EPOCH):$(CV_GPP)
  endif
endif
ifneq (,$(filter gobjc, $(packages)))
	dh_gencontrol -pgobjc   -u-v$(EPOCH):$(CV_GOBJC)
  ifeq ($(with_multilib),yes)
	dh_gencontrol -pgobjc-multilib -u-v$(EPOCH):$(CV_GOBJC)
  endif
endif
ifneq (,$(filter gobjc++, $(packages)))
	dh_gencontrol -pgobjc++   -u-v$(EPOCH):$(CV_GOBJCXX)
  ifeq ($(with_multilib),yes)
	dh_gencontrol -pgobjc++-multilib -u-v$(EPOCH):$(CV_GOBJCXX)
  endif
endif
ifneq (,$(filter gfortran, $(packages)))
	dh_gencontrol -pgfortran     -u-v$(EPOCH):$(CV_GFORT)
  ifeq ($(with_multilib),yes)
	dh_gencontrol -pgfortran-multilib -u-v$(EPOCH):$(CV_GFORT)
  endif
  ifeq ($(with_gfdl_docs),yes)
	dh_gencontrol -pgfortran-doc -u-v$(EPOCH):$(CV_GFORT)
  endif
endif
ifneq (,$(filter gccgo, $(packages)))
	dh_gencontrol -pgccgo     -u-v$(EPOCH):$(CV_GGO)
  ifeq ($(with_multilib),yes)
    ifneq (,$(filter $(DEB_HOST_ARCH), $(filter-out armel armhf, $(multilib_archs))))
	dh_gencontrol -pgccgo-multilib -u-v$(EPOCH):$(CV_GGO)
    endif
  endif
endif
ifneq (,$(filter gcj-jdk, $(packages)))
	dh_gencontrol -plibgcj-bc   -u-v$(CV_LIBGCJBC)
	dh_gencontrol -pgcj-jre-headless -pgcj-jre -pgcj-jdk \
		-u-v$(EPOCH):$(CV_GCJ)
endif
	dh_md5sums -s $(nopkgs)
	dh_builddeb -s $(nopkgs)

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
