1 ############################################################## -*- Makefile -*-
5 ###############################################################################
12 !if "$(TARGETOS)" == "WINNT"
13 OS_SPECIFIC_DEFINES = -DUNICODE -D_UNICODE
17 !if "$(TARGETOS)" == "WIN95"
18 OS_SPECIFIC_DEFINES = -D_MBCS
22 !if "$(TARGETOS)" == "BOTH"
23 !error You must specify TARGETOS=WINNT
27 COMMON_DEFINES = -DSTRICT -D_WIN32_IE=0x0500 $(OS_SPECIFIC_DEFINES)
28 BOOST_DIR = ../boost_$(BOOST_VER)_0($(MAYU_ARCH))
31 # yamy ###############################################################
33 TARGET_1 = $(OUT_DIR_EXE)\yamy$(MAYU_ARCH)
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 \
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 \
57 compiler_specific_func.cpp \
78 RES_1 = $(OUT_DIR)\mayu.res
85 $(OUT_DIR_EXE)\yamy$(MAYU_ARCH).lib \
87 EXTRADEP_1 = $(OUT_DIR_EXE)\yamy$(MAYU_ARCH).lib
89 # yamy.dll ###############################################################
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
97 # yamy.lib ###############################################################
99 TARGET_3 = $(OUT_DIR_EXE)\yamy$(MAYU_ARCH).lib
100 DLL_3 = $(OUT_DIR_EXE)\yamy$(MAYU_ARCH).dll
103 # yamyd ###############################################################
105 !if "$(MAYU_ARCH)" == "32"
106 TARGET_4 = $(OUT_DIR_EXE)\yamyd$(MAYU_ARCH)
107 OBJS_4 = $(OUT_DIR)\yamyd.obj
110 LIBS_4 = user32.lib $(OUT_DIR_EXE)\yamy$(MAYU_ARCH).lib
112 EXTRADEP_4 = $(OUT_DIR_EXE)\yamy$(MAYU_ARCH).lib
115 # yamy.exe ###############################################################
117 !if "$(MAYU_ARCH)" == "32"
118 TARGET_5 = $(OUT_DIR_EXE)\yamy.exe
119 OBJS_5 = $(OUT_DIR)\yamy.obj
124 RES_5 = $(OUT_DIR)\mayu.res
127 # distribution ###############################################################
140 doc\CONTENTS-ja.html \
141 doc\CUSTOMIZE-ja.html \
142 doc\edit-setting-ja.png \
143 doc\investigate-ja.png \
157 contrib\109onAX.mayu \
158 contrib\mayu-settings.txt \
159 contrib\dvorak.mayu \
160 contrib\dvorak109.mayu \
161 contrib\keitai.mayu \
164 contrib\DVORAKon109.mayu \
166 !if "$(TARGETOS)" == "WINNT"
169 d\rescue\i386\mayudrsc.sys \
170 d\nt4\i386\mayudnt4.sys
172 !if "$(TARGETOS)" == "WIN95"
173 DISTRIB_DRIVER = d_win9x\mayud.vxd
181 s\$(OUT_DIR)\setup.exe \
182 $(DISTRIB_SETTINGS) \
184 $(DISTRIB_CONTRIBS) \
188 # tools ###############################################################
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
200 # rules ###############################################################
202 all: boost $(OUT_DIR) $(OUT_DIR_EXE) $(TARGET_1) $(TARGET_2) $(TARGET_3) $(TARGET_4) $(TARGET_5)
205 if not exist "$(OUT_DIR)\\" $(MKDIR) $(OUT_DIR)
208 if not exist "$(OUT_DIR_EXE)\\" $(MKDIR) $(OUT_DIR_EXE)
210 functions.h: engine.h tools/makefunc
211 $(MAKEFUNC) < engine.h > functions.h
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
222 $(MAKEDEPEND) -fmayu-common.mak \
223 -- $(DEPENDFLAGS) -- $(SRCS_1) $(SRCS_2)
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
230 zip ../yamy-$(VERSION).zip yamy.exe yamy32 yamy64 yamy32.dll yamy64.dll yamyd32
234 @$(ECHO) USE DOC++ 3.4.4 OR HIGHER
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 \
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 \
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 \
260 $(OUT_DIR)\focus.obj: compiler_specific.h focus.h misc.h stringtool.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 \
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 \
280 $(OUT_DIR)\registry.obj: array.h compiler_specific.h misc.h registry.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 \
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