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)
|