1include ../config.mak
2
3SRC_DIR       = ../src
4IM_CLIENT_DIR = $(SRC_DIR)/im-client
5
6.SUFFIXES: .kbmsrc .kbm .cin .gtab
7CFLAGS+= $(OPTFLAGS) $(GTKINC) \
8		-DGDK_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED \
9		-DGTK_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_DEPRECATED \
10		-DG_DISABLE_SINGLE_INCLUDES \
11		-DGSEAL_ENABLE \
12		-I$(SRC_DIR) \
13		-I../src/IMdkit/include -I../src/im-client
14
15export HIME_NO_RELOAD=
16
17GTAB_DATA = ar30-big.gtab \
18	ar30.gtab \
19	array40.gtab \
20	cj-punc.gtab \
21	cj.gtab \
22	cj5.gtab \
23	cj543.gtab \
24	esperanto.gtab \
25	greek.gtab \
26	hangul-roman.gtab \
27	hangul.gtab \
28	jyutping.gtab \
29	latin-letters.gtab \
30	pinyin.gtab \
31	russian.gtab \
32	simplex-punc.gtab \
33	simplex.gtab \
34	symbols.gtab \
35	vims.gtab
36
37KBM_DATA = colemak.kbm \
38	dvorak.kbm \
39	et.kbm \
40	et26.kbm \
41	hsu.kbm \
42	ibm.kbm \
43	mitac.kbm \
44	pinyin-no-tone.kbm \
45	pinyin.kbm \
46	zo.kbm
47
48ifeq ($(INSTALL_DFSG_INCOMPATIBLE),Y)
49GTAB_DATA += dayi3.gtab
50endif
51
52DATA = $(GTAB_DATA) $(KBM_DATA) \
53	tsin32 \
54	tsin32.idx \
55	s-tsin32 \
56	s-tsin32.idx \
57	pho.tab2 \
58	s-pho.tab2 \
59	pho-huge.tab2 \
60	s-pho-huge.tab2 \
61	s2t.dat \
62	t2s.dat \
63	pin-juyin.xlt \
64	tsin-1.src \
65	gtab.list
66
67DATAKEEP = symbol-table phrase.table phrase-ctrl.table
68
69PHO_A2D    = $(SRC_DIR)/hime-phoa2d
70TS_A2D     = $(SRC_DIR)/hime-tsa2d32
71CIN2GTAB   = $(SRC_DIR)/hime-cin2gtab
72KBMCV      = $(SRC_DIR)/kbmcv
73PIN_JUYIN  = $(SRC_DIR)/pin-juyin
74
75ifeq ($(USE_TSIN),Y)
76REMOVE_TSIN = keep_tsin
77endif
78
79ifeq ($(USE_TSIN),N)
80REMOVE_TSIN = remove_tsin
81endif
82
83
84.PHONY: all
85all: $(DATA)
86
87$(PHO_A2D):
88	$(MAKE) -C $(SRC_DIR) hime-phoa2d
89
90$(TS_A2D):
91	$(MAKE) -C $(SRC_DIR) hime-tsa2d32
92
93$(CIN2GTAB):
94	$(MAKE) -C $(SRC_DIR) hime-cin2gtab
95
96$(KBMCV):
97	$(MAKE) -C $(SRC_DIR) kbmcv
98
99$(PIN_JUYIN):
100	$(MAKE) -C $(SRC_DIR) pin-juyin
101
102tsin32: tsin.src  $(TS_A2D)
103	export LD_LIBRARY_PATH=$(IM_CLIENT_DIR); $(TS_A2D) $<
104tsin32.idx: tsin32
105
106
107s-tsin32: s-tsin.src  $(TS_A2D)
108	export LD_LIBRARY_PATH=$(IM_CLIENT_DIR); $(TS_A2D) $< $@
109s-tsin32.idx: s-tsin32
110
111
112pho.tab2: pho.tab2.src $(PHO_A2D)
113	export LD_LIBRARY_PATH=$(IM_CLIENT_DIR); $(PHO_A2D) $<
114
115s-pho.tab2: s-pho.tab2.src $(PHO_A2D)
116	export LD_LIBRARY_PATH=$(IM_CLIENT_DIR); $(PHO_A2D) $<
117
118pho-huge.tab2: pho-huge.tab2.src $(PHO_A2D)
119	export LD_LIBRARY_PATH=$(IM_CLIENT_DIR); $(PHO_A2D) $<
120
121s-pho-huge.tab2: s-pho-huge.tab2.src $(PHO_A2D)
122	export LD_LIBRARY_PATH=$(IM_CLIENT_DIR); $(PHO_A2D) $<
123
124t2s.dat: t2s-file t2s-file.table
125	./t2s-file
126s2t.dat: t2s-file
127
128pin-juyin.xlt: $(PIN_JUYIN) pin-juyin.src
129	$(PIN_JUYIN)
130
131extr1: extr1.c $(SRC_DIR)/util.o $(SRC_DIR)/locale.o
132	@echo "building $@ ..."
133	$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
134
135t2s-file: t2s-file.c $(SRC_DIR)/util.o $(SRC_DIR)/locale.o
136	@echo "building $@ ..."
137	$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
138
139tsin-1.src: extr1
140	./extr1 > $@
141
142.cin.gtab: $(CIN2GTAB)
143	$(CIN2GTAB) $<
144
145.kbmsrc.kbm: $(KBMCV)
146	$(KBMCV) $<
147
148keep_tsin: gtab.list.in
149	cp gtab.list.in gtab.list
150
151remove_tsin: gtab.list.in
152	grep -v TSIN gtab.list.in > gtab.list
153
154gtab.list: $(REMOVE_TSIN)
155	touch gtab.list
156
157.PHONY: install
158install:
159	install -d "$(HIME_TABLE_DIR)"
160	install -m 644 $(DATA) $(DATAKEEP) "$(HIME_TABLE_DIR)"
161
162.PHONY: uninstall
163uninstall:
164	cd $(HIME_TABLE_DIR) && rm -f $(DATA) $(DATAKEEP)
165	rmdir --ignore-fail-on-non-empty $(HIME_TABLE_DIR)
166
167.PHONY: clean
168clean:
169	@echo "clean up"
170	@rm -f *~ tags core.* $(DATA) *.gtab extr1 t2s-file tsin-1.src tsin-gtabidx* tsin-ch-idx gtab.list
171