#!/usr/bin/make -f
#export DH_VERBOSE=1

# Debian Policy 10.1
CPP = /usr/bin/g++
INSTALL = install -s

# Get rid of hardening-no-fortify warning by lintian
CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS)
LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)

%:
	dh $@ --with autotools_dev

override_dh_auto_clean:
	#dh_autoreconf_clean --sourcedirectory=jasper-1.900.1-6ct
	(cd jasper-1.900.1-6ct && ($(MAKE) distclean || echo "Already clean"))
	(cd jpeg-6c && ($(MAKE) distclean || echo "Already clean"))

override_dh_clean:
	-rm dgate-*
	-rm dgate.1
	-rm debian/conquest-{mysql,postgres,dbase,sqlite}.{manpages,lintian-overrides,postrm,postinst,dgate.init}
	# autoreconf ?
	dh_clean jasper-1.900.1-6ct/config.log
	dh_clean jasper-1.900.1-6ct/config.status
	dh_clean jpeg-6c/config.log
	dh_clean jpeg-6c/config.status

override_dh_auto_configure:
	# see bug #673254
	#dh_autoreconf --sourcedirectory=jasper-1.900.1-6ct -- -i --force
	(cd jasper-1.900.1-6ct && autoreconf -i --force)
	dh_auto_configure --sourcedirectory=jasper-1.900.1-6ct -- --disable-libjpeg
	dh_auto_configure --sourcedirectory=jpeg-6c
	./debian/replicate-common-files

override_dh_auto_build: dgate.1

override_dh_compress:
	# Avoid compressing PDF files
	dh_compress -X.pdf -X.lua -X.cq -Xsop -Xini

override_dh_installinit:
	# Install a common initscript
	dh_installinit --name=dgate

get-orig-source:
	./debian/get-orig-source

jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a:
	$(MAKE) -C jasper-1.900.1-6ct

jpeg-6c/libjpeg.a:
	$(MAKE) -C jpeg-6c

dgate-sqlite: jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a
	$(CPP) $(CPPFLAGS) $(CXXFLAGS) -Ijasper-1.900.1-6ct/src/libjasper/include -Ijpeg-6c -I/usr/include/lua5.1 -DUNIX -DNATIVE_ENDIAN=1 -DHAVE_LIBJASPER -DHAVE_LIBJPEG -DUSESQLITE -Wno-write-strings total.cpp -o dgate-sqlite -lpthread -llua5.1 -lsqlite3 jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a -Wno-multichar $(LDFLAGS)

dgate-dbase: jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a
	$(CPP) $(CPPFLAGS) $(CXXFLAGS) -Ijasper-1.900.1-6ct/src/libjasper/include -Ijpeg-6c -I/usr/include/lua5.1 -DUNIX -DNATIVE_ENDIAN=1 -DHAVE_LIBJASPER -DHAVE_LIBJPEG -Wno-write-strings total.cpp -o dgate-dbase -lpthread -llua5.1 jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a -Wno-multichar $(LDFLAGS)

dgate-postgres: jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a
	$(CPP) $(CPPFLAGS) $(CXXFLAGS) -Ijasper-1.900.1-6ct/src/libjasper/include -Ijpeg-6c -I/usr/include/lua5.1 -I/usr/include/postgresql -DUNIX -DNATIVE_ENDIAN=1 -DHAVE_LIBJASPER -DHAVE_LIBJPEG -DPOSTGRES -Wno-write-strings total.cpp -o dgate-postgres -lpthread -llua5.1 -lpq jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a -Wno-multichar $(LDFLAGS)

dgate-mysql: jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a
	$(CPP) $(CPPFLAGS) $(CXXFLAGS) -Ijasper-1.900.1-6ct/src/libjasper/include -Ijpeg-6c -I/usr/include/lua5.1 -I/usr/include/mysql -DUNIX -DNATIVE_ENDIAN=1 -DHAVE_LIBJASPER -DHAVE_LIBJPEG -DUSEMYSQL -Wno-write-strings total.cpp -o dgate-mysql -lpthread -llua5.1 -lmysqlclient jpeg-6c/libjpeg.a jasper-1.900.1-6ct/src/libjasper/.libs/libjasper.a -Wno-multichar $(LDFLAGS)

dgate.1: dgate-sqlite dgate-mysql dgate-postgres dgate-dbase
	./debian/make-manpage
