#!/usr/bin/make -f

DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH)
OPTI_FLAGS_LIBONLY := -fomit-frame-pointer -falign-functions=0 -falign-jumps=0 -falign-loops=0
### PICCORO optimizer flags for i386 x86 machines
ifeq ($(DEB_HOST_ARCH),i386)
    OPTI_FLAGS_LIBONLY += -march=i586 -mmmx
else
ifeq ($(DEB_HOST_ARCH),i486)
    OPTI_FLAGS_LIBONLY += -march=i586 -mmmx
endif
endif

ifeq ($(DEB_HOST_ARCH),amd64)
    OPTI_FLAGS_LIBONLY += -mmmx -msse
endif

CFLAGS= -Os $(OPTI_FLAGS_LIBONLY)
LDFLAGS="-Wl,-z,defs"

DH_VERBOSE=1

LUA_V = 5.1
LUA_FULL_V = 5.1.5
SONUM = 0
LUA = lua$(LUA_V)

DEB_DESTDIR := $(shell pwd)/debian/tmp/usr
LIB_PACKAGE_NAME = lib$(LUA)-$(SONUM)

PKG_DIR = $(DEB_DESTDIR)/lib/pkgconfig
PKG_CONFIG_FILE = $(PKG_DIR)/$(LUA).pc
PKG_CONFIG_FILE_FBSD = $(PKG_DIR)/lua-5.1.pc
PKG_CONFIG_FILE_NODOT = $(PKG_DIR)/lua51.pc
PKGPP_CONFIG_FILE = $(PKG_DIR)/$(LUA)-c++.pc
PKGPP_CONFIG_FILE_FBSD = $(PKG_DIR)/lua-5.1-c++.pc
PKGPP_CONFIG_FILE_NODOT = $(PKG_DIR)/lua51-c++.pc
DOC_DIR = debian/$(LUA)-doc/usr/share/doc/$(LUA)-doc

ifeq (hurd,$(shell dpkg-architecture -qDEB_HOST_ARCH_OS))
	LDFLAGS=-lpthread
endif

%:
	dh $*

override_dh_auto_build:
	$(MAKE) debian_linux \
		RPATH=/usr/lib \
		LDFLAGS="$(LDFLAGS)"

override_dh_auto_install:
	$(MAKE) debian_install \
		INSTALL_TOP=$(DEB_DESTDIR) \
		INSTALL_MAN=$(DEB_DESTDIR)/share/man/man1 \
		INSTALL_INC=$(DEB_DESTDIR)/include/$(LUA)

override_dh_auto_clean:
	$(MAKE) debian_clean || true

override_dh_auto_test:
	$(MAKE) debian_test || true

override_dh_installdocs:
	dh_installdocs -X/man/ -A debian/README.Debian
ifneq (,$(filter lua5.1-doc, $(shell dh_listpackages)))
	chmod +x $(DOC_DIR)/examples/debian/script/hello
	mv $(DOC_DIR)/doc/readme.html $(DOC_DIR)/doc/index.html
endif

override_dh_install:
	mkdir -p $(PKG_DIR)
	echo "prefix=/usr" > $(PKG_CONFIG_FILE)
	echo "major_version=$(LUA_V)" >> $(PKG_CONFIG_FILE)
	echo "version=$(LUA_FULL_V)" >> $(PKG_CONFIG_FILE)
	echo "lib_name_include=lua$(LUA_V)" >> $(PKG_CONFIG_FILE)
	cat debian/lua.pc.in >> $(PKG_CONFIG_FILE)
	ln -s $(shell basename $(PKG_CONFIG_FILE)) $(PKG_CONFIG_FILE_FBSD)
	ln -s $(shell basename $(PKG_CONFIG_FILE)) $(PKG_CONFIG_FILE_NODOT)
	echo "prefix=/usr" > $(PKGPP_CONFIG_FILE)
	echo "major_version=$(LUA_V)" >> $(PKGPP_CONFIG_FILE)
	echo "version=$(LUA_FULL_V)" >> $(PKGPP_CONFIG_FILE)
	echo "lib_name_include=lua$(LUA_V)" >> $(PKGPP_CONFIG_FILE)
	cat debian/lua-c++.pc.in >> $(PKGPP_CONFIG_FILE)
	ln -s $(shell basename $(PKGPP_CONFIG_FILE)) $(PKGPP_CONFIG_FILE_FBSD)
	ln -s $(shell basename $(PKGPP_CONFIG_FILE)) $(PKGPP_CONFIG_FILE_NODOT)
	dh_install

override_dh_strip:
	dh_strip --dbg-package=$(LIB_PACKAGE_NAME)-dbg
