OSDN Git Service

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