1
1
OPTFLAGS =-g
2
2
3
3
include config.mak
4
-
5
- .SUFFIXES : .c .o .E .pico .cpp
4
+ include suffixes-rule
6
5
7
6
gcin_tsin_o = tsin.o tsin-util.o win0.o win1.o tsin-parse.o
8
7
gcin_pho_o = win-pho.o pho.o pho-util.o pho-sym.o table-update.o pho-dbg.o
9
8
gcin_gtab_o = gtab.o win-gtab.o gtab-util.o gtab-list.o gtab-buf.o
10
9
11
10
GCIN_SO = gcin1.so gcin2.so
12
11
13
- OBJS =gcin.o eve.o util.o gcin-conf.o gcin-settings.o locale.o gcin-icon.o \
14
- gcin-switch.o gcin- exec-script.o $(GCIN_SO ) pho-play.o cache.o gtk_bug_fix.o \
12
+ OBJS =gcin.o eve.o util.o gcin-conf.o gcin-settings.o locale.o gcin-icon.o about.o html-browser.o \
13
+ gcin-exec-script.o $(GCIN_SO ) pho-play.o cache.o gtk_bug_fix.o phrase-save-menu .o \
15
14
$(gcin_pho_o ) $(gcin_gtab_o ) gcin-common.o phrase.o t2s-lookup.o gtab-use-count.o \
16
- win-save-phrase.o unix-exec.o pho-kbm-name.o statistic.o tsin-scan.o
15
+ win-save-phrase.o unix-exec.o pho-kbm-name.o statistic.o tsin-scan.o gcin-module.o lang.o \
16
+ gcin-module-cb.o gtab-init.o fullchar.o gtab-tsin-fname.o
17
17
18
18
OBJS_TSLEARN =tslearn.o util.o gcin-conf.o pho-util.o tsin-util.o gcin-send.o pho-sym.o \
19
- table-update.o locale.o gcin-settings.o gcin-common.o gcin-icon.o pho-dbg.o
20
- OBJS_JUYIN_LEARN =juyin-learn.o locale.o util.o pho-util.o pho-sym.o \
19
+ table-update.o locale.o gcin-settings.o gcin-common.o gcin-icon.o pho-dbg.o \
20
+ pho2pinyin.o pinyin.o lang.o gtab-list.o gtab-init.o fullchar.o \
21
+ gtab-tsin-fname.o unix-exec.o gtab-util.o
22
+
23
+ OBJS_TS_EDIT =ts-edit.o util.o gcin-conf.o pho-util.o tsin-util.o gcin-send.o pho-sym.o \
24
+ table-update.o locale.o gcin-settings.o gcin-common.o gcin-icon.o pho-dbg.o \
25
+ pho2pinyin.o pinyin.o lang.o gtab-list.o gtab-init.o fullchar.o \
26
+ gtab-tsin-fname.o unix-exec.o gtab-util.o
27
+
28
+ OBJS_JUYIN_LEARN =juyin-learn.o locale.o util.o pho-util.o pho-sym.o pho2pinyin.o \
21
29
gcin-settings.o gcin-conf.o table-update.o pinyin.o gcin-icon.o pho-dbg.o
22
30
OBJS_sim2trad =sim2trad.o util.o gcin2.so locale.o gcin-conf.o gcin-icon.o
23
31
OBJS_phod2a =phod2a.o pho-util.o gcin-conf.o pho-sym.o table-update.o pho-dbg.o locale.o \
24
32
gcin-settings.o util.o
25
- OBJS_tsa2d32 =tsa2d32.o gcin-send.o util.o pho-sym.o gcin-conf.o locale.o pho-lookup.o
26
- OBJS_phoa2d =phoa2d.o pho-sym.o gcin-send.o gcin-conf.o locale.o pho-lookup.o util.o
33
+ OBJS_tsa2d32 =tsa2d32.o gcin-send.o util.o pho-sym.o gcin-conf.o locale.o pho-lookup.o \
34
+ pinyin.o pho2pinyin.o pho-dbg.o
35
+ OBJS_phoa2d =phoa2d.o pho-sym.o gcin-send.o gcin-conf.o locale.o pho-lookup.o util.o pho-dbg.o
27
36
OBJS_kbmcv =kbmcv.o pho-sym.o util.o locale.o
28
- OBJS_tsd2a32 =tsd2a32.o pho-sym.o pho-dbg.o locale.o util.o gtab-dbg.o
37
+ OBJS_tsd2a32 =tsd2a32.o pho-sym.o pho-dbg.o locale.o util.o gtab-dbg.o pho2pinyin.o \
38
+ gcin-conf.o pinyin.o
29
39
OBJS_gcin2tab =gcin2tab.o gtab-util.o util.o locale.o
30
40
OBJS_gtab_merge =gtab-merge.o gtab-util.o util.o locale.o
31
- OBJS_gcin_steup =gcin-setup.o gcin-conf.o util.o gcin-send.o gcin-settings.o \
32
- gcin-setup-list.o gcin-switch.o locale.o gcin-setup-pho.o about.o \
33
- gcin-icon.o gcin-setup-gtab.o gtab-list.o gcin-exec-script.o pho-kbm-name.o
41
+ OBJS_gcin_tools =gcin-setup.o gcin-conf.o util.o gcin-send.o gcin-settings.o html-browser .o \
42
+ gcin-setup-list.o locale.o gcin-setup-pho.o about.o lang .o \
43
+ gcin-icon.o gcin-setup-gtab.o gtab-list.o gcin-exec-script.o pho-kbm-name.o gcin-module-cb.o
34
44
35
45
OBJS_gcin_gb_toggle = gcin-gb-toggle.o gcin-conf.o util.o gcin-send.o
36
46
OBJS_gcin_kbm_toggle = gcin-kbm-toggle.o gcin-conf.o util.o gcin-send.o
@@ -39,38 +49,21 @@ OBJS_gcin_message = gcin-message.o gcin-conf.o util.o gcin-send.o
39
49
OBJS_pin_juyin = pin-juyin.o util.o pho-lookup.o locale.o pho-sym.o
40
50
41
51
OBJS_tsin2gtab_phrase = tsin2gtab-phrase.o gcin-conf.o util.o locale.o \
42
- pho-dbg.o pho-sym.o gtab-dbg.o
52
+ pho-dbg.o pho-sym.o gtab-dbg.o lang.o
43
53
44
54
# WALL=-Wall
45
- CFLAGS = -DUNIX=1 $(WALL ) $(OPTFLAGS ) $(GTKINC ) -I./IMdkit/include -I./im-client -DDEBUG="0$(GCIN_DEBUG ) " \
46
- -DGCIN_TABLE_DIR=\"$(GCIN_TABLE_DIR ) \" \
47
- -DGCIN_OGG_DIR=\"$(GCIN_OGG_DIR ) \" \
48
- -DDOC_DIR=\"$(DOC_DIR ) \" \
49
- -DGCIN_ICON_DIR=\"$(GCIN_ICON_DIR ) \" \
50
- -DGCIN_SCRIPT_DIR=\"$(GCIN_SCRIPT_DIR ) \" -DGCIN_BIN_DIR=\"$(GCIN_BIN_DIR ) \" \
51
- -DSYS_ICON_DIR=\"$(SYS_ICON_DIR ) \" -DFREEBSD=$(FREEBSD ) -DMAC_OS=$(MAC_OS ) \
52
- -DG_DISABLE_SINGLE_INCLUDES -DG_DISABLE_DEPRECATED \
53
- -DGDK_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED \
54
- -DGTK_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_DEPRECATED
55
+
55
56
ifeq ($(USE_XIM ) ,Y)
56
57
IMdkitLIB = IMdkit/lib/libXimd.a
57
58
CFLAGS += -DUSE_XIM=1
58
59
OBJS+ =IC.o
59
60
endif
60
61
61
- ifeq ($(MAC_OS ) ,1)
62
- EXTRA_LDFLAGS =-bind_at_load
63
- endif
64
-
65
62
ifeq ($(USE_TRAY ) ,Y)
66
63
CFLAGS += -DTRAY_ENABLED=1
67
64
OBJS += tray.o eggtrayicon.o tray-win32.o
68
65
endif
69
66
70
- ifeq ($(USE_TRAY ) ,N)
71
- GCIN_SO += tray-win32.o
72
- endif
73
-
74
67
ifeq ($(USE_I18N ) ,Y)
75
68
CFLAGS += -DGCIN_i18n_message=1
76
69
endif
@@ -80,65 +73,46 @@ CFLAGS += -DUSE_TSIN=1
80
73
OBJS += $(gcin_tsin_o )
81
74
endif
82
75
83
- ifeq ($(USE_ANTHY ) ,Y)
84
- CFLAGS += -DUSE_ANTHY=1
85
- LDFLAGS += -ldl
86
- ifeq ($(USE_TSIN ) ,N)
87
- OBJS += $(gcin_tsin_o )
88
- endif
89
- endif
90
-
91
76
ifeq ($(USE_GCB ) ,Y)
92
77
CFLAGS += -DUSE_GCB=1
93
78
OBJS += gcb.o
94
79
endif
95
80
96
81
OBJ_IMSRV =im-addr.o im-dispatch.o im-srv.o gcin-crypt.o
97
82
98
- .c.E :
99
- $(CC ) $(CFLAGS ) -E -o $@ $<
100
-
101
- .cpp.E :
102
- $(CCX ) $(CFLAGS ) -E -o $@ $<
103
-
104
- .cpp.o :
105
- $(CCX ) $(CFLAGS ) -c $<
106
-
107
- .c.pico :
108
- $(CC ) $(CFLAGS ) -c -fpic -o $@ $<
109
- .cpp.pico :
110
- $(CCX ) $(CFLAGS ) -c -fpic -o $@ $<
111
-
112
- PROGS =gcin tsd2a32 tsa2d32 phoa2d phod2a tslearn gcin-setup gcin2tab \
83
+ PROGS =gcin tsd2a32 tsa2d32 phoa2d phod2a tslearn gcin-tools gcin2tab \
113
84
juyin-learn sim2trad gcin-gb-toggle gcin-message gtab-merge \
114
- gcin-kbm-toggle tsin2gtab-phrase gcin-exit
85
+ gcin-kbm-toggle tsin2gtab-phrase gcin-exit ts-edit
115
86
PROGS_SYM =trad2sim
116
87
PROGS_CV =kbmcv pin-juyin
117
88
118
- all : $(PROGS ) trad2sim $(DATA ) $(PROGS_CV ) gcin.spec
89
+
90
+ all : $(PROGS ) trad2sim $(GCIN_SO ) $(DATA ) $(PROGS_CV ) gcin.spec gcin-fedora.spec
119
91
$(MAKE ) -C data
120
92
$(MAKE ) -C gtk-im
121
- ifeq ($(USE_I18N ) ,Y)
122
- $(MAKE) -C po
123
- endif
93
+ if [ $( BUILD_MODULE) = ' Y' ]; then $( MAKE) -C modules; fi
94
+ if [ $( USE_I18N) = ' Y' ]; then $( MAKE) -C po; fi
124
95
if [ $( GTK3_IM) = ' Y' ]; then $( MAKE) -C gtk3-im; fi
125
96
if [ $( QT_IM) = ' Y' ]; then $( MAKE) -C qt-im; fi
126
97
if [ $( QT4_IM) = ' Y' ]; then $( MAKE) -C qt4-im; fi
127
98
128
99
# gcc_ld_run_path=-Wl,-rpath,$(gcin_ld_run_path)
129
100
130
101
gcin : $(OBJS ) $(IMdkitLIB ) $(OBJ_IMSRV )
131
- $(CCLD ) $(EXTRA_LDFLAGS ) $(gcc_ld_run_path ) -o $@ $(OBJS ) $(IMdkitLIB ) $(OBJ_IMSRV ) -lXtst $(LDFLAGS ) -L/usr/X11R6/lib
102
+ $(CCLD ) $(EXTRA_LDFLAGS ) $(gcc_ld_run_path ) -o $@ $(OBJS ) $(IMdkitLIB ) $(OBJ_IMSRV ) -lXtst $(LDFLAGS ) -L/usr/X11R6/$( LIB )
132
103
rm -f core.* vgcore.*
133
104
ln -sf $@ $@ .test
134
105
135
106
gcin-nocur : $(OBJS ) $(IMdkitLIB ) $(OBJ_IMSRV )
136
- $(CCLD ) -Wl,-rpath,$(gcinlibdir ) $(EXTRA_LDFLAGS ) -o $@ $(OBJS ) $(IMdkitLIB ) $(OBJ_IMSRV ) -lXtst $(LDFLAGS ) -L/usr/X11R6/lib
107
+ $(CCLD ) -Wl,-rpath,$(gcinlibdir ) $(EXTRA_LDFLAGS ) -o $@ $(OBJS ) $(IMdkitLIB ) $(OBJ_IMSRV ) -lXtst $(LDFLAGS ) -L/usr/X11R6/$( LIB )
137
108
rm -f core.*
138
109
139
110
tslearn : $(OBJS_TSLEARN )
140
111
$(CCLD ) $(gcc_ld_run_path ) -o $@ $(OBJS_TSLEARN ) -L./im-client -lgcin-im-client $(LDFLAGS )
141
112
113
+ ts-edit : $(OBJS_TS_EDIT )
114
+ $(CCLD ) $(gcc_ld_run_path ) -o $@ $(OBJS_TS_EDIT ) -L./im-client -lgcin-im-client $(LDFLAGS )
115
+
142
116
juyin-learn : $(OBJS_JUYIN_LEARN )
143
117
$(CCLD ) -o $@ $(OBJS_JUYIN_LEARN ) $(LDFLAGS )
144
118
rm -f core.*
@@ -148,9 +122,9 @@ sim2trad: $(OBJS_sim2trad)
148
122
trad2sim : sim2trad
149
123
ln -sf sim2trad trad2sim
150
124
151
- gcin-setup : $(OBJS_gcin_steup ) im-client/libgcin-im-client.so
125
+ gcin-tools : $(OBJS_gcin_tools ) im-client/libgcin-im-client.so
152
126
rm -f core.*
153
- $(CCLD ) $(gcc_ld_run_path ) -o $@ $(OBJS_gcin_steup ) -L./im-client -lgcin-im-client $(LDFLAGS )
127
+ $(CCLD ) $(gcc_ld_run_path ) -o $@ $(OBJS_gcin_tools ) -L./im-client -lgcin-im-client $(LDFLAGS )
154
128
155
129
phoa2d : $(OBJS_phoa2d ) im-client/libgcin-im-client.so
156
130
$(CCLD ) $(gcc_ld_run_path ) -o $@ $(OBJS_phoa2d ) -L./im-client -lgcin-im-client $(LDFLAGS )
@@ -201,12 +175,8 @@ im-client/libgcin-im-client.so:
201
175
gcin-version.h : VERSION.gcin
202
176
echo ' #define GCIN_VERSION "' ` cat VERSION.gcin` ' "' > gcin-version.h
203
177
204
- gcin1_so += intcode.pico win-int.pico win-message.pico win-sym.pico \
205
- win-inmd-switch.pico pinyin.pico win-pho-near.pico win-kbm.pico
206
-
207
- ifeq ($(USE_ANTHY ) ,Y)
208
- gcin1_so += anthy.pico
209
- endif
178
+ gcin1_so += win-message.pico win-sym.pico \
179
+ win-inmd-switch.pico pinyin.pico win-pho-near.pico win-kbm.pico gcin-module.pico pho2pinyin.pico
210
180
211
181
gcin1.so : $(gcin1_so ) pho.o tsin.o eve.o gtab.o win-sym.o
212
182
$(CCLD ) $(SO_FLAGS ) -o $@ $(gcin1_so ) $(LDFLAGS )
@@ -215,22 +185,6 @@ gcin2_so= t2s-lookup.pico
215
185
gcin2.so : $(gcin2_so ) gcin-conf.o
216
186
$(CCLD ) $(SO_FLAGS ) -o $@ $(gcin2_so ) $(LDFLAGS )
217
187
218
- # gtk_bug_fix.so: gtk_bug_fix.pico
219
- # $(CC) $(SO_FLAGS) -o $@ gtk_bug_fix.pico
220
-
221
- # ## making the following as .so actuall makes the RSS larger
222
- gcin_gtab_so = gtab.pico win-gtab.pico gtab-util.pico
223
- gcin-gtab.so : $(gcin_gtab_so )
224
- $(CC ) $(SO_FLAGS ) -o $@ $(gcin_gtab_so ) $(LDFLAGS )
225
-
226
- gcin_tsin_so = tsin.pico tsin-util.pico win0.pico win1.pico win-pho-near.pico tsin-parse.pico
227
- gcin-tsin.so : $(gcin_tsin_so )
228
- $(CCLD ) -shared -o $@ $(gcin_tsin_so ) $(LDFLAGS )
229
-
230
- gcin_pho_so =win-pho.pico pho.pico pho-util.pico pho-sym.pico table-update.pico pho-dbg.pico
231
- gcin-pho.so : $(gcin_pho_so )
232
- $(CC ) -shared -fPIC -o $@ $(gcin_pho_so ) $(LDFLAGS )
233
-
234
188
$(IMdkitLIB ) :
235
189
$(MAKE ) -C IMdkit/lib
236
190
@@ -250,6 +204,7 @@ install:
250
204
$(MAKE ) -C data install
251
205
$(MAKE ) -C im-client install
252
206
$(MAKE ) -C gtk-im install
207
+ if [ $( BUILD_MODULE) = ' Y' ]; then $( MAKE) -C modules install; fi
253
208
if [ $( GTK3_IM) = ' Y' ]; then $( MAKE) -C gtk3-im install; fi
254
209
if [ $( QT_IM) = ' Y' ]; then $( MAKE) -C qt-im install; fi
255
210
if [ $( QT4_IM) = ' Y' ]; then $( MAKE) -C qt4-im install; fi
@@ -267,22 +222,18 @@ install:
267
222
fi
268
223
$(MAKE ) -C scripts install
269
224
$(MAKE ) -C menu install
270
- $(MAKE ) -C man install
271
- ifeq ($(USE_I18N ) ,Y)
272
- $(MAKE) -C po install
273
- endif
225
+ if [ $( USE_I18N) = ' Y' ]; then $( MAKE) -C po install; fi
226
+
274
227
clean :
275
228
$(MAKE ) -C IMdkit clean
276
229
$(MAKE ) -C data clean
277
230
$(MAKE ) -C scripts clean
278
231
$(MAKE ) -C im-client clean
279
232
$(MAKE ) -C gtk-im clean
280
- ifeq ($(GTK3_IM ) , Y)
281
- $(MAKE) -C gtk3-im clean
282
- endif
233
+ $(MAKE ) -C modules clean
234
+ if [ $( GTK3_IM) = ' Y' ]; then $( MAKE) -C gtk3-im clean; fi
283
235
$(MAKE ) -C qt-im clean
284
236
$(MAKE ) -C qt4-im clean
285
- $(MAKE) -C man clean
286
237
$(MAKE ) -C menu clean
287
238
$(MAKE ) -C po clean
288
239
rm -f * .o * .E * .db * .pico * .so config.mak tags $(PROGS ) gcin-nocur $(PROGS_CV ) \
@@ -299,4 +250,8 @@ gcin.spec: gcin.spec.in
299
250
rm -f $@
300
251
sed -e " s/__gcin_version__/$( GCIN_VERSION) /" < $< > $@
301
252
253
+ gcin-fedora.spec : gcin-fedora.spec.in VERSION.gcin
254
+ rm -f $@
255
+ sed -e " s/__gcin_version__/$( GCIN_VERSION) /" < $< > $@
256
+
302
257
include .depend
0 commit comments