#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

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

ifeq ($(DEB_HOST_ARCH), amd64)
  _machine_type = "MACHINETYPE=x86_64"
  _cflags = "CFLAGS=-m64 -march=x86-64"
  _libsarch = libs64/intel
  b_lib_dir = lib/libs64/intel
else ifeq ($(DEB_HOST_ARCH), i386)
  _machine_type = "MACHINETYPE=i686"
  _cflags = "CFLAGS=-m32 -march=i686"
  _libsarch = libs32/intel
  b_lib_dir = lib/libs32/intel
else ifeq ($(DEB_HOST_ARCH), arm64)
  _cflags = "CFLAGS=-fsigned-char"
  _libsarch = libs64/arm
  b_lib_dir = lib/libs64/arm
  ifneq ($(DEB_HOST_ARCH), $(DEB_BUILD_ARCH))
    conf_option = "--host=aarch64-linux-gnu"
  endif
else ifeq ($(DEB_HOST_ARCH), mips64el)
  _libsarch = libs64/mips
  b_lib_dir = lib/libs64/mips
  ifneq ($(DEB_HOST_ARCH), $(DEB_BUILD_ARCH))
    conf_option = "--host=mips64el-linux-gnuabi64"
  endif
endif

common_dir = cnrdrvcups-common-$(VERSION)
driver_dir = cnrdrvcups-lips4-$(VERSION)
utility_dir = cnrdrvcups-utility-$(VERSION)
b_data_dir = lib/data
b_include_dir = $(_builddir)/include
_prefix = /usr
_libdir = /usr/lib
_bindir = /usr/bin
VERSION = 6.40


CFLAGS = -Wall -g

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif

configure: configure-stamp
configure-stamp:
	dh_testdir
	# Add here commands to configure the package.
	if [ -z $(nobuild) ] ; then \
		cd $(common_dir); \
		(cd buftool && ./autogen.sh $(_machine_type) $(_cflags) --prefix=$(_prefix) --libdir=$(_libdir) --enable-progpath=$(_bindir) --disable-shared --enable-static $(conf_option)); \
		(cd cngplp && ./autogen.sh  $(_machine_type) $(_cflags) --prefix=$(_prefix) --libdir=$(_libdir) COMMON_SUFFIX=l $(conf_option)); \
		(cd backend && ./autogen.sh $(_machine_type) $(_cflags) --prefix=$(_prefix) --libdir=$(_libdir) MODULE_SUFFIX=lips $(conf_option)); \
		cd .. ;\
		cd $(driver_dir) ;\
		(cd driver && ./autogen.sh $(_machine_type) $(_cflags) --prefix=$(_prefix) --libdir=$(_libdir) --enable-shared --disable-static $(conf_option)); \
		(cd cpca && ./autogen.sh $(_machine_type) $(_cflags) --prefix=$(_prefix) --libdir=$(_libdir)  --enable-progpath=$(_bindir) --disable-shared --enable-static $(conf_option)); \
		(cd cngplp && ./autogen.sh $(_machine_type) $(_cflags) --prefix=$(_prefix) --libdir=$(_libdir) $(conf_option)); \
		(cd cngplp/files && ./autogen.sh $(_machine_type) $(_cflags) $(conf_option)); \
		(cd pstolipscpca && ./autogen.sh $(_machine_type) $(_cflags) --prefix=$(_prefix) --libdir=$(_libdir) --enable-progpath=$(_bindir) $(conf_option)); \
		cd .. ;\
	fi
	touch configure-stamp


build: build-stamp

