File: rules

package info (click to toggle)
mozc 2.29.5160.102%2Bdfsg-1.4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 171,272 kB
  • sloc: cpp: 202,931; python: 6,295; lisp: 2,183; pascal: 663; sh: 226; ansic: 135; yacc: 93; makefile: 82; xml: 17
file content (111 lines) | stat: -rwxr-xr-x 3,724 bytes parent folder | download
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
#!/usr/bin/make -f
# -*- makefile -*-
#

CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
CFLAGS:=$(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS)
CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS) $(CPPFLAGS)
LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) -Wl,--as-needed

# clear XDG_CONFIG_DIRS for qtchooser
unexport XDG_CONFIG_DIRS

TARGET_STATIC=gui/gui.gyp:mozc_tool
TARGETS=unix/ibus/ibus.gyp:ibus_mozc \
	unix/emacs/emacs.gyp:mozc_emacs_helper \
	server/server.gyp:mozc_server \
	renderer/renderer.gyp:mozc_renderer
TARGET_UIM=unix/uim/uim.gyp:uim-mozc
TARGET_FCITX=unix/fcitx/fcitx.gyp:fcitx-mozc
TARGET_FCITX5=unix/fcitx5/fcitx5.gyp:fcitx5-mozc

# for architecture dependent variables and changelog vars
vafilt = $(subst $(2)=,,$(filter $(2)=%,$(1)))
CHANGELOG_VARS := $(shell dpkg-parsechangelog | \
	sed -n 's/ /_/g;/^[^_]/s/^\([^:]*\):_\(.*\)/\1=\2/p')

SOURCE_VERSION := $(call vafilt,$(CHANGELOG_VARS),Version)

%:
	dh $@

override_dh_auto_configure:

override_dh_auto_build: build_dynamic_link build_static_link
build_static_link:
	cd src; \
	sed -i -e "s@-lprotobuf@/usr/lib/$(DEB_BUILD_MULTIARCH)/libprotobuf.a -latomic@g" protobuf/protobuf.gyp; \
	GYP_DEFINES="use_libprotobuf=1 use_libabseil=1" python3 build_mozc.py gyp \
		--gypdir=/usr/bin --target_platform=Linux --verbose ; \
	python3 build_mozc.py build $(TARGET_STATIC) -c Release ;\
	mv out_linux out_linux_static

build_dynamic_link:
	cd src ; \
	GYP_DEFINES="use_libprotobuf=1 use_libabseil=1" python3 build_mozc.py gyp \
		--gypdir=/usr/bin --target_platform=Linux --verbose ; \
	python3 build_mozc.py build $(TARGETS) --use_gyp_for_ibus_build -c Release
	cd src ; \
	python3 build_mozc.py build $(TARGET_FCITX) -c Release
	cd src ; \
	python3 build_mozc.py build $(TARGET_FCITX5) -c Release
	cd src ; \
	python3 build_mozc.py build $(TARGET_UIM) -c Release
	mv src/out_linux src/out_linux_dynamic

	for pofile in src/unix/fcitx5/po/*.po ; do \
		filename=`basename $$pofile`; \
		lang=`basename $$filename .po`; \
		mofile=`echo $$pofile | sed -e "s/\.po/\.mo/g"`; \
		msgfmt $$pofile -o $$mofile; \
	done

	msgfmt --xml -d src/unix/fcitx5/po/ \
		--template src/unix/fcitx5/org.fcitx.Fcitx5.Addon.Mozc.metainfo.xml.in \
		-o src/unix/fcitx5/org.fcitx.Fcitx5.Addon.Mozc.metainfo.xml

	# ibus-mozc
	sed -i -e 's|/usr/libexec/ibus-engine-mozc|/usr/lib/ibus-mozc/ibus-engine-mozc|' \
		-e 's|0\.0\.0\.0|$(SOURCE_VERSION)|g' \
		src/out_linux_dynamic/Release/gen/unix/ibus/mozc.xml

override_dh_auto_test:
	# cd src; python build_mozc.py runtests -c Debug

override_dh_auto_clean:
	cd src ; \
	python3 build_mozc.py clean
	-find src -name "*.pyc" | xargs rm -rf
	-rm -rf src/chrome/skk/skk_util_all_test.target.mk
	-rm -rf src/chrome/skk/skk_util_test.target.mk

	-rm -f src/unix/fcitx5/org.fcitx.Fcitx5.Addon.Mozc.metainfo.xml
	# Fix source after successful build (dpkg-buildpackage -b && dpkg-buildpackage -S)
	-rm -rf src/out_linux*
	dh_auto_clean

override_dh_auto_install:
	mv src/out_linux_dynamic src/out_linux
	# mozc-utils-gui
	desktop-file-install --dir=$(CURDIR)/debian/mozc-utils-gui/usr/share/applications \
		$(CURDIR)/debian/setup-mozc.desktop
	desktop-file-install --dir=$(CURDIR)/debian/mozc-utils-gui/usr/share/applications \
		$(CURDIR)/debian/ibus-setup-mozc-jp.desktop

override_dh_fixperms-arch:
	chmod -x debian/emacs-mozc/usr/share/emacs/site-lisp/emacs-mozc/mozc.el
	dh_fixperms

override_dh_fixperms-indep:
	chmod -x debian/mozc-data/usr/share/icons/mozc/*.png
	dh_fixperms

.PHONY: override_dh_installemacsen
override_dh_installemacsen:
	dh_installemacsen --priority=50

override_dh_builddeb:
	if dpkg-vendor --is ubuntu; then \
		sed -i 's/^Recommends/Suggests/' debian/ibus-mozc/DEBIAN/control; \
	fi
	dh_builddeb