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

CFLAGS = -g -Wall -DGLOBAL_DEFAULTS_SUBDIR="\\\"GNUstep/Defaults\\\""

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

ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -DDEBUG
endif

# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
export DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
export DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
	HOSTSPEC := --build $(DEB_HOST_GNU_TYPE)
else
	HOSTSPEC := --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
endif

LINGUAS           := $(patsubst po/%.po, %, $(wildcard po/*.po))

WMAKER_OPTIONS := --disable-locale --enable-modelock --enable-xinerama $(HOSTSPEC)
#not-enabled      --enable-usermenu --disable-shape --disable-shm --enable-xrandr
#not-enabled      --disable-xpm --disable-png --disable-jpeg --disable-gif --disable-tiff

# Debian packages destination folders
DEBIAN_TMP        := debian/tmp
DEBDIR_FILES      := debian/debianfiles
LIBWRASTERDEV_TMP := debian/libwraster3-dev
LIBWINGSDEV_TMP   := debian/libwings-dev

# Be careful with the leading / because some of these values are going
# to be hardcoded into the executables
BASEDIR           := /usr
CONFDIR           := /etc
INCLUDEDIR        := $(BASEDIR)/include
SHAREDIR          := $(BASEDIR)/share
BINDIR            := $(BASEDIR)/bin
MANDIR            := $(SHAREDIR)/man
NLSDIR            := $(SHAREDIR)/locale
GNUSTEPDIR        := $(SHAREDIR)/lib/GNUstep/System
WMSHAREDIR        := $(SHAREDIR)/WindowMaker
PIXMAPDIR         := $(INCLUDEDIR)/X11/pixmaps
WPREFSAPPDIR      := $(GNUSTEPDIR)/Applications/WPrefs.app/WPrefs

COMMON_OPTIONS    := --prefix=$(BASEDIR)              \
                     --mandir=$(MANDIR)               \
                     --includedir=$(INCLUDEDIR)       \
                     --sysconfdir=$(CONFDIR)          \
                     --datadir=$(SHAREDIR)            \
                     --with-nlsdir=$(NLSDIR)          \
                     --with-pixmapdir=$(PIXMAPDIR)    \
                     --with-gnustepdir=$(GNUSTEPDIR)

%:
	dh $@ --parallel --with autotools-dev 

override_dh_auto_configure:
	./autogen.sh
	LINGUAS="$(LINGUAS)" ./configure $(COMMON_OPTIONS) \
	$(WMAKER_OPTIONS) CFLAGS="$(CFLAGS)"

override_dh_installmenu:
	dh_installmenu -a --noscripts

override_dh_install:
	# Fix perms for /usr/share/WindowMaker/*sh before install them
	chmod +x $(DEBIAN_TMP)$(WMSHAREDIR)/autostart.sh
	chmod +x $(DEBIAN_TMP)$(WMSHAREDIR)/exitscript.sh

	# Readmes - Copy+rename before install
	# We use the root of the temporal directory debian/tmp
	cp po/README $(DEBIAN_TMP)/README.po
	cp README.definable-cursor $(DEBIAN_TMP)/README.definable-cursor
	cp WPrefs.app/README $(DEBIAN_TMP)/README.WPrefs
	cp WPrefs.app/po/README $(DEBIAN_TMP)/README.WPrefs.po

	# Now, change the #wmdatadir# string to $(WMSHAREDIR)
	perl -pi -e 's:#wmdatadir#:$(WMSHAREDIR):' `find $(DEBIAN_TMP)/$(WMSHAREDIR) -name plmenu.*`
	perl -pi -e 's:#wmdatadir#:$(WMSHAREDIR):' $(DEBIAN_TMP)$(WMSHAREDIR)/wmmacros
	perl -pi -e 's:#wmdatadir#:$(WMSHAREDIR):' $(DEBIAN_TMP)$(WMSHAREDIR)/plmenu

	# Install files
	dh_install

	# Fix the get-*-flags scripts
	perl -pi -e '/^WCFLAGS/ && s:=.*:="-I/usr/X11R6/include":; /^WLFLAGS/ && s:=.*:="-L/usr/X11R6/lib":;' `find $(LIBWRASTERDEV_TMP) -name get-*-flags`
	perl -pi -e '/^WCFLAGS/ && s:=.*:="-I/usr/X11R6/include":; /^WLFLAGS/ && s:=.*:="-L/usr/X11R6/lib":;' `find $(LIBWINGSDEV_TMP) -name get-*-flags`
	perl -pi -e '/^WLIBS/ && s:=.*:="-lwraster":' `find $(LIBWRASTERDEV_TMP) -name get-wraster-flags`
	perl -pi -e '/^WLIBS/ && s:=.*:="-lWINGs -lwraster -lXft":' `find $(LIBWINGSDEV_TMP) -name get-wings-flags`
	perl -pi -e '/^WLIBS/ && s:=.*:="-lWUtil -lX11":' `find $(LIBWINGSDEV_TMP) -name get-wutil-flags`

override_dh_strip:
	dh_strip --dbg-package=wmaker-dbg
