Makefile 3.3 KB

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