Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
to resolve the problem concerning the relative paths
[simgrid.git] / build / vc7 / simgrid / w32_makefile
1 ########################################################################################################################\r
2 #\r
3 # Project                                       : w32_makefile\r
4 #\r
5 # Description                           : it's the make file used to build the Windows SimGrid dynamic link library (DLL) and the files \r
6 #                                                         that come with (the static library SimGrid.lib, the program database (PDB) file that holds \r
7 #                                                         debugging information used to display the Windows backtrace.\r
8 #\r
9 # Note                                          : [(1) the manifest of the SimGrid is directly embeded in the DLL                                       ]\r
10 #                                                       : [(2) both C code and C++ (the MSG wrappers) code are linked in the same library       ]  \r
11 #  \r
12 # Compiler (CL.EXE) version     :Microsoft Compiler (R) 32¬†bits C/C++ version¬†14.00.50727.42 for 80x86\r
13\r
14 # Command line                          : nmake -f w32_makefile [all]\r
15 #\r
16 # Author                                        : Abdelmalek CHERIER\r
17 ########################################################################################################################\r
18 \r
19 # The name of the libray\r
20 LIBRARY=simgrid.dll\r
21 \r
22 # The default global goal\r
23 all:\r
24         cd C:\buildslave\projects\simgrid\builddir\build\build\vc7\simgrid\r
25         $(MAKE) $(LIBRARY)\r
26 \r
27 ########################################################################################################################\r
28 #\r
29 # C source files section\r
30 #\r
31 # Note                                          : [(1) This section contains all the names of the C source file of the project.         ]\r
32 #                                                         [ (2) All new C source files must be added in this section.                                           ] \r
33 #\r
34 ########################################################################################################################\r
35 \r
36 CSRC= ..\..\..\src\xbt\xbt_virtu.c \\r
37 ..\..\..\src\xbt\xbt_strbuff.c \\r
38 ..\..\..\src\xbt\xbt_str.c \\r
39 ..\..\..\src\xbt\xbt_sg_time.c \\r
40 ..\..\..\src\xbt\xbt_sg_synchro.c \\r
41 ..\..\..\src\xbt\xbt_queue.c \\r
42 ..\..\..\src\xbt\xbt_peer.c \\r
43 ..\..\..\src\xbt\xbt_os_time.c \\r
44 ..\..\..\src\xbt\xbt_os_thread.c \\r
45 ..\..\..\src\xbt\xbt_matrix.c \\r
46 ..\..\..\src\xbt\xbt_main.c \\r
47 ..\..\..\src\xbt\xbt_log_layout_simple.c \\r
48 ..\..\..\src\xbt\xbt_log_layout_format.c \\r
49 ..\..\..\src\xbt\xbt_log_appender_file.c \\r
50 ..\..\..\src\xbt\xbt_context_thread.c \\r
51 ..\..\..\src\xbt\xbt_context_java.c \\r
52 ..\..\..\src\xbt\xbt_context.c \\r
53 ..\..\..\src\surf\workstation_ptask_L07.c \\r
54 ..\..\..\src\surf\workstation.c \\r
55 ..\..\..\src\gras\Transport\transport_plugin_sg.c \\r
56 ..\..\..\src\gras\Transport\transport.c \\r
57 ..\..\..\src\surf\trace_mgr.c \\r
58 ..\..\..\src\gras\Msg\timer.c \\r
59 ..\..\..\src\msg\task.c \\r
60 ..\..\..\src\xbt\swag.c \\r
61 ..\..\..\src\surf\surfxml_parse.c \\r
62 ..\..\..\src\surf\surf_timer.c \\r
63 ..\..\..\src\surf\surf.c \\r
64 ..\..\..\src\xbt\snprintf.c \\r
65 ..\..\..\src\simix\smx_synchro.c \\r
66 ..\..\..\src\simix\smx_process.c \\r
67 ..\..\..\src\simix\smx_host.c \\r
68 ..\..\..\src\simix\smx_global.c \\r
69 ..\..\..\src\simix\smx_environment.c \\r
70 ..\..\..\src\simix\smx_deployment.c \\r
71 ..\..\..\src\simix\smx_config.c \\r
72 ..\..\..\src\simix\smx_action.c \\r
73 simgrid.c \\r
74 ..\..\..\src\gras\Transport\sg_transport.c \\r
75 ..\..\..\src\gras\Virtu\sg_process.c \\r
76 ..\..\..\src\gras\Msg\sg_msg.c \\r
77 ..\..\..\src\gras\Virtu\sg_emul.c \\r
78 ..\..\..\src\gras\Virtu\sg_dns.c \\r
79 ..\..\..\src\xbt\set.c \\r
80 ..\..\..\src\simdag\sd_workstation.c \\r
81 ..\..\..\src\simdag\sd_task.c \\r
82 ..\..\..\src\simdag\sd_link.c \\r
83 ..\..\..\src\simdag\sd_global.c \\r
84 ..\..\..\src\amok\Bandwidth\saturate.c \\r
85 ..\..\..\src\gras\Msg\rpc.c \\r
86 ..\..\..\src\surf\random_mgr.c \\r
87 ..\..\..\src\gras\Virtu\process.c \\r
88 ..\..\..\src\amok\PeerManagement\peermanagement.c \\r
89 ..\..\..\src\surf\network_constant.c \\r
90 ..\..\..\src\surf\network.c \\r
91 ..\..\..\src\msg\msg_mailbox.c \\r
92 ..\..\..\src\msg\msg_config.c \\r
93 ..\..\..\src\surf\maxmin.c \\r
94 ..\..\..\src\xbt\mallocator.c \\r
95 ..\..\..\src\msg\m_process.c \\r
96 ..\..\..\src\xbt\log.c \\r
97 ..\..\..\src\surf\lagrange.c \\r
98 ..\..\..\src\java\jxbt_utilities.c \\r
99 ..\..\..\src\java\jmsg_task.c \\r
100 ..\..\..\src\java\jmsg_process.c \\r
101 ..\..\..\src\java\jmsg_host.c \\r
102 ..\..\..\src\java\jmsg_channel.c \\r
103 ..\..\..\src\java\jmsg_application_handler.c \\r
104 ..\..\..\src\java\jmsg.c \\r
105 ..\..\..\src\msg\host.c \\r
106 ..\..\..\src\xbt\heap.c \\r
107 ..\..\..\src\gras\Msg\gras_msg_types.c \\r
108 ..\..\..\src\gras\Msg\gras_msg_mod.c \\r
109 ..\..\..\src\gras\Msg\gras_msg_listener.c \\r
110 ..\..\..\src\gras\Msg\gras_msg_exchange.c \\r
111 ..\..\..\src\gras\Virtu\gras_module.c \\r
112 ..\..\..\src\gras\gras.c \\r
113 ..\..\..\src\xbt\graphxml_parse.c \\r
114 ..\..\..\src\xbt\graph.c \\r
115 ..\..\..\src\msg\gos.c \\r
116 ..\..\..\src\msg\global.c \\r
117 ..\..\..\src\xbt\fifo.c \\r
118 ..\..\..\src\surf\fair_bottleneck.c \\r
119 ..\..\..\src\xbt\ex.c \\r
120 ..\..\..\src\msg\environment.c \\r
121 ..\..\..\src\xbt\dynar.c \\r
122 ..\..\..\src\xbt\dict_multi.c \\r
123 ..\..\..\src\xbt\dict_elm.c \\r
124 ..\..\..\src\xbt\dict_cursor.c \\r
125 ..\..\..\src\xbt\dict.c \\r
126 ..\..\..\src\msg\deployment.c \\r
127 ..\..\..\src\gras\DataDesc\ddt_parse.yy.c \\r
128 ..\..\..\src\gras\DataDesc\ddt_parse.c \\r
129 ..\..\..\src\gras\DataDesc\ddt_exchange.c \\r
130 ..\..\..\src\gras\DataDesc\ddt_create.c \\r
131 ..\..\..\src\gras\DataDesc\ddt_convert.c \\r
132 ..\..\..\src\gras\DataDesc\datadesc.c \\r
133 ..\..\..\src\xbt\cunit.c \\r
134 ..\..\..\src\surf\cpu.c \\r
135 ..\..\..\src\xbt\config.c \\r
136 ..\..\..\src\gras\DataDesc\cbps.c \\r
137 ..\..\..\src\amok\Bandwidth\bandwidth.c \\r
138 ..\..\..\src\xbt\asserts.c \\r
139 ..\..\..\src\amok\amok_base.c\r
140 \r
141 ########################################################################################################################\r
142 #\r
143 # C++ source files (Wrappers) section\r
144 #\r
145 # Note                                          : [(1) This section contains all the names of the C++ source file of the project.       ]\r
146 #                                                         [ (2) All new C++ source files must be added in this section.                                         ] \r
147 #\r
148 ########################################################################################################################\r
149 \r
150 \r
151 CXXSRC = ..\..\..\src\cxx\MsgApplication.cxx \\r
152 ..\..\..\src\cxx\MsgApplicationHandler.cxx \\r
153 ..\..\..\src\cxx\BadAllocException.cxx \\r
154 ..\..\..\src\cxx\ClassNotFoundException.cxx \\r
155 ..\..\..\src\cxx\MsgEnvironment.cxx \\r
156 ..\..\..\src\cxx\Exception.cxx \\r
157 ..\..\..\src\cxx\FileNotFoundException.cxx \\r
158 ..\..\..\src\cxx\HostNotFoundException.cxx \\r
159 ..\..\..\src\cxx\InvalidArgumentException.cxx \\r
160 ..\..\..\src\cxx\LogicException.cxx \\r
161 ..\..\..\src\cxx\Msg.cxx \\r
162 ..\..\..\src\cxx\MsgException.cxx \\r
163 ..\..\..\src\cxx\NullPointerException.cxx \\r
164 ..\..\..\src\cxx\Object.cxx \\r
165 ..\..\..\src\cxx\OutOfBoundsException.cxx \\r
166 ..\..\..\src\cxx\MsgProcess.cxx \\r
167 ..\..\..\src\cxx\ProcessNotFoundException.cxx \\r
168 ..\..\..\src\cxx\MsgSimulation.cxx \\r
169 ..\..\..\src\cxx\StringHelper.cxx \\r
170 ..\..\..\src\cxx\MsgTask.cxx \\r
171 ..\..\..\src\cxx\MsgHost.cxx\r
172 \r
173 ########################################################################################################################\r
174 # C compiler flags section\r
175\r
176 # Flags descriptions :\r
177 #       \r
178 #       -> Od   : disable the compiler optimisations\r
179 #       -> Gd   : __cdecl calling convention usage\r
180 #       -> RTC1 : enable a run-time check \r
181 #       -> MD   : defines _MT and _DLL so that both multithread- and DLL-specific versions of the run-time routines \r
182 #                         are selected from the standard header files. This option also causes the compiler to place the library \r
183 #                         name MSVCRT.LIB into the object file.\r
184 #       -> Fp   : specify precompiled header file name\r
185 #       -> Fo   : create an object file\r
186 #       -> Fd   : the path of program database file (PDB) \r
187 #       -> FR   : generate the browser file (in Debug directory)\r
188 #       -> W3   : warning level (3)\r
189 #       -> c    : compile without linking (cl.exe only generate the object file, link.exe do the rest)\r
190 #       -> ZI   : include debug information in the program database compatible with Edit and Continue (used by backtrace)\r
191 #       -> TC   : it's a C source file (use the C compilation) \r
192 #\r
193 # Disable warnings :\r
194 #\r
195 #       -> 4996 : usage of functions declaraed as deprecated\r
196 #       -> 4244 : conversion from 'type1' to 'type2', possible loss of data\r
197 #       -> 4715 : not all control paths of a function return a value\r
198 #       -> 4090 : different 'modifier' qualifiers in the operation\r
199 #       -> 4018 : signed/unsigned mismatch in an expression\r
200 #\r
201 # Preprocessor macro descriptions :\r
202 #\r
203 #       -> _CRT_SECURE_NO_DEPRECATE : disable deprecation\r
204 #       -> WIN32                                        : it's a WIN32 DLL\r
205 #       -> _WINDOWS                                     : Windows protected-mode is selected with /GA, /Gw, /GW, /Mq, or /GD\r
206 #       -> _USRDLL                                      : it's a regulare DLL\r
207 #       -> DLL_EXPORT                           : export all the SimGrid API (__declspec(dllexport) usage)\r
208 #       -> _VC80_UPGRADE=0x0600         : it was a Visual C++ 6 project\r
209 #       -> _WINDLL                                      : Windows protected-mode dynamic-link library is selected with /GD\r
210 #       -> _STATIC_CPPLIB                       : A VOIR\r
211 #       \r
212 #\r
213 ########################################################################################################################\r
214 \r
215 CFLAGS = /Gd /Od /D "_CRT_SECURE_NO_DEPRECATE" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "SIMGRID_EXPORTS" /D "DLL_EXPORT" /D "_VC80_UPGRADE=0x0600" /D "_WINDLL" /RTC1 /D "_STATIC_CPPLIB" /MD /Fp".\Debug/simgrid.pch" /Fo /Fd".\Debug/" /FR".\Debug\\" /W3 /c /ZI /TC /wd4127 /wd4996 /wd4244 /wd4715 /wd4090 /wd4018 /errorReport:prompt    \r
216 \r
217 ########################################################################################################################\r
218 # C++ compiler flags section\r
219\r
220 # Flags descriptions :\r
221 #\r
222 #       -> Ge   : activate stack probes\r
223 #       -> Gd   : __cdecl calling convention usage      \r
224 #       -> Od   : disable the compiler optimisations\r
225 #       -> Gm   : enable minimal rebuild\r
226 #       -> EHsc : specify the synchronous exception handling model\r
227 #       -> RTC1 : enable a run-time check \r
228 #       -> MD   : defines _MT and _DLL so that both multithread- and DLL-specific versions of the run-time routines \r
229 #                         are selected from the standard header files. This option also causes the compiler to place the library \r
230 #                         name MSVCRT.LIB into the object file.\r
231 #       -> Fp   : specify precompiled header file name\r
232 #       -> Fo   : create an object file\r
233 #       -> Fd   : the path of program database file (PDB) \r
234 #       -> FR   : generate the browser file (in Debug directory)\r
235 #       -> W3   : warning level (3)\r
236 #       -> c    : compile without linking (cl.exe only generate the object file, link.exe do the rest)\r
237 #       -> ZI   : include debug information in the program database compatible with Edit and Continue (used by backtrace)\r
238 #       -> TP   : it's a C++ source file (use the C++ compilation) \r
239 #       -> Wp64 : portability problem detection on 64 bits architecture\r
240 #\r
241 # Disable warnings :\r
242 #\r
243 #       -> 4290 : disable the warning thows when a function is declared using exception specification\r
244 #\r
245 # Preprocessor macro descriptions :\r
246 #\r
247 #       -> _CRT_SECURE_NO_DEPRECATE : disable deprecation\r
248 #       -> _WIN32/WIN32                         : it's a WIN32 DLL\r
249 #       -> _WINDOWS                                     : Windows protected-mode is selected with /GA, /Gw, /GW, /Mq, or /GD\r
250 #       -> _USRDLL                                      : it's a regulare DLL\r
251 #       -> DLL_EXPORT                           : export all the SimGrid API (__declspec(dllexport) usage)\r
252 #       -> _VC80_UPGRADE=0x0600         : it was a Visual C++ 6 project\r
253 #       -> _WINDLL                                      : Windows protected-mode dynamic-link library is selected with /GD\r
254 #       -> _STATIC_CPPLIB                       : use libcpmt.lib instead msvcprt.lib                   : \r
255 #       -> DLL_STATIC                           : avoid to export a another time the functions of the SimGrid API       \r
256 #       -> SIMGRIDX_EXPORTS                     : export the C++ Wrapper classes \r
257 #\r
258 ########################################################################################################################\r
259 CXXFLAGS = /Ge /Gd /Od /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "DLL_STATIC" /D "SIMGRID_EXPORTS"  /D "SIMGRIDX_EXPORTS" /D "_WIN32" /D "_CRT_SECURE_NO_DEPRECATE" /D "_WINDLL" /Gm /EHsc /RTC1 /D "_STATIC_CPPLIB" /MD  /Fo  /Fd"Debug\vc80.pdb" /W3 /c /Wp64 /ZI /TP /wd4290\r
260 \r
261 \r
262 \r
263 # Include directories\r
264 #\r
265 # Note : [ the environment variable INCLUDE must contains the value of the paths of the include directories \r
266 #          of Microsoft Visual C++. Normaly, the installer do that during the installation of Microsoft Visual\r
267 #                  C++]\r
268 \r
269 INCLUDES = /I..\..\..\include /I..\..\..\src /I..\..\..\src\include /I..\..\..\src\cxx\r
270 \r
271 \r
272 # Libraries to link with\r
273 \r
274 LIBS = odbc32.lib odbccp32.lib WSOCK32.LIB  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib\r
275 \r
276 \r
277 ########################################################################################################################\r
278 #\r
279 # Linker flags to link with.\r
280 #\r
281 # The linker build the DLL store it in the Windows system32 directory\r
282 # It produce the manifest of the DLL, the PDB file and the static library.\r
283 #\r
284 # Note : [(1) The static library and the PDB file is stored in the Debug directory                                              ]\r
285 #                [(2) The manifest file is produced and embeded in the DLL by using the tool Mt.exe (see below) ]       \r
286 #\r
287 ########################################################################################################################\r
288 \r
289 LINKFLAGS = "/OUT:$(SYSTEMROOT)\system32\simgrid.dll" /INCREMENTAL /DLL /MANIFEST "/MANIFESTFILE:$(SYSTEMROOT)\system32\simgrid.dll.manifest" /DEBUG "/PDB:.\Debug/simgrid.pdb" "/IMPLIB:.\Debug/simgrid.lib" /MACHINE:X86 \r
290 \r
291 \r
292 # The list of all .obj files to create.\r
293 \r
294 OBJS= $(CSRC:.c=.obj) $(CXXSRC:.cxx=.obj)\r
295 \r
296 \r
297 \r
298 # Link .obj files to create an executable.\r
299\r
300 # Note : [ the commande : mt /manifest $(SYSTEMROOT)\system32\simgrid.dll.manifest /outputresource:$(SYSTEMROOT)\system32\simgrid.dll;#2\r
301 #                  insert the manifest in a section of the dll (this is used to locate the appropriate crt library]\r
302 \r
303 $(LIBRARY): $(OBJS)\r
304         link -out:$@ $(**F) "/OUT:$(SYSTEMROOT)\system32\simgrid.dll" /INCREMENTAL /DLL /DEBUG /PDB:".\Debug/simgrid.pdb" /IMPLIB:".\Debug/simgrid.lib" /MACHINE:X86 /ERRORREPORT:PROMPT odbc32.lib odbccp32.lib WSOCK32.LIB  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib      \r
305         mt /manifest $(SYSTEMROOT)\system32\simgrid.dll.manifest /outputresource:$(SYSTEMROOT)\system32\simgrid.dll;#2\r
306         \r
307 # link -out:$@ $(**F) $(LIBS) $(LINKFLAGS)\r
308 \r
309 \r
310 \r
311 # Create .obj files from .cpp files (ANSI C++)\r
312 \r
313 .cxx.obj:\r
314         cl $(CXXFLAGS) $(INCLUDES) $*.cxx\r
315         \r
316 \r
317 # Create .obj files from .c files (ANSI C)\r
318 \r
319 \r
320 .c.obj:\r
321         cl $(CFLAGS) $(INCLUDES) $*.c\r
322 \r
323 \r