OSDN Git Service

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