#!/usr/bin/make -f

PROJECTS = bindings/java/lemmer
DEBIAN_DIR = $(shell echo `pwd`/$(lastword $(MAKEFILE_LIST)) | sed -r 's@^.*//@@; s@\./@@g; s@/rules$$@@')
ARCADIA_ROOT := $(shell cd ../../../..; pwd)
ARCADIA_TEST_DATA :=  $(ARCADIA_ROOT)/arcadia_tests_data
BUILD_ROOT := $(ARCADIA_ROOT)/release
VERSION := 1.0.0
DEST_ROOT := $(CURDIR)/debian/yandex-lemmer-jni-bindings

INSTALL = install
INSTALL_FILE    = $(INSTALL) -p    -o root -g root -m 644
INSTALL_PROGRAM = $(INSTALL) -p    -o root -g root -m 755
INSTALL_SCRIPT  = $(INSTALL) -p    -o root -g root -m 755
INSTALL_DIR     = $(INSTALL) -p -d -o root -g root -m 755

# Parse DEB_BUILD_OPTIONS
ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
  CMAKE_BUILD_TYPE=Debug
else
  CMAKE_BUILD_TYPE=Release
endif
ifeq (,$(filter nostrip,$(DEB_BUILD_OPTIONS)))
  INSTALL_PROGRAM += -s
endif
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
  MYMAKEFLAGS=-j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
else
   MYMAKEFLAGS=-j4
endif

debug:
	@echo Debian dir: $(DEBIAN_DIR)
	@echo Package version: $(VERSION)
	@echo Arcadia root: $(ARCADIA_ROOT)
	@echo Builds to: $(BUILD_ROOT)
	@echo Installs to: $(DEST_ROOT)

build: build-stamp

build-stamp:
	dh_testdir
	[ -d $(BUILD_ROOT) ] || mkdir $(BUILD_ROOT)
	cd $(BUILD_ROOT) && cmake -DCMAKE_BUILD_TYPE=$(CMAKE_BUILD_TYPE) -DMAKE_ONLY="$(PROJECTS)" ../arcadia
	cd $(BUILD_ROOT) && $(MAKE) $(MYMAKEFLAGS) -s
	touch $@


clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp
#  rm -rf $(BUILD_ROOT) - remain?
	rm -rf $(DEST_ROOT)
	dh_clean 


install: build
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs
	dh_installchangelogs
	mkdir -p $(DEST_ROOT)/usr/lib/yandex/lemmer-jni-bindings
	$(INSTALL_FILE) $(BUILD_ROOT)/lib/libjava-lemmer.so $(DEST_ROOT)/usr/lib/yandex/lemmer-jni-bindings/liblemmer_jni_bindings.so
	
binary-indep: build install


binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb


binary: binary-indep binary-arch


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