#! /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.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)

#
GPC_DATE	:= 20040516
GPC_VERSION	:= 2.1

# 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_GPC_33	:= (>= 1:3.3.6.$(GPC_DATE)-1)
REQV_34		:= (>= 3.4.4cs2005q3.1-3)
REQV_40		:= (>= 4.0.2-5)

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

# CV_XXX is the complete version number, including the release, without epoch
CV_CHILL:= 2.95.4-$(REL_NO_295)
CV_GPC	:= 3.4.4-$(REL_NO_344)

CV_CPP	:= 3.4.4-$(REL_NO_344)
CV_GCC	:= 3.4.4-$(REL_NO_344)
CV_GPP	:= 3.4.4-$(REL_NO_344)
CV_GOBJC:= 3.4.4-$(REL_NO_344)
CV_G77	:= 3.4.4-$(REL_NO_344)
CV_GFORT:= 3.4.4-$(REL_NO_344)
CV_GCJ	:= 3.4.4-$(REL_NO_344)
CV_GIJ	:= 3.4.4-$(REL_NO_344)

REQV_CHILL	= $(REQV_295)
REQV_GPC	= $(REQV_34)

REQV_CPP	= $(REQV_34)
REQV_GCC	= $(REQV_34)
REQV_GPP	= $(REQV_34)
REQV_GOBJC	= $(REQV_34)
REQV_G77	= $(REQV_34)
REQV_GFORT	= $(REQV_34)
REQV_GCJ	= $(REQV_34)
REQV_GIJ	= $(REQV_34)
REQV_LIBGCJ	= $(REQV_34)
REQV_GPC	= $(REQV_34)

LIBGCJ		= libgcj6

EPOCH=4
OS_NAME	:= Linux
packages := chill c++ f77 fortran java objc pascal

ifeq ($(DEB_HOST_ARCH),alpha)
endif

ifeq ($(DEB_HOST_ARCH),amd64)
    packages	:= c++ f77 fortran java objc pascal
    no_packages	:= chill
endif

ifeq ($(DEB_HOST_ARCH),arm)
endif

ifeq ($(DEB_HOST_ARCH),ia64)
    packages	:= c++ f77 fortran java objc pascal
    no_packages	:= chill
endif

ifeq ($(DEB_HOST_ARCH),i386)
endif

tmp:=$(filter $(DEB_HOST_ARCH),sh3-linux sh4-linux sh3eb-linux sh4eb-linux)
ifeq ($(DEB_HOST_ARCH),$(tmp))
    packages    := c++ objc
    no_packages	:= chill g77 g77-doc gfortran gfortran-doc gcj gij libgcj-dev gpc gpc-doc 
endif

ifeq ($(DEB_HOST_ARCH),hppa)
    packages	:= c++ f77 fortran java objc pascal
    no_packages	:= chill
endif

ifeq ($(DEB_HOST_ARCH),m68k)
endif

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

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

ifeq ($(DEB_HOST_ARCH),kfreebsd-i386)
    OS_NAME	:= kFreeBSD
endif

