#!/usr/bin/make -f # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 I18N_DIR_PREFIX := tde-i18n I18N_DEST_PREFIX := $(I18N_DIR_PREFIX) I18N_DIR_PAT := $(I18N_DIR_PREFIX)-% I18N_DIRS := $(wildcard $(I18N_DIR_PREFIX)-*) # Stamps and support variables cur_lang = $(word 2,$(subst __, ,$@)) cur_lang_dir = $(patsubst %,$(I18N_DIR_PREFIX)-%,$(cur_lang)) cur_pkg = $(I18N_DEST_PREFIX)-$(cur_lang) STAMP_BUILD := $(patsubst $(I18N_DIR_PAT),debian/stamp__%__build,$(I18N_DIRS)) I18N_INSTALL := $(patsubst $(I18N_DIR_PAT),install__%,$(I18N_DIRS)) I18N_CLEAN := $(patsubst $(I18N_DIR_PAT),clean__%,$(I18N_DIRS)) DEB_CONFIGURE_INCLUDEDIR := /opt/trinity/include DEB_CONFIGURE_MANDIR := /opt/trinity/share/man DEB_CONFIGURE_PREFIX := /opt/trinity DEB_CONFIGURE_INFODIR := /opt/trinity/share/info DEB_BUILD_PARALLEL ?= true ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) DEB_PARALLEL_JOBS ?= $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) endif DEB_MAKE_PARALLEL ?= $(and $(DEB_BUILD_PARALLEL),$(DEB_PARALLEL_JOBS),-j$(DEB_PARALLEL_JOBS)) configkde=\ --disable-rpath \ --prefix=$(DEB_CONFIGURE_PREFIX) \ --sysconfdir=/etc \ --includedir=$(DEB_CONFIGURE_INCLUDEDIR) \ --infodir=$(DEB_CONFIGURE_INFODIR) \ --mandir=$(DEB_CONFIGURE_MANDIR) DEB_CMAKE_EXTRA_FLAGS := \ -DCMAKE_INSTALL_PREFIX="/opt/trinity" \ -DCONFIG_INSTALL_DIR="/etc/trinity" \ -DSYSCONF_INSTALL_DIR="/etc/trinity" \ -DXDG_MENU_INSTALL_DIR="/etc/xdg/menus" \ -DCMAKE_VERBOSE_MAKEFILE="ON" \ -DBUILD_ALL="ON" DEB_DH_BUILDDEB_ARGS += -- -Z$(shell dpkg-deb --help | grep -q ":.* xz[,.]" \ && echo xz || echo bzip2) build:: dh_testdir build:: $(STAMP_BUILD) $(STAMP_BUILD): # Building the '$(cur_lang)' language ... [ -d $(cur_lang_dir)/build ] || mkdir $(cur_lang_dir)/build if [ ! -e $(cur_lang_dir)/CMakeLists.txt ]; then \ ([ -e $(cur_lang_dir)/admin ] || ln -s ../admin $(cur_lang_dir)) && \ cd $(cur_lang_dir) && \ autoreconf && automake -f && \ $(MAKE) -f ../admin/Makefile.common && \ cd build && \ ../configure --build=build $(configkde) && \ $(MAKE) $(DEB_MAKE_PARALLEL); \ fi if [ -e $(cur_lang_dir)/CMakeLists.txt ]; then \ ([ -e $(cur_lang_dir)/cmake ] || ln -s ../cmake $(cur_lang_dir)) && \ cd $(cur_lang_dir)/build && \ cmake .. $(DEB_CMAKE_EXTRA_FLAGS) && \ $(MAKE) $(DEB_MAKE_PARALLEL); \ fi touch $@ install:: dh_testdir dh_testroot dh_clean -k install:: $(I18N_INSTALL) # copying the non 2 letter languages into the correct directory mkdir debian/$(I18N_DEST_PREFIX)-engb-trinity cp -aR debian/$(I18N_DEST_PREFIX)-en_GB-trinity/* debian/$(I18N_DEST_PREFIX)-engb-trinity/ mkdir debian/$(I18N_DEST_PREFIX)-ptbr-trinity cp -aR debian/$(I18N_DEST_PREFIX)-pt_BR-trinity/* debian/$(I18N_DEST_PREFIX)-ptbr-trinity/ mkdir debian/$(I18N_DEST_PREFIX)-srlatin-trinity cp -aR debian/$(I18N_DEST_PREFIX)-sr@Latn-trinity/* debian/$(I18N_DEST_PREFIX)-srlatin-trinity/ mkdir debian/$(I18N_DEST_PREFIX)-zhcn-trinity cp -aR debian/$(I18N_DEST_PREFIX)-zh_CN-trinity/* debian/$(I18N_DEST_PREFIX)-zhcn-trinity/ mkdir debian/$(I18N_DEST_PREFIX)-zhtw-trinity cp -aR debian/$(I18N_DEST_PREFIX)-zh_TW-trinity/* debian/$(I18N_DEST_PREFIX)-zhtw-trinity/ $(I18N_INSTALL): cd $(cur_lang_dir)/build && $(MAKE) install DESTDIR=$(CURDIR)/debian/$(cur_pkg)-trinity $(DEB_MAKE_PARALLEL) clean: $(I18N_CLEAN) debian-clean $(I18N_CLEAN): dh_testdir rm -rf $(cur_lang_dir)/build debian-clean: dh_testdir rm -rf debian/$(I18N_DEST_PREFIX)-* rm -f debian/stamp__* dh_clean binary-arch: build dh_testroot dh_testdir binary-indep: build install dh_testroot dh_testdir dh_installdocs dh_installmenu dh_installchangelogs dh_strip dh_compress -X.docbook -X.css -X-license -X.dcl -X.bz2 dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb $(DEB_DH_BUILDDEB_ARGS) # Below here is fairly generic really binary: binary-indep binary-arch .PHONY: binary binary-arch binary-indep clean build install $(I18N_INSTALL)