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