#!/usr/bin/make -f
# debian/rules for the Debian xutils package.
# Copyright © 2004 Scott James Remnant <scott@netsplit.com>
# Copyright © 2005 Daniel Stone <daniel@fooishbar.org>
# Copyright © 2005 David Nusinow <dnusinow@debian.org>

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

# set this to the name of the main shlib's binary package
PACKAGE = xbase-clients

include debian/xsfbs/xsfbs.mk

# This package contains multiple modules as shipped by upstream. Each module is # contained in a subdirectory in the root dir of the package. You must list each
# subdirectory explicitly so that the build system knows what to build
DEF_SUBDIRS=appres beforelight bitmap editres fstobdf iceauth ico listres oclock smproxy viewres x11perf xauth xbiff xcalc xclipboard xclock xcmsdb xconsole xcursorgen xdbedizzy xditview xdpyinfo xdriinfo xedit xev xeyes xf86dga xfd xfontsel xgamma xgc xhost xinit xkill xload xlogo xlsatoms xlsclients xlsfonts xmag xman xmessage xmodmap xmore xprop xrandr xrdb xrefresh xsetmode xsetpointer xsetroot xset xsm xstdcmap xtrap xvidtune xvinfo xwd xwininfo xwud
XKB_SUBDIRS=setxkbmap xkbcomp xkbevd xkbprint xkbutils
SUBDIRS=$(DEF_SUBDIRS) $(XKB_SUBDIRS)

CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

DEB_HOST_ARCH      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
	confflags += --build=$(DEB_HOST_GNU_TYPE)
else
	confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
endif


build: genscripts patch build-stamp
build-stamp:
	dh_testdir
	for FILE in $(DEF_SUBDIRS); do \
		echo "$$FILE" ; \
		mkdir "$$FILE"-obj-$(DEB_BUILD_GNU_TYPE); \
		(cd "$$FILE"-obj-$(DEB_BUILD_GNU_TYPE) && \
		../"$$FILE"/configure --prefix=/usr --mandir=\$${prefix}/share/man \
		             --infodir=\$${prefix}/share/info $(confflags) \
		             --disable-xprint \
		             CFLAGS="$(CFLAGS)" \
			     MANCONF="/etc/manpath.config" && \
		$(MAKE)) || exit 1; \
	done

	for FILE in $(XKB_SUBDIRS); do \
		echo "$$FILE" ; \
		mkdir "$$FILE"-obj-$(DEB_BUILD_GNU_TYPE); \
		(cd "$$FILE"-obj-$(DEB_BUILD_GNU_TYPE) && \
		../"$$FILE"/configure --prefix=/usr --mandir=\$${prefix}/share/man \
		             --infodir=\$${prefix}/share/info $(confflags) \
		             CFLAGS="$(CFLAGS)" && \
		$(MAKE)) || exit 1; \
	done

	touch build-stamp

clean: xsfclean
	dh_testdir
	dh_testroot
	rm -f build-stamp

	rm -f config.cache config.log config.status
	rm -f */config.cache */config.log */config.status
	rm -f conftest* */conftest*
	rm -rf autom4te.cache */autom4te.cache
	rm -rf *-obj-*

	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	for FILE in $(SUBDIRS); do \
		cd "$$FILE"-obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install ; \
		cd ..; \
	done
	install -d debian/tmp/etc/X11/xinit
	install -m 755 debian/local/xserverrc debian/tmp/etc/X11/xinit

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot

	dh_installdocs
	dh_install --sourcedir=debian/tmp --list-missing
	dh_installchangelogs
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_makeshlibs
	dh_gencontrol
	dh_md5sums
	dh_builddeb

# Build architecture-independent files here.
binary-indep: build install
# Nothing to do

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