#!/usr/bin/make -f

-include vsn.mk

export HOME := $(CURDIR)/debian
DIR := debian/wings3d
LIBDIR := /usr/lib/erlang/lib/wings-$(WINGS_VSN)
LINTIANDIR := /usr/share/lintian/overrides
SUBDIRS := ebin plugins priv shaders textures

%:
	dh $@

vsn.mk:
	$(MAKE) vsn.mk

override_dh_clean:
	rm -rf plugins/accel
	rm -rf plugins/jpeg
	find plugins -name '*.lang' -exec rm -f \{\} \;
	rm -f ebin/*.lang
	rm -f src/wings_en.lang
	rm -f plugins_src/autouv/autouv_en.lang
	rm -rf wings-$(WINGS_VSN)
	dh_clean vsn.mk erl_crash.dump '*.beam' '*.so'

FAKE_BUILD = $(CURDIR)/wings-$(WINGS_VSN)
export ERL_COMPILE_FLAGS := -pa $(FAKE_BUILD)/ebin

override_dh_auto_build:
	# HACK: build process can't find some include files because of naming
	# of the build directory wings3d-<vsn> instead of wings-<vsn>, so
	# create the desired directory inside the current one
	mkdir $(FAKE_BUILD)
	ln -s ../src $(FAKE_BUILD)/src
	ln -s ../e3d $(FAKE_BUILD)/e3d
	ln -s ../intl_tools $(FAKE_BUILD)/intl_tools
	ln -s ../ebin $(FAKE_BUILD)/ebin
	$(MAKE)
	$(MAKE) lang

override_dh_install:
	find .
	dh_install -XREADME $(SUBDIRS) $(LIBDIR)
	# Remove errant executable flags to please lintian
	find $(DIR)$(LIBDIR) -type f -exec chmod a-x \{\} \;
	# Remove the .gitignore
	find $(DIR) -name .gitignore -delete
	# prepare substvars file
	erlang-depends
	grep-status -s Version -PX erlang-esdl | \
	    sed -e's!^Version: \(.*\)-.*!erlang-esdl:Depends=erlang-esdl (>= \1)!' \
	    >> debian/wings3d.substvars

get-orig-source:
	wget -O wings3d_2.2.1.orig.tar.bz2 \
	    http://prdownloads.sourceforge.net/wings/wings-2.2.1.tar.bz2

.PHONY: override_dh_clean override_dh_auto_build override_dh_install get-orig-source
