OSDN Git Service

define VERSION for first release
[yamy/yamy.git] / mayu-common.mak
1 ############################################################## -*- Makefile -*-
2 #
3 # Makefile for mayu
4 #
5 ###############################################################################
6
7
8 !if "$(VERSION)" == ""
9 VERSION         = 0.01
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.exe      ###############################################################
32
33 TARGET_1        = $(OUT_DIR_EXE)\yamy$(MAYU_ARCH).exe
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 # distribution  ###############################################################
116
117 DISTRIB_SETTINGS =                      \
118                 104.mayu                \
119                 104on109.mayu           \
120                 109.mayu                \
121                 109on104.mayu           \
122                 default.mayu            \
123                 emacsedit.mayu          \
124                 dot.mayu                \
125
126 DISTRIB_MANUAL  =                               \
127                 doc\banner-ja.gif               \
128                 doc\CONTENTS-ja.html            \
129                 doc\CUSTOMIZE-ja.html           \
130                 doc\edit-setting-ja.png         \
131                 doc\investigate-ja.png          \
132                 doc\log-ja.png                  \
133                 doc\MANUAL-ja.html              \
134                 doc\menu-ja.png                 \
135                 doc\pause-ja.png                \
136                 doc\README-ja.html              \
137                 doc\README.css                  \
138                 doc\setting-ja.png              \
139                 doc\syntax.txt                  \
140                 doc\target.png                  \
141                 doc\version-ja.png              \
142                 mayu-mode.el                    \
143
144 DISTRIB_CONTRIBS =                              \
145                 contrib\109onAX.mayu            \
146                 contrib\mayu-settings.txt       \
147                 contrib\dvorak.mayu             \
148                 contrib\dvorak109.mayu          \
149                 contrib\keitai.mayu             \
150                 contrib\ax.mayu                 \
151                 contrib\98x1.mayu               \
152                 contrib\DVORAKon109.mayu        \
153
154 !if "$(TARGETOS)" == "WINNT"
155 DISTRIB_DRIVER  =                               \
156                 d\i386\mayud.sys                \
157                 d\rescue\i386\mayudrsc.sys      \
158                 d\nt4\i386\mayudnt4.sys
159 !endif
160 !if "$(TARGETOS)" == "WIN95"
161 DISTRIB_DRIVER  = d_win9x\mayud.vxd
162 !endif
163
164 DISTRIB         =                       \
165                 $(TARGET_1)             \
166                 $(TARGET_2)             \
167                 $(TARGET_4)             \
168                 s\$(OUT_DIR)\setup.exe  \
169                 $(DISTRIB_SETTINGS)     \
170                 $(DISTRIB_MANUAL)       \
171                 $(DISTRIB_CONTRIBS)     \
172                 $(DISTRIB_DRIVER)       \
173
174
175 # tools         ###############################################################
176
177 IEXPRESS        = iexpress
178 DOCXX           = doc++.exe
179 MAKEDEPEND      = perl tools/makedepend -o.obj
180 DOS2UNIX        = perl tools/dos2unix
181 UNIX2DOS        = perl tools/unix2dos
182 MAKEFUNC        = perl tools/makefunc
183 GETCVSFILES     = perl tools/getcvsfiles
184 GENIEXPRESS     = perl tools/geniexpress
185
186
187 # rules         ###############################################################
188
189 all:            boost $(OUT_DIR) $(OUT_DIR_EXE) $(TARGET_1) $(TARGET_2) $(TARGET_3) $(TARGET_4)
190
191 $(OUT_DIR):
192                 if not exist "$(OUT_DIR)\\" $(MKDIR) $(OUT_DIR)
193
194 $(OUT_DIR_EXE):
195                 if not exist "$(OUT_DIR_EXE)\\" $(MKDIR) $(OUT_DIR_EXE)
196
197 functions.h:    engine.h tools/makefunc
198                 $(MAKEFUNC) < engine.h > functions.h
199
200 clean::
201                 -$(RM) $(TARGET_1) $(TARGET_2) $(TARGET_3) $(TARGET_4)
202                 -$(RM) $(OUT_DIR)\*.obj
203                 -$(RM) $(OUT_DIR)\*.res $(OUT_DIR_EXE)\*.exp
204                 -$(RM) mayu.aps mayu.opt $(OUT_DIR_EXE)\*.pdb
205                 -$(RM) *~ $(CLEAN)
206                 -$(RMDIR) $(OUT_DIR)
207
208 depend::
209                 $(MAKEDEPEND) -fmayu-common.mak \
210                 -- $(DEPENDFLAGS) -- $(SRCS_1) $(SRCS_2)
211
212 distrib:
213                 -@echo "we need cygwin tool"
214                 -rm -f yamy-$(VERSION).zip
215                 zip yamy-$(VERSION).zip 104.mayu 109.mayu default.mayu emacsedit.mayu 104on109.mayu 109on104.mayu dot.mayu yamy.ini
216                 cd $(OUT_DIR_EXE)
217                 zip ../yamy-$(VERSION).zip yamy32.exe yamy64.exe yamy32.dll yamy64.dll yamyd32
218                 cd ..
219
220 srcdesc::
221                 @$(ECHO) USE DOC++ 3.4.4 OR HIGHER
222                 $(DOCXX) *.h
223
224 # DO NOT DELETE
225
226 $(OUT_DIR)\compiler_specific_func.obj: compiler_specific.h \
227  compiler_specific_func.h misc.h stringtool.h
228 $(OUT_DIR)\dlgeditsetting.obj: compiler_specific.h dlgeditsetting.h \
229  layoutmanager.h mayurc.h misc.h stringtool.h windowstool.h
230 $(OUT_DIR)\dlginvestigate.obj: compiler_specific.h d\ioctl.h \
231  dlginvestigate.h driver.h engine.h focus.h function.h functions.h hook.h \
232  keyboard.h keymap.h mayurc.h misc.h msgstream.h multithread.h parser.h \
233  setting.h stringtool.h target.h vkeytable.h windowstool.h
234 $(OUT_DIR)\dlglog.obj: compiler_specific.h dlglog.h layoutmanager.h mayu.h \
235  mayurc.h misc.h msgstream.h multithread.h registry.h stringtool.h \
236  windowstool.h
237 $(OUT_DIR)\dlgsetting.obj: compiler_specific.h d\ioctl.h dlgeditsetting.h \
238  driver.h function.h functions.h keyboard.h keymap.h layoutmanager.h mayu.h \
239  mayurc.h misc.h multithread.h parser.h registry.h setting.h stringtool.h \
240  windowstool.h
241 $(OUT_DIR)\dlgversion.obj: compiler_specific.h compiler_specific_func.h \
242  layoutmanager.h mayu.h mayurc.h misc.h stringtool.h windowstool.h
243 $(OUT_DIR)\engine.obj: compiler_specific.h d\ioctl.h driver.h engine.h \
244  errormessage.h function.h functions.h hook.h keyboard.h keymap.h mayurc.h \
245  misc.h msgstream.h multithread.h parser.h setting.h stringtool.h \
246  windowstool.h
247 $(OUT_DIR)\focus.obj: compiler_specific.h focus.h misc.h stringtool.h \
248  windowstool.h
249 $(OUT_DIR)\function.obj: compiler_specific.h d\ioctl.h driver.h engine.h \
250  function.h functions.h hook.h keyboard.h keymap.h mayu.h mayurc.h misc.h \
251  msgstream.h multithread.h parser.h registry.h setting.h stringtool.h \
252  vkeytable.h windowstool.h
253 $(OUT_DIR)\keyboard.obj: compiler_specific.h d\ioctl.h driver.h keyboard.h \
254  misc.h stringtool.h
255 $(OUT_DIR)\keymap.obj: compiler_specific.h d\ioctl.h driver.h \
256  errormessage.h function.h functions.h keyboard.h keymap.h misc.h \
257  multithread.h parser.h setting.h stringtool.h
258 $(OUT_DIR)\layoutmanager.obj: compiler_specific.h layoutmanager.h misc.h \
259  stringtool.h windowstool.h
260 $(OUT_DIR)\mayu.obj: compiler_specific.h compiler_specific_func.h d\ioctl.h \
261  dlginvestigate.h dlglog.h dlgsetting.h dlgversion.h driver.h engine.h \
262  errormessage.h focus.h function.h functions.h hook.h keyboard.h keymap.h \
263  mayu.h mayuipc.h mayurc.h misc.h msgstream.h multithread.h parser.h \
264  registry.h setting.h stringtool.h target.h windowstool.h vk2tchar.h
265 $(OUT_DIR)\parser.obj: compiler_specific.h errormessage.h misc.h parser.h \
266  stringtool.h
267 $(OUT_DIR)\registry.obj: array.h compiler_specific.h misc.h registry.h \
268  stringtool.h
269 $(OUT_DIR)\setting.obj: array.h compiler_specific.h d\ioctl.h dlgsetting.h \
270  driver.h errormessage.h function.h functions.h keyboard.h keymap.h mayu.h \
271  mayurc.h misc.h multithread.h parser.h registry.h setting.h stringtool.h \
272  vkeytable.h windowstool.h
273 $(OUT_DIR)\stringtool.obj: array.h compiler_specific.h misc.h stringtool.h
274 $(OUT_DIR)\target.obj: compiler_specific.h mayurc.h misc.h stringtool.h \
275  target.h windowstool.h
276 $(OUT_DIR)\vkeytable.obj: compiler_specific.h misc.h vkeytable.h
277 $(OUT_DIR)\windowstool.obj: array.h compiler_specific.h misc.h stringtool.h \
278  windowstool.h
279 $(OUT_DIR)\hook.obj: compiler_specific.h hook.h misc.h stringtool.h
280 $(OUT_DIR)\stringtool.obj: array.h compiler_specific.h misc.h stringtool.h
281 $(OUT_DIR)\yamyd.obj: mayu.h hook.h