OSDN Git Service

fix ticket #18663
[yamy/yamy.git] / mayu-common.mak
1 ############################################################## -*- Makefile -*-
2 #
3 # Makefile for mayu
4 #
5 ###############################################################################
6
7
8 !if "$(VERSION)" == ""
9 VERSION         = 0.02
10 !endif
11
12 !if "$(TARGETOS)" == "WINNT"
13 OS_SPECIFIC_DEFINES     =  -DUNICODE -D_UNICODE
14 DISTRIB_OS      = xp
15 !endif
16
17 !if "$(TARGETOS)" == "WIN95"
18 OS_SPECIFIC_DEFINES     =  -D_MBCS
19 DISTRIB_OS      = 9x
20 !endif
21
22 !if "$(TARGETOS)" == "BOTH"
23 !error You must specify TARGETOS=WINNT
24 !endif
25
26
27 COMMON_DEFINES  = -DSTRICT -D_WIN32_IE=0x0500 $(OS_SPECIFIC_DEFINES)
28 BOOST_DIR       = ../boost_$(BOOST_VER)_0($(MAYU_ARCH))
29
30
31 # yamy          ###############################################################
32
33 TARGET_1        = $(OUT_DIR_EXE)\yamy$(MAYU_ARCH)
34 OBJS_1          =                                       \
35                 $(OUT_DIR)\compiler_specific_func.obj   \
36                 $(OUT_DIR)\dlgeditsetting.obj           \
37                 $(OUT_DIR)\dlginvestigate.obj           \
38                 $(OUT_DIR)\dlglog.obj                   \
39                 $(OUT_DIR)\dlgsetting.obj               \
40                 $(OUT_DIR)\dlgversion.obj               \
41                 $(OUT_DIR)\engine.obj                   \
42                 $(OUT_DIR)\focus.obj                    \
43                 $(OUT_DIR)\function.obj                 \
44                 $(OUT_DIR)\keyboard.obj                 \
45                 $(OUT_DIR)\keymap.obj                   \
46                 $(OUT_DIR)\layoutmanager.obj            \
47                 $(OUT_DIR)\mayu.obj                     \
48                 $(OUT_DIR)\parser.obj                   \
49                 $(OUT_DIR)\registry.obj                 \
50                 $(OUT_DIR)\setting.obj                  \
51                 $(OUT_DIR)\stringtool.obj               \
52                 $(OUT_DIR)\target.obj                   \
53                 $(OUT_DIR)\vkeytable.obj                \
54                 $(OUT_DIR)\windowstool.obj              \
55
56 SRCS_1          =                               \
57                 compiler_specific_func.cpp      \
58                 dlgeditsetting.cpp              \
59                 dlginvestigate.cpp              \
60                 dlglog.cpp                      \
61                 dlgsetting.cpp                  \
62                 dlgversion.cpp                  \
63                 engine.cpp                      \
64                 focus.cpp                       \
65                 function.cpp                    \
66                 keyboard.cpp                    \
67                 keymap.cpp                      \
68                 layoutmanager.cpp               \
69                 mayu.cpp                        \
70                 parser.cpp                      \
71                 registry.cpp                    \
72                 setting.cpp                     \
73                 stringtool.cpp                  \
74                 target.cpp                      \
75                 vkeytable.cpp                   \
76                 windowstool.cpp                 \
77
78 RES_1           = $(OUT_DIR)\mayu.res
79
80 LIBS_1          =                       \
81                 $(guixlibsmt)           \
82                 shell32.lib             \
83                 comctl32.lib            \
84                 wtsapi32.lib            \
85                 $(OUT_DIR_EXE)\yamy$(MAYU_ARCH).lib     \
86
87 EXTRADEP_1      = $(OUT_DIR_EXE)\yamy$(MAYU_ARCH).lib
88
89 # yamy.dll      ###############################################################
90
91 TARGET_2        = $(OUT_DIR_EXE)\yamy$(MAYU_ARCH).dll
92 OBJS_2          = $(OUT_DIR)\hook.obj $(OUT_DIR)\stringtool.obj
93 SRCS_2          = hook.cpp stringtool.cpp
94 LIBS_2          = $(guixlibsmt) imm32.lib
95
96
97 # yamy.lib      ###############################################################
98
99 TARGET_3        = $(OUT_DIR_EXE)\yamy$(MAYU_ARCH).lib
100 DLL_3           = $(OUT_DIR_EXE)\yamy$(MAYU_ARCH).dll
101
102
103 # yamyd         ###############################################################
104
105 !if "$(MAYU_ARCH)" == "32"
106 TARGET_4        = $(OUT_DIR_EXE)\yamyd$(MAYU_ARCH)
107 OBJS_4          = $(OUT_DIR)\yamyd.obj
108
109 SRCS_4          = yamyd.cpp
110 LIBS_4          = user32.lib $(OUT_DIR_EXE)\yamy$(MAYU_ARCH).lib
111
112 EXTRADEP_4      = $(OUT_DIR_EXE)\yamy$(MAYU_ARCH).lib
113 !endif
114
115 # yamy.exe      ###############################################################
116
117 !if "$(MAYU_ARCH)" == "32"
118 TARGET_5        = $(OUT_DIR_EXE)\yamy.exe
119 OBJS_5          = $(OUT_DIR)\yamy.obj
120
121 SRCS_5          = yamy.cpp
122 LIBS_5          = user32.lib
123
124 RES_5           = $(OUT_DIR)\mayu.res
125 !endif
126
127 # distribution  ###############################################################
128
129 DISTRIB_SETTINGS =                      \
130                 104.mayu                \
131                 104on109.mayu           \
132                 109.mayu                \
133                 109on104.mayu           \
134                 default.mayu            \
135                 emacsedit.mayu          \
136                 dot.mayu                \
137
138 DISTRIB_MANUAL  =                               \
139                 doc\banner-ja.gif               \
140                 doc\CONTENTS-ja.html            \
141                 doc\CUSTOMIZE-ja.html           \
142                 doc\edit-setting-ja.png         \
143                 doc\investigate-ja.png          \
144                 doc\log-ja.png                  \
145                 doc\MANUAL-ja.html              \
146                 doc\menu-ja.png                 \
147                 doc\pause-ja.png                \
148                 doc\README-ja.html              \
149                 doc\README.css                  \
150                 doc\setting-ja.png              \
151                 doc\syntax.txt                  \
152                 doc\target.png                  \
153                 doc\version-ja.png              \
154                 mayu-mode.el                    \
155
156 DISTRIB_CONTRIBS =                              \
157                 contrib\109onAX.mayu            \
158                 contrib\mayu-settings.txt       \
159                 contrib\dvorak.mayu             \
160                 contrib\dvorak109.mayu          \
161                 contrib\keitai.mayu             \
162                 contrib\ax.mayu                 \
163                 contrib\98x1.mayu               \
164                 contrib\DVORAKon109.mayu        \
165
166 !if "$(TARGETOS)" == "WINNT"
167 DISTRIB_DRIVER  =                               \
168                 d\i386\mayud.sys                \
169                 d\rescue\i386\mayudrsc.sys      \
170                 d\nt4\i386\mayudnt4.sys
171 !endif
172 !if "$(TARGETOS)" == "WIN95"
173 DISTRIB_DRIVER  = d_win9x\mayud.vxd
174 !endif
175
176 DISTRIB         =                       \
177                 $(TARGET_1)             \
178                 $(TARGET_2)             \
179                 $(TARGET_4)             \
180                 $(TARGET_5)             \
181                 s\$(OUT_DIR)\setup.exe  \
182                 $(DISTRIB_SETTINGS)     \
183                 $(DISTRIB_MANUAL)       \
184                 $(DISTRIB_CONTRIBS)     \
185                 $(DISTRIB_DRIVER)       \
186
187
188 # tools         ###############################################################
189
190 IEXPRESS        = iexpress
191 DOCXX           = doc++.exe
192 MAKEDEPEND      = perl tools/makedepend -o.obj
193 DOS2UNIX        = perl tools/dos2unix
194 UNIX2DOS        = perl tools/unix2dos
195 MAKEFUNC        = perl tools/makefunc
196 GETCVSFILES     = perl tools/getcvsfiles
197 GENIEXPRESS     = perl tools/geniexpress
198
199
200 # rules         ###############################################################
201
202 all:            boost $(OUT_DIR) $(OUT_DIR_EXE) $(TARGET_1) $(TARGET_2) $(TARGET_3) $(TARGET_4) $(TARGET_5)
203
204 $(OUT_DIR):
205                 if not exist "$(OUT_DIR)\\" $(MKDIR) $(OUT_DIR)
206
207 $(OUT_DIR_EXE):
208                 if not exist "$(OUT_DIR_EXE)\\" $(MKDIR) $(OUT_DIR_EXE)
209
210 functions.h:    engine.h tools/makefunc
211                 $(MAKEFUNC) < engine.h > functions.h
212
213 clean::
214                 -$(RM) $(TARGET_1) $(TARGET_2) $(TARGET_3) $(TARGET_4) $(TARGET_5)
215                 -$(RM) $(OUT_DIR)\*.obj
216                 -$(RM) $(OUT_DIR)\*.res $(OUT_DIR_EXE)\*.exp
217                 -$(RM) mayu.aps mayu.opt $(OUT_DIR_EXE)\*.pdb
218                 -$(RM) *~ $(CLEAN)
219                 -$(RMDIR) $(OUT_DIR)
220
221 depend::
222                 $(MAKEDEPEND) -fmayu-common.mak \
223                 -- $(DEPENDFLAGS) -- $(SRCS_1) $(SRCS_2)
224
225 distrib:
226                 -@echo "we need cygwin tool"
227                 -rm -f yamy-$(VERSION).zip
228                 zip yamy-$(VERSION).zip yamy.ini 104.mayu 109.mayu default.mayu emacsedit.mayu 104on109.mayu 109on104.mayu dot.mayu workaround.mayu workaround.reg readme.txt
229                 cd $(OUT_DIR_EXE)
230                 zip ../yamy-$(VERSION).zip yamy.exe yamy32 yamy64 yamy32.dll yamy64.dll yamyd32
231                 cd ..
232
233 srcdesc::
234                 @$(ECHO) USE DOC++ 3.4.4 OR HIGHER
235                 $(DOCXX) *.h
236
237 # DO NOT DELETE
238
239 $(OUT_DIR)\compiler_specific_func.obj: compiler_specific.h \
240  compiler_specific_func.h misc.h stringtool.h
241 $(OUT_DIR)\dlgeditsetting.obj: compiler_specific.h dlgeditsetting.h \
242  layoutmanager.h mayurc.h misc.h stringtool.h windowstool.h
243 $(OUT_DIR)\dlginvestigate.obj: compiler_specific.h d\ioctl.h \
244  dlginvestigate.h driver.h engine.h focus.h function.h functions.h hook.h \
245  keyboard.h keymap.h mayurc.h misc.h msgstream.h multithread.h parser.h \
246  setting.h stringtool.h target.h vkeytable.h windowstool.h
247 $(OUT_DIR)\dlglog.obj: compiler_specific.h dlglog.h layoutmanager.h mayu.h \
248  mayurc.h misc.h msgstream.h multithread.h registry.h stringtool.h \
249  windowstool.h
250 $(OUT_DIR)\dlgsetting.obj: compiler_specific.h d\ioctl.h dlgeditsetting.h \
251  driver.h function.h functions.h keyboard.h keymap.h layoutmanager.h mayu.h \
252  mayurc.h misc.h multithread.h parser.h registry.h setting.h stringtool.h \
253  windowstool.h
254 $(OUT_DIR)\dlgversion.obj: compiler_specific.h compiler_specific_func.h \
255  layoutmanager.h mayu.h mayurc.h misc.h stringtool.h windowstool.h
256 $(OUT_DIR)\engine.obj: compiler_specific.h d\ioctl.h driver.h engine.h \
257  errormessage.h function.h functions.h hook.h keyboard.h keymap.h mayurc.h \
258  misc.h msgstream.h multithread.h parser.h setting.h stringtool.h \
259  windowstool.h
260 $(OUT_DIR)\focus.obj: compiler_specific.h focus.h misc.h stringtool.h \
261  windowstool.h
262 $(OUT_DIR)\function.obj: compiler_specific.h d\ioctl.h driver.h engine.h \
263  function.h functions.h hook.h keyboard.h keymap.h mayu.h mayurc.h misc.h \
264  msgstream.h multithread.h parser.h registry.h setting.h stringtool.h \
265  vkeytable.h windowstool.h
266 $(OUT_DIR)\keyboard.obj: compiler_specific.h d\ioctl.h driver.h keyboard.h \
267  misc.h stringtool.h
268 $(OUT_DIR)\keymap.obj: compiler_specific.h d\ioctl.h driver.h \
269  errormessage.h function.h functions.h keyboard.h keymap.h misc.h \
270  multithread.h parser.h setting.h stringtool.h
271 $(OUT_DIR)\layoutmanager.obj: compiler_specific.h layoutmanager.h misc.h \
272  stringtool.h windowstool.h
273 $(OUT_DIR)\mayu.obj: compiler_specific.h compiler_specific_func.h d\ioctl.h \
274  dlginvestigate.h dlglog.h dlgsetting.h dlgversion.h driver.h engine.h \
275  errormessage.h focus.h function.h functions.h hook.h keyboard.h keymap.h \
276  mayu.h mayuipc.h mayurc.h misc.h msgstream.h multithread.h parser.h \
277  registry.h setting.h stringtool.h target.h windowstool.h vk2tchar.h
278 $(OUT_DIR)\parser.obj: compiler_specific.h errormessage.h misc.h parser.h \
279  stringtool.h
280 $(OUT_DIR)\registry.obj: array.h compiler_specific.h misc.h registry.h \
281  stringtool.h
282 $(OUT_DIR)\setting.obj: array.h compiler_specific.h d\ioctl.h dlgsetting.h \
283  driver.h errormessage.h function.h functions.h keyboard.h keymap.h mayu.h \
284  mayurc.h misc.h multithread.h parser.h registry.h setting.h stringtool.h \
285  vkeytable.h windowstool.h
286 $(OUT_DIR)\stringtool.obj: array.h compiler_specific.h misc.h stringtool.h
287 $(OUT_DIR)\target.obj: compiler_specific.h mayurc.h misc.h stringtool.h \
288  target.h windowstool.h
289 $(OUT_DIR)\vkeytable.obj: compiler_specific.h misc.h vkeytable.h
290 $(OUT_DIR)\windowstool.obj: array.h compiler_specific.h misc.h stringtool.h \
291  windowstool.h
292 $(OUT_DIR)\hook.obj: compiler_specific.h hook.h misc.h stringtool.h
293 $(OUT_DIR)\stringtool.obj: array.h compiler_specific.h misc.h stringtool.h
294 $(OUT_DIR)\yamyd.obj: mayu.h hook.h