summaryrefslogtreecommitdiffstats
path: root/ubuntu/_base/tde-i18n/debian/rules
blob: 0a35582c181aaaa89ec04a1548162faff0c6b5ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#!/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_EXPORT_COMPILE_COMMANDS="ON" \
 -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): build
	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)