#!/usr/bin/make -f
export DEB_BUILD_OPTIONS=nocheck
arch=$(shell gcc -print-multiarch)
ruby_ver=$(shell ruby --version)
ruby_arch_dir=$(shell ruby -r rbconfig -e "print RbConfig::CONFIG['archdir']")
ruby_libdir=$(shell ruby -r rbconfig -e "print RbConfig::CONFIG['rubylibdir']")
rockruby_archdir=$(subst /usr,,$(ruby_arch_dir))
rockruby_libdir=$(subst /usr,,$(ruby_libdir))

master2001_install_dir = /opt/rock/master-20.01
env_setup =  PATH=$(master2001_install_dir)/bin:$(PATH)
env_setup += HOME=/home/ 
env_setup += RUBYLIB=$(master2001_install_dir)/$(rockruby_libdir):$(master2001_install_dir)/$(rockruby_archdir):$(master2001_install_dir)/lib/ruby/vendor_ruby/standard:$(master2001_install_dir)/lib/ruby/vendor_ruby/core:$(master2001_install_dir)/lib/ruby/vendor_ruby:$(RUBYLIB)
env_setup += PKG_CONFIG_PATH=$(master2001_install_dir)/lib/pkgconfig:$(master2001_install_dir)/lib/$(arch)/pkgconfig:/usr/share/pkgconfig:/usr/lib/$(arch)/pkgconfig:$(PKG_CONFIG_PATH)
env_setup += Rock_DIR=$(master2001_install_dir)/share/rock/cmake:$(Rock_DIR)
env_setup += LD_LIBRARY_PATH=$(master2001_install_dir)/lib:$(master2001_install_dir)/lib/$(arch):$(LD_LIBRARY_PATH)
env_setup += CMAKE_PREFIX_PATH=$(master2001_install_dir):$(CMAKE_PREFIX_PATH)
env_setup += OROGEN_PLUGIN_PATH=$(master2001_install_dir)/share/orogen/plugins:$(OROGEN_PLUGIN_PATH)
export TYPELIB_CXX_LOADER=castxml
export DEB_CPPFLAGS_APPEND=-std=c++11
export npm_config_cache=/tmp/npm
rock_library_dirs=$(master2001_install_dir)/lib:$(master2001_install_dir)/lib/$(arch):
rock_install_dir=/opt/rock/master-20.01
env_setup += RUBY_CMAKE_INSTALL_PREFIX=debian/rock-master-20.01-ruby-qtbindings/opt/rock/master-20.01
#export DH_VERBOSE=1
#
# Uncomment to ignore all test failures (but the tests will run anyway)
export DH_RUBY_IGNORE_TESTS=all
#
# Uncomment to ignore some test failures (but the tests will run anyway).
# Valid values:
#export DH_RUBY_IGNORE_TESTS=ruby1.9.1 ruby2.0 require-rubygems
#
# If you need to specify the .gemspec (eg there is more than one)
#export DH_RUBY_GEMSPEC=gem.gemspec

rock_install_dir=/opt/rock/master-20.01
check_ruby_versions = 2.0 2.1 2.2 2.3 2.4 2.5

# Link directories for Qt from ruby/<short-version-name> to lib/.../ruby/<long-version-name>
# param: long_version_name short_version_name
define rock_create_ruby_version_link
        echo "Link ruby directories: $(2) --> $(1)\n"
	$(shell mkdir -p $(rock_install_dir)/lib/ruby/$(1))
	dh_link $(rock_install_dir)/lib/x86_64-linux-gnu/ruby/$(1) $(rock_install_dir)/lib/x86_64-linux-gnu/ruby/$(2)
	dh_link $(rock_install_dir)/lib/ruby/$(1) $(rock_install_dir)/ruby/$(2)
	dh_link $(rock_install_dir)/lib/arm-linux-gnueabi/ruby/$(1) $(rock_install_dir)/lib/arm-linux-gnueabi/ruby/$(2)
	echo "\n"
endef

%:
	$(env_setup) dh $@ --buildsystem=ruby --with ruby

override_dh_link:
	$(foreach rb_version,$(check_ruby_versions), $(if $(wildcard /usr/lib/ruby/$(rb_version).0),$(call rock_create_ruby_version_link,$(rb_version).0,$(rb_version)), @echo "Skipping dh_link for ruby version $(rb_version).0, which is not installed\n" ))

override_dh_shlibdeps:
	dh_shlibdeps -l$(shell pwd)/debian/ruby-qtbindings$(rock_install_dir)/lib/


override_dh_auto_install:
	dh_auto_install
	mkdir -p debian/rock-master-20.01-ruby-qtbindings/opt/rock/master-20.01/
	cp -R debian/rock-master-20.01-ruby-qtbindings/usr/* debian/rock-master-20.01-ruby-qtbindings/opt/rock/master-20.01/
	rm -rf debian/rock-master-20.01-ruby-qtbindings/usr/*