build-stamp: configure-stamp 
	dh_testdir

	# Add here commands to compile the package.
	if [ -z $(nobuild) ] ; then \
		cd $(common_dir); \
		cd buftool && $(MAKE); \
		cd .. ; \
		cp buftool/libbuftool.a ../$(b_lib_dir)/ ;\
		cp buftool/libbuftool.a ../lib/ ;\
		cp buftool/buftool.h ../$(b_include_dir)/ ;\
		cp buftool/buflist.h ../$(b_include_dir)/ ;\
		for d in cngplp backend; do \
			(cd $$d && $(MAKE)); \
		done; \
		cd .. ;\
		cd $(driver_dir) ;\
		$(MAKE); \
		cd .. ;\
	fi
	#docbook-to-man debian/cndrvcups-lips4.sgml > cndrvcups-lips4.1

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp

	# Add here commands to clean up after the build process.
	#from common
	-for d in buftool cngplp backend ; do \
		(cd $(common_dir)/$$d && $(MAKE) distclean); \
	done

	#-$(MAKE) clean
	-for d in driver pstolipscpca cpca cngplp; do \
		(cd $(driver_dir)/$$d && $(MAKE) distclean); \
	done

	dh_clean 

install: build
	dh_testdir
	dh_testroot
	dh_clean -k 
	dh_installdirs

	# Add here commands to install the package into debian/cndrvcups-lips4.
	#$(MAKE) install DESTDIR=$(CURDIR)/debian/cndrvcups-lips4
	if [ -d $(nobuild) ] ; then \
		for d in driver pstolipscpca cpca cngplp; do \
			(cd $(driver_dir)/$$d && $(MAKE) install DESTDIR=$(CURDIR)/debian/cnrdrvcups-lips4); \
		done \
	fi

	dh_install -s
	#from common
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/bin
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/lib
	
	if [ -z $(nobuild) ] ; then \
		mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/cups/backend; \
		mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/cups/filter; \
		install -c -m 755 $(common_dir)/cngplp/cnjatool/cnjatooll	$(CURDIR)/debian/cnrdrvcups-lips4/usr/bin; \
		install -c -m 755 $(common_dir)/cngplp/src/cngplpl			$(CURDIR)/debian/cnrdrvcups-lips4/usr/bin; \
		install -c -m 755 $(common_dir)/backend/cnusblips			$(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/cups/backend/; \
		install -c  $(driver_dir)/cngplp/.libs/libuictllipsr.so.1.0.0	$(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/; \
		ln -sf /usr/lib/libuictllipsr.so.1.0.0				$(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/libuictllipsr.so.1; \
		ln -sf /usr/lib/libuictllipsr.so.1.0.0				$(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/libuictllipsr.so; \
		install -c  $(driver_dir)/driver/.libs/libcanonlipsr.so.1.0.0	$(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/; \
		ln -sf /usr/lib/libcanonlipsr.so.1.0.0				$(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/libcanonlipsr.so.1; \
		ln -sf /usr/lib/libcanonlipsr.so.1.0.0				$(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/libcanonlipsr.so; \
	else \
		mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/cups/backend; \
		mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/cups/filter; \
		install -c -m 755 $(b_lib_dir)/cnjatooll			$(CURDIR)/debian/cnrdrvcups-lips4/usr/bin; \
		install -c -m 755 $(b_lib_dir)/cngplpl			$(CURDIR)/debian/cnrdrvcups-lips4/usr/bin; \
		install -c -m 755 $(b_lib_dir)/cnusblips			$(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/cups/backend/; \
		install -c -m 755 $(b_lib_dir)/pstolipscpcar	$(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/cups/filter/; \
		install -c  $(b_lib_dir)/libuictllipsr.so.1.0.0	$(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/; \
		ln -sf /usr/lib/libuictllipsr.so.1.0.0				$(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/libuictllipsr.so.1; \
		ln -sf /usr/lib/libuictllipsr.so.1.0.0				$(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/libuictllipsr.so; \
		install -c  $(b_lib_dir)/libcanonlipsr.so.1.0.0	$(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/; \
		ln -sf /usr/lib/libcanonlipsr.so.1.0.0				$(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/libcanonlipsr.so.1; \
		ln -sf /usr/lib/libcanonlipsr.so.1.0.0				$(CURDIR)/debian/cnrdrvcups-lips4/usr/lib/libcanonlipsr.so; \
	fi
	
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/cups/usb
	install -c -m 644 $(common_dir)/Rule/canon-laser-printer.usb-quirks    $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/cups/usb/canon-laser-printer_lips.usb-quirks

	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/lib
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/bin
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/cups/model

	install -c -m 644 $(driver_dir)/ppd/CNR*.ppd				$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/cups/model
	install -c -m 4755 $(b_lib_dir)/cnpkmodulelipsr	$(CURDIR)/debian/cnrdrvcups-lips4/usr/bin

	# from util
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/bin
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/ja/LC_MESSAGES/
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/de/LC_MESSAGES/
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/es/LC_MESSAGES/
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/fr/LC_MESSAGES/
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/it/LC_MESSAGES/
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/zh_CN/LC_MESSAGES/
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/ko/LC_MESSAGES/
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/zh_TW/LC_MESSAGES/
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/applications
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/cnsetuputill
	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/icons/hicolor/128x128/apps/

	install -c -m 644 $(utility_dir)/data/cngplpl.desktop               $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/applications
	install -c -m 644 $(utility_dir)/data/cngplp.png                    $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/icons/hicolor/128x128/apps/cngplpl.png  
	install -c -m 644 $(utility_dir)/data/cnsetuputill.desktop          $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/applications
	install -c -m 644 $(utility_dir)/data/cnsetuputil.png               $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/icons/hicolor/128x128/apps/cnsetuputill.png    
	install -c -m 644 $(utility_dir)/data/cnsetuputil.ui                $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/cnsetuputill
	install -c -m 755 $(b_lib_dir)/cnsetuputill                         $(CURDIR)/debian/cnrdrvcups-lips4/usr/bin
	install -c -m 644 $(b_lib_dir)/ja/LC_MESSAGES/cnsetuputill.mo		$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/ja/LC_MESSAGES
	install -c -m 644 $(b_lib_dir)/de/LC_MESSAGES/cnsetuputill.mo		$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/de/LC_MESSAGES
	install -c -m 644 $(b_lib_dir)/es/LC_MESSAGES/cnsetuputill.mo		$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/es/LC_MESSAGES
	install -c -m 644 $(b_lib_dir)/fr/LC_MESSAGES/cnsetuputill.mo		$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/fr/LC_MESSAGES
	install -c -m 644 $(b_lib_dir)/it/LC_MESSAGES/cnsetuputill.mo		$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/it/LC_MESSAGES
	install -c -m 644 $(b_lib_dir)/zh_CN/LC_MESSAGES/cnsetuputill.mo	$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/zh_CN/LC_MESSAGES
	install -c -m 644 $(b_lib_dir)/ko/LC_MESSAGES/cnsetuputill.mo		$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/ko/LC_MESSAGES
	install -c -m 644 $(b_lib_dir)/zh_TW/LC_MESSAGES/cnsetuputill.mo	$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/zh_TW/LC_MESSAGES

	mkdir -p $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/cngplpl/
	install -c -m 644 $(common_dir)/cngplp/src/cngplp.ui	         	$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/cngplpl/
	install -c -m 644 $(driver_dir)/cngplp/files/cngplp_lips.ui	        $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/cngplpl/
	install -c -m 644 $(driver_dir)/cngplp/files/func_config_lips.xml	$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/cngplpl/
	install -c -m 644 $(driver_dir)/cngplp/files/*.res	               	$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/cngplpl/

	if [ -z $(nobuild) ] ; then \
		install -c -m 644 $(common_dir)/cngplp/po/ja.gmo    $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/ja/LC_MESSAGES/cngplpl.mo; \
		install -c -m 644 $(common_dir)/cngplp/po/de.gmo    $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/de/LC_MESSAGES/cngplpl.mo; \
		install -c -m 644 $(common_dir)/cngplp/po/es.gmo    $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/es/LC_MESSAGES/cngplpl.mo; \
		install -c -m 644 $(common_dir)/cngplp/po/fr.gmo    $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/fr/LC_MESSAGES/cngplpl.mo; \
		install -c -m 644 $(common_dir)/cngplp/po/it.gmo    $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/it/LC_MESSAGES/cngplpl.mo; \
		install -c -m 644 $(common_dir)/cngplp/po/zh_CN.gmo $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/zh_CN/LC_MESSAGES/cngplpl.mo; \
		install -c -m 644 $(common_dir)/cngplp/po/ko.gmo    $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/ko/LC_MESSAGES/cngplpl.mo; \
		install -c -m 644 $(common_dir)/cngplp/po/zh_TW.gmo $(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/zh_TW/LC_MESSAGES/cngplpl.mo; \
	else \
		install -c -m 644 $(b_lib_dir)/ja/LC_MESSAGES/cngplpl.mo		$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/ja/LC_MESSAGES/; \
		install -c -m 644 $(b_lib_dir)/de/LC_MESSAGES/cngplpl.mo		$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/de/LC_MESSAGES/; \
		install -c -m 644 $(b_lib_dir)/es/LC_MESSAGES/cngplpl.mo		$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/es/LC_MESSAGES/; \
		install -c -m 644 $(b_lib_dir)/fr/LC_MESSAGES/cngplpl.mo		$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/fr/LC_MESSAGES/; \
		install -c -m 644 $(b_lib_dir)/it/LC_MESSAGES/cngplpl.mo		$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/it/LC_MESSAGES/; \
		install -c -m 644 $(b_lib_dir)/zh_CN/LC_MESSAGES/cngplpl.mo	$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/zh_CN/LC_MESSAGES/; \
		install -c -m 644 $(b_lib_dir)/ko/LC_MESSAGES/cngplpl.mo		$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/ko/LC_MESSAGES/; \
		install -c -m 644 $(b_lib_dir)/zh_TW/LC_MESSAGES/cngplpl.mo	$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/zh_TW/LC_MESSAGES/; \
		install -c -m 644 $(b_lib_dir)/ja/LC_MESSAGES/libuictllipsr.1.0.mo	$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/ja/LC_MESSAGES/; \
		install -c -m 644 $(b_lib_dir)/de/LC_MESSAGES/libuictllipsr.1.0.mo	$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/de/LC_MESSAGES/; \
		install -c -m 644 $(b_lib_dir)/es/LC_MESSAGES/libuictllipsr.1.0.mo	$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/es/LC_MESSAGES/; \
		install -c -m 644 $(b_lib_dir)/fr/LC_MESSAGES/libuictllipsr.1.0.mo	$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/fr/LC_MESSAGES/; \
		install -c -m 644 $(b_lib_dir)/it/LC_MESSAGES/libuictllipsr.1.0.mo	$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/it/LC_MESSAGES/; \
		install -c -m 644 $(b_lib_dir)/zh_CN/LC_MESSAGES/libuictllipsr.1.0.mo	$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/zh_CN/LC_MESSAGES/; \
		install -c -m 644 $(b_lib_dir)/ko/LC_MESSAGES/libuictllipsr.1.0.mo		$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/ko/LC_MESSAGES/; \
		install -c -m 644 $(b_lib_dir)/zh_TW/LC_MESSAGES/libuictllipsr.1.0.mo	$(CURDIR)/debian/cnrdrvcups-lips4/usr/share/locale/zh_TW/LC_MESSAGES/; \
	fi

	#others
	mkdir -p  $(CURDIR)/debian/cnrdrvcups-lips4/etc/cngplpl/account/
	chmod 777 $(CURDIR)/debian/cnrdrvcups-lips4/etc/cngplpl/account/
	mkdir -p  $(CURDIR)/debian/cnrdrvcups-lips4/etc/cngplpl/options/
	chmod 777 $(CURDIR)/debian/cnrdrvcups-lips4/etc/cngplpl/options/

# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs 
	dh_installdocs
	dh_installexamples
#	dh_install
#	dh_installmenu
#	dh_installdebconf	
#	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
#	dh_installinit
#	dh_installcron
#	dh_installinfo
	dh_installman
	dh_link
	dh_strip --no-automatic-dbgsym
	dh_compress
	dh_fixperms --exclude bin/cnpkmodulelipsr --exclude cngplpl/account --exclude cngplpl/options
#	dh_perl
#	dh_python
#	dh_makeshlibs
	dh_installdeb
#	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb -- -Zxz

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