# 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_G77	:= $(shell echo $(CV_G77)   | sed 's/-[^-]*$$//')
V_GFORT	:= $(shell echo $(CV_GFORT) | sed 's/-[^-]*$$//')
V_CHILL	:= $(shell echo $(CV_CHILL) | sed 's/-[^-]*$$//')
V_GCJ	:= $(shell echo $(CV_GCJ)   | sed 's/-[^-]*$$//')
V_GIJ	:= $(shell echo $(CV_GIJ)   | sed 's/-[^-]*$$//')
V_GPC	:= $(shell echo $(CV_GPC)   | 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_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_G77	:= $(shell echo $(V_G77)   | awk -F. '{printf "%d.%d", $$1, $$2}')
PV_GFORT:= $(shell echo $(V_GFORT) | awk -F. '{printf "%d.%d", $$1, $$2}')
PV_CHILL:= $(shell echo $(V_CHILL) | 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}')
PV_GPC	:= $(shell echo $(V_GPC)   | awk -F. '{printf "%d.%d", $$1, $$2}')
PV_GPC := $(GPC_VERSION)-$(PV_GPC)

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_CHILL=$(V_CHILL) -DPV_CHILL=$(PV_CHILL) \
	   -DV_G77=$(V_G77)     -DPV_G77=$(PV_G77) \
	   -DV_GFORT=$(V_GFORT) -DPV_GFORT=$(PV_GFORT) \
	   -DV_GCJ=$(V_GCJ)     -DPV_GCJ=$(PV_GCJ) \
	   -DV_GIJ=$(V_GCJ)     -DPV_GIJ=$(PV_GCJ) \
	   -DV_GPC=$(V_GPC)     -DPV_GPC=$(PV_GPC) \
		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:gij=$(EPOCH):$(CV_GIJ)'; \
	  echo 'version:gcj=$(EPOCH):$(CV_GCJ)'; \
	  echo 'version:gpc=$(EPOCH):$(CV_GPC)'; \
	  echo 'version:g77=$(EPOCH):$(CV_G77)'; \
	  echo 'version:gfort=$(EPOCH):$(CV_GFORT)'; \
	  echo 'libgcj=$(LIBGCJ)'; \
	  echo 'pv:cpp=$(PV_CPP)'; \
	  echo 'pv:gcc=$(PV_GCC)'; \
	  echo 'pv:gpp=$(PV_GPP)'; \
	  echo 'pv:gobjc=$(PV_GOBJC)'; \
	  echo 'pv:chill=$(PV_CHILL)'; \
	  echo 'pv:g77=$(PV_G77)'; \
	  echo 'pv:gfort=$(PV_GFORT)'; \
	  echo 'pv:gcj=$(PV_GCJ)'; \
	  echo 'pv:libgcj=$(PV_LIBGCJ)'; \
	  echo 'pv:gij=$(PV_GIJ)'; \
	  echo 'pv:gpc=$(PV_GPC)'; \
	  echo 'reqv:cpp=$(REQV_CPP)'; \
	  echo 'reqv:gcc=$(REQV_GCC)'; \
	  echo 'reqv:gpp=$(REQV_GPP)'; \
	  echo 'reqv:gobjc=$(REQV_GOBJC)'; \
	  echo 'reqv:chill=$(REQV_CHILL)'; \
	  echo 'reqv:g77=$(REQV_G77)'; \
	  echo 'reqv:gfort=$(REQV_GFORT)'; \
	  echo 'reqv:gcj=$(REQV_GCJ)'; \
	  echo 'reqv:libgcj=$(REQV_LIBGCJ)'; \
	  echo 'reqv:gij=$(REQV_GIJ)'; \
	  echo 'reqv:gpc=$(REQV_GPC)'; \
	) > debian/substvars.local

build: README build-stamp
build-stamp:
	dh_testdir
	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp
	rm -f debian/control.tmp*
	rm -f debian/substvars.local
	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
	for i in fsf-funding.7 gfdl.7 gpl.7; do \
	  cp -p $$i debian/cpp/usr/share/man/man7/$${i}gcc; \
	done
	dh_link -pcpp \
	  /usr/bin/cpp-$(PV_CPP) /usr/bin/cpp \
	  /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
	#/usr/bin/cpp-$(PV_CPP) /usr/bin/$(DEB_HOST_GNU_TYPE)-cpp \

	: # cpp-doc
	dh_installdirs -pcpp-doc \
		usr/share/doc usr/share/info
	dh_link -pcpp-doc \
	  /usr/share/doc/cpp-$(PV_CPP)-doc /usr/share/doc/cpp-doc \
	  /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

	: # 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/share/man/man1/gcc-$(PV_GCC).1.gz /usr/share/man/man1/gcc.1.gz \
	  /usr/bin/gccbug-$(PV_GCC) /usr/bin/gccbug \
	  /usr/share/man/man1/gccbug-$(PV_GCC).1.gz /usr/share/man/man1/gccbug.1.gz \
	  /usr/bin/gcov-$(PV_GCC) /usr/bin/gcov \
	  /usr/share/man/man1/gcov-$(PV_GCC).1.gz /usr/share/man/man1/gcov.1.gz \
	/usr/share/doc/gcc-$(PV_GCC)/FAQ.gz /usr/share/doc/cpp/FAQ.gz \
	/usr/share/doc/gcc-$(PV_GCC)/README.Bugs /usr/share/doc/cpp/README.Bugs
	#/usr/bin/gcc-$(PV_GCC) /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc 
	#/usr/share/man/man1/gcc-$(PV_GCC).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gcc.1.gz
	
ifeq ($(DEB_HOST_ARCH),sparc)
	rm -f debian/gcc/usr/bin/gcc
	$(CC) -DGCC_NAME=gcc-$(PV_GCC) -O2 -Wall sparc-gcc.c -o debian/gcc/usr/bin/gcc
	mkdir -p debian/gcc/etc
	cp -p debian/disable_64_gcc debian/gcc/etc/.
endif
	install -m 755 -p c89 debian/gcc/usr/bin/.
	install -m 644 -p c89.1 debian/gcc/usr/share/man/man1/.
	install -m 755 -p c99 debian/gcc/usr/bin/.
	install -m 644 -p c99.1 debian/gcc/usr/share/man/man1/.
	sed 's/@VER@/$(PV_GCC)/g' c99.1 > debian/gcc/usr/share/man/man1/c99.1

	: # gcc-doc
	dh_installdirs -pgcc-doc \
		usr/share/doc usr/share/info
	dh_link -pgcc-doc \
	  /usr/share/doc/gcc-$(PV_GCC)-doc /usr/share/doc/gcc-doc \
	  /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

ifeq (objc, $(findstring objc, $(packages)))
	: # gobjc
	dh_installdirs -pgobjc usr/share/doc
	dh_link -pgobjc \
	  /usr/share/doc/cpp /usr/share/doc/gobjc
endif

ifeq (c++, $(findstring c++, $(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/share/man/man1/g++-$(PV_GPP).1.gz /usr/share/man/man1/g++.1.gz
	  #/usr/bin/g++-$(PV_GPP) /usr/bin/$(DEB_HOST_GNU_TYPE)-g++
	  #/usr/share/man/man1/g++-$(PV_GPP).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-g++.1.gz
ifeq ($(DEB_HOST_ARCH),sparc)
	rm -f debian/g++/usr/bin/g++
	$(CC) -DGPP_NAME=g++-$(PV_GPP) -O2 -Wall sparc-g++.c -o debian/g++/usr/bin/g++
endif
endif

ifeq (f77, $(findstring f77, $(packages)))
	: # g77
	dh_installdirs -pg77 usr/bin /usr/share/man/man1 usr/share/doc
	dh_link -pg77 \
	  /usr/share/doc/cpp /usr/share/doc/g77 \
	  /usr/bin/g77-$(PV_G77) /usr/bin/g77 \
	  /usr/share/man/man1/g77-$(PV_G77).1.gz /usr/share/man/man1/g77.1.gz
	  #/usr/bin/g77-$(PV_G77) /usr/bin/$(DEB_HOST_GNU_TYPE)-g77
	  #/usr/share/man/man1/g77-$(PV_G77).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-g77.1.gz

	: # g77-doc
	dh_installdirs -pg77-doc \
		usr/share/doc usr/share/info
	dh_link -pg77-doc \
	  /usr/share/doc/g77-$(PV_G77)-doc /usr/share/doc/g77-doc \
	  /usr/share/info/g77-$(PV_G77).info.gz /usr/share/info/g77.info.gz
endif

ifeq (fortran, $(findstring fortran, $(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/share/man/man1/gfortran-$(PV_GFORT).1.gz /usr/share/man/man1/gfortran.1.gz \
	  #/usr/bin/gfortran-$(PV_GFORT) /usr/bin/$(DEB_HOST_GNU_TYPE)-gfortran
	  #/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/gfortran-$(PV_GFORT)-doc /usr/share/doc/gfortran-doc \
	  /usr/share/info/gfortran-$(PV_GFORT).info.gz /usr/share/info/gfortran.info.gz

endif

ifeq (chill, $(findstring chill, $(packages)))
	: # chill
	dh_installdirs -pchill usr/bin /usr/share/man/man1 usr/share/doc
	dh_link -pchill \
	  /usr/share/doc/cpp /usr/share/doc/chill \
	  /usr/bin/chill-$(PV_CHILL) /usr/bin/chill
	dh_undocumented -pchill chill.1
endif

ifeq (java, $(findstring java, $(packages)))
	: # gcj
	dh_installdirs -pgcj usr/bin /usr/share/man/man1 usr/share/doc
	dh_link -pgcj \
	  /usr/share/doc/cpp /usr/share/doc/gcj \
	  /usr/bin/gjnih-$(PV_GCJ) /usr/bin/gjnih \
	  /usr/bin/gcj-$(PV_GCJ) /usr/bin/gcj \
	  /usr/bin/gcjh-$(PV_GCJ) /usr/bin/gcjh \
	  /usr/bin/jv-convert-$(PV_GCJ) /usr/bin/jv-convert \
	  /usr/bin/jv-scan-$(PV_GCJ) /usr/bin/jv-scan \
	  /usr/bin/jcf-dump-$(PV_GCJ) /usr/bin/jcf-dump \
	  /usr/share/man/man1/gjnih-$(PV_GCJ).1.gz /usr/share/man/man1/gjnih.1.gz \
	  /usr/share/man/man1/gcj-$(PV_GCJ).1.gz /usr/share/man/man1/gcj.1.gz \
	  /usr/share/man/man1/gcjh-$(PV_GCJ).1.gz /usr/share/man/man1/gcjh.1.gz \
	  /usr/share/man/man1/jv-convert-$(PV_GCJ).1.gz /usr/share/man/man1/jv-convert.1.gz \
	  /usr/share/man/man1/jv-scan-$(PV_GCJ).1.gz /usr/share/man/man1/jv-scan.1.gz \
	  /usr/share/man/man1/jcf-dump-$(PV_GCJ).1.gz /usr/share/man/man1/jcf-dump.1.gz \
	  /usr/bin/gcj-wrapper-$(PV_GCJ) /usr/bin/gcj-wrapper \
	  /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
	  
	  #/usr/bin/gcj-$(PV_GCJ) /usr/bin/$(DEB_HOST_GNU_TYPE)-gcj
	  #/usr/share/man/man1/gcj-$(PV_GCJ).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gcj.1.gz

	: # libgcj-dev
	dh_installdirs -plibgcj-dev usr/bin /usr/share/man/man1 usr/share/doc

	: # gij
	dh_installdirs -pgij usr/bin /usr/share/man/man1 usr/share/doc
	dh_link -pgij \
	  /usr/share/doc/cpp /usr/share/doc/gij \
	  /usr/bin/gij-$(PV_GIJ) /usr/bin/gij \
	  /usr/share/man/man1/gij-$(PV_GIJ).1.gz /usr/share/man/man1/gij.1.gz \
	  /usr/bin/gij-wrapper-$(PV_GIJ) /usr/bin/gij-wrapper \
	  /usr/share/man/man1/gij-wrapper-$(PV_GIJ).1.gz /usr/share/man/man1/gij-wrapper.1.gz
endif

ifeq (pascal, $(findstring pascal, $(packages)))
	: # gpc
	dh_installdirs -pgpc usr/bin /usr/share/man/man1 usr/share/doc
	dh_link -pgpc \
	  /usr/share/doc/cpp /usr/share/doc/gpc \
	  /usr/bin/gpc-$(PV_GPC) /usr/bin/gpc \
	  /usr/share/man/man1/gpc-$(PV_GPC).1.gz /usr/share/man/man1/gpc.1.gz \
	  /usr/bin/gpc-run-$(PV_GPC) /usr/bin/gpc-run \
	  /usr/share/man/man1/gpc-run-$(PV_GPC).1.gz /usr/share/man/man1/gpc-run.1.gz \
	  /usr/bin/binobj-$(PV_GPC) /usr/bin/binobj \
	  /usr/share/man/man1/binobj-$(PV_GPC).1.gz /usr/share/man/man1/binobj.1.gz \
	  /usr/bin/gpidump-$(PV_GPC) /usr/bin/gpidump \
	  /usr/share/man/man1/gpidump-$(PV_GPC).1.gz /usr/share/man/man1/gpidump.1.gz

	: # gpc-doc
	dh_installdirs -pgpc-doc \
		usr/share/doc usr/share/info
	dh_link -pgpc-doc \
	  /usr/share/doc/gpc-$(PV_GPC)-doc /usr/share/doc/gpc-doc \
	  /usr/share/info/gpc-$(PV_GPC).info.gz /usr/share/info/gpc.info.gz \
	  /usr/share/info/gpcs-$(PV_GPC).info.gz /usr/share/info/gpcs.info.gz \
	  /usr/share/info/gpcs-de-$(PV_GPC).info.gz /usr/share/info/gpcs-de.info.gz \
	  /usr/share/info/gpcs-hu-$(PV_GPC).info.gz /usr/share/info/gpcs-hu.info.gz
endif

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

binary-indep: build install
	: # Nothing needs to be done

binary-arch: build install
	dh_testdir
	dh_testroot
#	dh_installdebconf
	dh_installdocs -pcpp
	for p in `dh_listpackages $(nopkgs) -Ncpp -Ncpp-doc -Ngcc-doc -Ngpc-doc -Ng77-doc -Ngfortran-doc`; do \
	  echo ln -sf cpp debian/$$p/usr/share/doc/$$p; \
	  rm -f debian/$$p/usr/share/doc/$$p; \
	  ln -sf cpp debian/$$p/usr/share/doc/$$p; \
	done
	dh_installchangelogs -pcpp
	mv debian/cpp/usr/share/doc/cpp/changelog \
		debian/cpp/usr/share/doc/cpp/changelog.Debian
	dh_compress $(nopkgs)
	dh_fixperms $(nopkgs)
	dh_installdeb $(nopkgs)
	dh_gencontrol -pcpp     -u-v$(EPOCH):$(CV_CPP)
	dh_gencontrol -pcpp-doc -u-v$(EPOCH):$(CV_CPP)
	dh_gencontrol -pgcc     -u-v$(EPOCH):$(CV_GCC)
	dh_gencontrol -pgcc-doc -u-v$(EPOCH):$(CV_GCC)
ifeq (c++, $(findstring c++, $(packages)))
	dh_gencontrol -pg++     -u-v$(EPOCH):$(CV_GPP)
endif
ifeq (objc, $(findstring objc, $(packages)))
	dh_gencontrol -pgobjc   -u-v$(EPOCH):$(CV_GOBJC)
endif
ifeq (f77, $(findstring f77, $(packages)))
	dh_gencontrol -pg77     -u-v$(EPOCH):$(CV_G77)
	dh_gencontrol -pg77-doc -u-v$(EPOCH):$(CV_G77)
endif
ifeq (fortran, $(findstring fortran, $(packages)))
	dh_gencontrol -pgfortran     -u-v$(CV_GFORT)
	dh_gencontrol -pgfortran-doc -u-v$(CV_GFORT)
endif
ifeq (pascal, $(findstring pascal, $(packages)))
	dh_gencontrol -pgpc     -u-v$(EPOCH):$(CV_GPC)
	dh_gencontrol -pgpc-doc -u-v$(EPOCH):$(CV_GPC)
endif
ifeq (java, $(findstring java, $(packages)))
	dh_gencontrol -pgcj   -u-v$(EPOCH):$(CV_GCJ)
	dh_gencontrol -plibgcj-dev   -u-v$(EPOCH):$(CV_GCJ)
	dh_gencontrol -pgij   -u-v$(EPOCH):$(CV_GIJ)
endif
ifeq (chill, $(findstring chill, $(packages)))
	dh_gencontrol -pchill -u-v$(EPOCH):$(CV_CHILL)
endif
	dh_md5sums $(nopkgs)
	dh_builddeb $(nopkgs)

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