Commit | Line | Data |
---|---|---|
1bd74e72 NC |
1 | #\r |
2 | # Makefile to build perl on Windows NT using Microsoft NMAKE.\r | |
3 | # Supported compilers:\r | |
4 | # Visual C++ 2.0 through 6.0 (and possibly newer versions)\r | |
5 | # MS Platform SDK 64-bit compiler and tools **experimental**\r | |
6 | #\r | |
7 | # This is set up to build a perl.exe that runs off a shared library\r | |
8 | # (perl58.dll). Also makes individual DLLs for the XS extensions.\r | |
9 | #\r | |
10 | \r | |
11 | ##\r | |
12 | ## Make sure you read README.win32 *before* you mess with anything here!\r | |
13 | ##\r | |
14 | \r | |
15 | ##\r | |
16 | ## Build configuration. Edit the values below to suit your needs.\r | |
17 | ##\r | |
18 | \r | |
19 | #\r | |
20 | # Set these to wherever you want "nmake install" to put your\r | |
21 | # newly built perl.\r | |
22 | #\r | |
23 | INST_DRV = c:\r | |
24 | INST_TOP = $(INST_DRV)\perl\r | |
25 | \r | |
26 | #\r | |
27 | # Comment this out if you DON'T want your perl installation to be versioned.\r | |
28 | # This means that the new installation will overwrite any files from the\r | |
29 | # old installation at the same INST_TOP location. Leaving it enabled is\r | |
30 | # the safest route, as perl adds the extra version directory to all the\r | |
31 | # locations it installs files to. If you disable it, an alternative\r | |
32 | # versioned installation can be obtained by setting INST_TOP above to a\r | |
33 | # path that includes an arbitrary version string.\r | |
34 | #\r | |
35 | #INST_VER = \5.8.2\r | |
36 | \r | |
37 | #\r | |
38 | # Comment this out if you DON'T want your perl installation to have\r | |
39 | # architecture specific components. This means that architecture-\r | |
40 | # specific files will be installed along with the architecture-neutral\r | |
41 | # files. Leaving it enabled is safer and more flexible, in case you\r | |
42 | # want to build multiple flavors of perl and install them together in\r | |
43 | # the same location. Commenting it out gives you a simpler\r | |
44 | # installation that is easier to understand for beginners.\r | |
45 | #\r | |
46 | #INST_ARCH = \$(ARCHNAME)\r | |
47 | \r | |
48 | #\r | |
49 | # uncomment to enable multiple interpreters. This is need for fork()\r | |
50 | # emulation and for thread support.\r | |
51 | #\r | |
52 | USE_MULTI = define\r | |
53 | \r | |
54 | #\r | |
55 | # Beginnings of interpreter cloning/threads; now reasonably complete.\r | |
56 | # This should be enabled to get the fork() emulation. This needs\r | |
57 | # USE_MULTI as well.\r | |
58 | #\r | |
59 | USE_ITHREADS = define\r | |
60 | \r | |
61 | #\r | |
62 | # uncomment to enable the implicit "host" layer for all system calls\r | |
63 | # made by perl. This needs USE_MULTI above. This is also needed to\r | |
64 | # get fork().\r | |
65 | #\r | |
66 | USE_IMP_SYS = define\r | |
67 | \r | |
68 | #\r | |
69 | # Comment out next assign to disable perl's I/O subsystem and use compiler's \r | |
70 | # stdio for IO - depending on your compiler vendor and run time library you may \r | |
71 | # then get a number of fails from make test i.e. bugs - complain to them not us ;-). \r | |
72 | # You will also be unable to take full advantage of perl5.8's support for multiple \r | |
73 | # encodings and may see lower IO performance. You have been warned.\r | |
74 | USE_PERLIO = define\r | |
75 | \r | |
76 | #\r | |
77 | # Comment this out if you don't want to enable large file support for\r | |
78 | # some reason. Should normally only be changed to maintain compatibility\r | |
79 | # with an older release of perl.\r | |
80 | USE_LARGE_FILES = define\r | |
81 | \r | |
82 | #\r | |
83 | # WARNING! This option is deprecated and will eventually go away (enable\r | |
84 | # USE_ITHREADS instead).\r | |
85 | #\r | |
86 | # uncomment to enable threads-capabilities. This is incompatible with\r | |
87 | # USE_ITHREADS, and is only here for people who may have come to rely\r | |
88 | # on the experimental Thread support that was in 5.005.\r | |
89 | #\r | |
90 | #USE_5005THREADS = define\r | |
91 | \r | |
92 | #\r | |
93 | # uncomment one of the following lines if you are using either\r | |
94 | # Visual C++ 2.x or Visual C++ 6.x (aka Visual Studio 98)\r | |
95 | #\r | |
96 | #CCTYPE = MSVC20\r | |
97 | CCTYPE = MSVC60\r | |
98 | \r | |
99 | #\r | |
100 | # uncomment next line if you want debug version of perl (big,slow)\r | |
101 | # If not enabled, we automatically try to use maximum optimization\r | |
102 | # with all compilers that are known to have a working optimizer.\r | |
103 | #\r | |
104 | #CFG = Debug\r | |
105 | \r | |
106 | #\r | |
107 | # uncomment to enable use of PerlCRT.DLL when using the Visual C compiler.\r | |
108 | # It has patches that fix known bugs in older versions of MSVCRT.DLL.\r | |
109 | # This currently requires VC 5.0 with Service Pack 3 or later.\r | |
110 | # Get it from CPAN at http://www.cpan.org/authors/id/D/DO/DOUGL/\r | |
111 | # and follow the directions in the package to install.\r | |
112 | #\r | |
113 | # Not recommended if you have VC 6.x and you're not running Windows 9x.\r | |
114 | #\r | |
115 | #USE_PERLCRT = define\r | |
116 | \r | |
117 | #\r | |
118 | # uncomment to enable linking with setargv.obj under the Visual C\r | |
119 | # compiler. Setting this options enables perl to expand wildcards in\r | |
120 | # arguments, but it may be harder to use alternate methods like\r | |
121 | # File::DosGlob that are more powerful. This option is supported only with\r | |
122 | # Visual C.\r | |
123 | #\r | |
124 | #USE_SETARGV = define\r | |
125 | \r | |
126 | #\r | |
127 | # if you want to have the crypt() builtin function implemented, leave this or\r | |
128 | # CRYPT_LIB uncommented. The fcrypt.c file named here contains a suitable\r | |
129 | # version of des_fcrypt().\r | |
130 | #\r | |
131 | CRYPT_SRC = fcrypt.c\r | |
132 | \r | |
133 | #\r | |
134 | # if you didn't set CRYPT_SRC and if you have des_fcrypt() available in a\r | |
135 | # library, uncomment this, and make sure the library exists (see README.win32)\r | |
136 | # Specify the full pathname of the library.\r | |
137 | #\r | |
138 | #CRYPT_LIB = fcrypt.lib\r | |
139 | \r | |
140 | #\r | |
141 | # set this if you wish to use perl's malloc\r | |
142 | # WARNING: Turning this on/off WILL break binary compatibility with extensions\r | |
143 | # you may have compiled with/without it. Be prepared to recompile all\r | |
144 | # extensions if you change the default. Currently, this cannot be enabled\r | |
145 | # if you ask for USE_IMP_SYS above.\r | |
146 | #\r | |
147 | #PERL_MALLOC = define\r | |
148 | \r | |
149 | #\r | |
150 | # set this to enable debugging mstats\r | |
151 | # This must be enabled to use the Devel::Peek::mstat() function. This cannot\r | |
152 | # be enabled without PERL_MALLOC as well.\r | |
153 | #\r | |
154 | #DEBUG_MSTATS = define\r | |
155 | \r | |
156 | #\r | |
157 | #\r | |
158 | # set the install locations of the compiler include/libraries\r | |
159 | # Running VCVARS32.BAT is *required* when using Visual C.\r | |
160 | # Some versions of Visual C don't define MSVCDIR in the environment,\r | |
161 | # so you may have to set CCHOME explicitly (spaces in the path name should\r | |
162 | # not be quoted)\r | |
163 | #\r | |
164 | #CCHOME = f:\msvc20\r | |
165 | CCHOME = $(MSVCDIR)\r | |
166 | CCINCDIR = $(CCHOME)\include\r | |
167 | CCLIBDIR = $(CCHOME)\lib\r | |
168 | \r | |
169 | #\r | |
170 | # Additional compiler flags can be specified here.\r | |
171 | #\r | |
172 | \r | |
173 | #\r | |
174 | # This should normally be disabled. Adding -DPERL_POLLUTE enables support\r | |
175 | # for old symbols by default, at the expense of extreme pollution. You most\r | |
176 | # probably just want to build modules that won't compile with\r | |
177 | # perl Makefile.PL POLLUTE=1\r | |
178 | # instead of enabling this. Please report such modules to the respective\r | |
179 | # authors.\r | |
180 | #\r | |
181 | #BUILDOPT = $(BUILDOPT) -DPERL_POLLUTE\r | |
182 | \r | |
183 | #\r | |
184 | # This should normally be disabled. Enabling it will disable the File::Glob\r | |
185 | # implementation of CORE::glob.\r | |
186 | #\r | |
187 | #BUILDOPT = $(BUILDOPT) -DPERL_EXTERNAL_GLOB\r | |
188 | \r | |
189 | #\r | |
190 | # This should normally be disabled. Enabling it causes perl to read scripts\r | |
191 | # in text mode (which is the 5.005 behavior) and will break ByteLoader.\r | |
192 | #BUILDOPT = $(BUILDOPT) -DPERL_TEXTMODE_SCRIPTS\r | |
193 | \r | |
194 | #\r | |
195 | # specify semicolon-separated list of extra directories that modules will\r | |
196 | # look for libraries (spaces in path names need not be quoted)\r | |
197 | #\r | |
198 | EXTRALIBDIRS =\r | |
199 | \r | |
200 | #\r | |
201 | # set this to your email address (perl will guess a value from\r | |
202 | # from your loginname and your hostname, which may not be right)\r | |
203 | #\r | |
204 | #EMAIL =\r | |
205 | \r | |
206 | ##\r | |
207 | ## Build configuration ends.\r | |
208 | ##\r | |
209 | \r | |
210 | ##################### CHANGE THESE ONLY IF YOU MUST #####################\r | |
211 | \r | |
212 | !IF "$(CRYPT_SRC)$(CRYPT_LIB)" == ""\r | |
213 | D_CRYPT = undef\r | |
214 | !ELSE\r | |
215 | D_CRYPT = define\r | |
216 | CRYPT_FLAG = -DHAVE_DES_FCRYPT\r | |
217 | !ENDIF\r | |
218 | \r | |
219 | !IF "$(PERL_MALLOC)" == ""\r | |
220 | PERL_MALLOC = undef\r | |
221 | DEBUG_MSTATS = undef\r | |
222 | !ENDIF\r | |
223 | \r | |
224 | !IF "$(DEBUG_MSTATS)" == ""\r | |
225 | DEBUG_MSTATS = undef\r | |
226 | !ENDIF\r | |
227 | \r | |
228 | !IF "$(DEBUG_MSTATS)" == "define"\r | |
229 | BUILDOPT = $(BUILDOPT) -DPERL_DEBUGGING_MSTATS\r | |
230 | !ENDIF\r | |
231 | \r | |
232 | !IF "$(USE_5005THREADS)" == ""\r | |
233 | USE_5005THREADS = undef\r | |
234 | !ENDIF\r | |
235 | \r | |
236 | !IF "$(USE_5005THREADS)" == "define"\r | |
237 | USE_ITHREADS = undef\r | |
238 | !ENDIF\r | |
239 | \r | |
240 | !IF "$(USE_IMP_SYS)" == "define"\r | |
241 | PERL_MALLOC = undef\r | |
242 | !ENDIF\r | |
243 | \r | |
244 | !IF "$(USE_MULTI)" == ""\r | |
245 | USE_MULTI = undef\r | |
246 | !ENDIF\r | |
247 | \r | |
248 | !IF "$(USE_ITHREADS)" == ""\r | |
249 | USE_ITHREADS = undef\r | |
250 | !ENDIF\r | |
251 | \r | |
252 | !IF "$(USE_IMP_SYS)" == ""\r | |
253 | USE_IMP_SYS = undef\r | |
254 | !ENDIF\r | |
255 | \r | |
256 | !IF "$(USE_PERLIO)" == ""\r | |
257 | USE_PERLIO = undef\r | |
258 | !ENDIF\r | |
259 | \r | |
260 | !IF "$(USE_LARGE_FILES)" == ""\r | |
261 | USE_LARGE_FILES = undef\r | |
262 | !ENDIF\r | |
263 | \r | |
264 | !IF "$(USE_PERLCRT)" == ""\r | |
265 | USE_PERLCRT = undef\r | |
266 | !ENDIF\r | |
267 | \r | |
268 | !IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)" == "defineundefundef"\r | |
269 | USE_MULTI = define\r | |
270 | !ENDIF\r | |
271 | \r | |
272 | !IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef"\r | |
273 | USE_MULTI = define\r | |
274 | USE_5005THREADS = undef\r | |
275 | !ENDIF\r | |
276 | \r | |
277 | !IF "$(USE_MULTI)$(USE_5005THREADS)" != "undefundef"\r | |
278 | BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT\r | |
279 | !ENDIF\r | |
280 | \r | |
281 | !IF "$(USE_IMP_SYS)" != "undef"\r | |
282 | BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_SYS\r | |
283 | !ENDIF\r | |
284 | \r | |
285 | !IF "$(PROCESSOR_ARCHITECTURE)" == ""\r | |
286 | PROCESSOR_ARCHITECTURE = x86\r | |
287 | !ENDIF\r | |
288 | \r | |
289 | !IF "$(WIN64)" == ""\r | |
290 | !IF "$(PROCESSOR_ARCHITEW6432)" != ""\r | |
291 | PROCESSOR_ARCHITECTURE = $(PROCESSOR_ARCHITEW6432)\r | |
292 | WIN64 = define\r | |
293 | !ELSE\r | |
294 | !IF "$(PROCESSOR_ARCHITECTURE)" == "IA64"\r | |
295 | WIN64 = define\r | |
296 | !ELSE\r | |
297 | WIN64 = undef\r | |
298 | !ENDIF\r | |
299 | !ENDIF\r | |
300 | !ENDIF\r | |
301 | \r | |
302 | !IF "$(USE_5005THREADS)" == "define"\r | |
303 | ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-thread\r | |
304 | !ELSE\r | |
305 | !IF "$(USE_MULTI)" == "define"\r | |
306 | ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-multi\r | |
307 | !ELSE\r | |
308 | !IF "$(USE_PERLIO)" == "define"\r | |
309 | ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)-perlio\r | |
310 | !ELSE\r | |
311 | ARCHNAME = MSWin32-$(PROCESSOR_ARCHITECTURE)\r | |
312 | !ENDIF\r | |
313 | !ENDIF\r | |
314 | !ENDIF\r | |
315 | \r | |
316 | !IF "$(USE_PERLIO)" == "define"\r | |
317 | BUILDOPT = $(BUILDOPT) -DUSE_PERLIO\r | |
318 | !ENDIF\r | |
319 | \r | |
320 | !IF "$(USE_ITHREADS)" == "define"\r | |
321 | ARCHNAME = $(ARCHNAME)-thread\r | |
322 | !ENDIF\r | |
323 | \r | |
324 | # Visual Studio 98 specific\r | |
325 | !IF "$(CCTYPE)" == "MSVC60"\r | |
326 | \r | |
327 | # VC 6.0 can load the socket dll on demand. Makes the test suite\r | |
328 | # run in about 10% less time.\r | |
329 | DELAYLOAD = -DELAYLOAD:wsock32.dll -DELAYLOAD:shell32.dll delayimp.lib\r | |
330 | !ENDIF\r | |
331 | \r | |
332 | ARCHDIR = ..\lib\$(ARCHNAME)\r | |
333 | COREDIR = ..\lib\CORE\r | |
334 | AUTODIR = ..\lib\auto\r | |
335 | LIBDIR = ..\lib\r | |
336 | EXTDIR = ..\ext\r | |
337 | PODDIR = ..\pod\r | |
338 | EXTUTILSDIR = $(LIBDIR)\ExtUtils\r | |
339 | \r | |
340 | #\r | |
341 | INST_SCRIPT = $(INST_TOP)$(INST_VER)\bin\r | |
342 | INST_BIN = $(INST_SCRIPT)$(INST_ARCH)\r | |
343 | INST_LIB = $(INST_TOP)$(INST_VER)\lib\r | |
344 | INST_ARCHLIB = $(INST_LIB)$(INST_ARCH)\r | |
345 | INST_COREDIR = $(INST_ARCHLIB)\CORE\r | |
346 | INST_POD = $(INST_LIB)\pod\r | |
347 | INST_HTML = $(INST_TOP)$(INST_VER)\html\r | |
348 | \r | |
349 | #\r | |
350 | # Programs to compile, build .lib files and link\r | |
351 | #\r | |
352 | \r | |
353 | CC = cl\r | |
354 | LINK32 = link\r | |
355 | LIB32 = $(LINK32) -lib\r | |
356 | RSC = rc\r | |
357 | \r | |
358 | #\r | |
359 | # Options\r | |
360 | #\r | |
361 | \r | |
362 | INCLUDES = -I$(COREDIR) -I.\include -I. -I..\r | |
363 | #PCHFLAGS = -Fpc:\temp\vcmoduls.pch -YX\r | |
364 | DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT $(CRYPT_FLAG)\r | |
365 | LOCDEFS = -DPERLDLL -DPERL_CORE\r | |
366 | SUBSYS = console\r | |
367 | CXX_FLAG = -TP -GX\r | |
368 | \r | |
369 | !IF "$(USE_PERLCRT)" != "define"\r | |
370 | LIBC = msvcrt.lib\r | |
371 | !ELSE\r | |
372 | LIBC = PerlCRT.lib\r | |
373 | !ENDIF\r | |
374 | \r | |
375 | PERLEXE_RES =\r | |
376 | PERLDLL_RES =\r | |
377 | \r | |
378 | !IF "$(CFG)" == "Debug"\r | |
379 | ! IF "$(CCTYPE)" == "MSVC20"\r | |
380 | OPTIMIZE = -Od -MD -Z7 -DDEBUGGING\r | |
381 | ! ELSE\r | |
382 | OPTIMIZE = -Od -MD -Zi -DDEBUGGING\r | |
383 | ! ENDIF\r | |
384 | LINK_DBG = -debug\r | |
385 | !ELSE\r | |
386 | OPTIMIZE = -MD -DNDEBUG\r | |
387 | LINK_DBG = -release\r | |
388 | ! IF "$(WIN64)" == "define"\r | |
389 | # enable Whole Program Optimizations (WPO) and Link Time Code Generation (LTCG)\r | |
390 | OPTIMIZE = $(OPTIMIZE) -Ox -GL\r | |
391 | LINK_DBG = $(LINK_DBG) -ltcg\r | |
392 | ! ELSE\r | |
393 | # -O1 yields smaller code, which turns out to be faster than -O2 on x86\r | |
394 | OPTIMIZE = $(OPTIMIZE) -O1\r | |
395 | #OPTIMIZE = $(OPTIMIZE) -O2\r | |
396 | ! ENDIF\r | |
397 | !ENDIF\r | |
398 | \r | |
399 | !IF "$(WIN64)" == "define"\r | |
400 | DEFINES = $(DEFINES) -DWIN64 -DCONSERVATIVE\r | |
401 | OPTIMIZE = $(OPTIMIZE) -Wp64 -Op\r | |
402 | !ENDIF\r | |
403 | \r | |
404 | !IF "$(USE_PERLCRT)" != "define"\r | |
405 | BUILDOPT = $(BUILDOPT) -DPERL_MSVCRT_READFIX\r | |
406 | !ENDIF\r | |
407 | \r | |
408 | LIBBASEFILES = $(CRYPT_LIB) \\r | |
409 | oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib \\r | |
410 | comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \\r | |
411 | netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib \\r | |
412 | version.lib\r | |
413 | \r | |
414 | # win64 doesn't have some libs\r | |
415 | !IF "$(WIN64)" != "define"\r | |
416 | LIBBASEFILES = $(LIBBASEFILES) odbc32.lib odbccp32.lib\r | |
417 | !ENDIF\r | |
418 | \r | |
419 | # we add LIBC here, since we may be using PerlCRT.dll\r | |
420 | LIBFILES = $(LIBBASEFILES) $(LIBC)\r | |
421 | \r | |
422 | CFLAGS = -nologo -Gf -W3 $(INCLUDES) $(DEFINES) $(LOCDEFS) \\r | |
423 | $(PCHFLAGS) $(OPTIMIZE)\r | |
424 | LINK_FLAGS = -nologo -nodefaultlib $(LINK_DBG) \\r | |
425 | -libpath:"$(INST_COREDIR)" \\r | |
426 | -machine:$(PROCESSOR_ARCHITECTURE)\r | |
427 | OBJOUT_FLAG = -Fo\r | |
428 | EXEOUT_FLAG = -Fe\r | |
429 | \r | |
430 | CFLAGS_O = $(CFLAGS) $(BUILDOPT)\r | |
431 | \r | |
432 | #################### do not edit below this line #######################\r | |
433 | ############# NO USER-SERVICEABLE PARTS BEYOND THIS POINT ##############\r | |
434 | \r | |
435 | o = .obj\r | |
436 | \r | |
437 | #\r | |
438 | # Rules\r | |
439 | #\r | |
440 | \r | |
441 | .SUFFIXES : .c $(o) .dll .lib .exe .rc .res\r | |
442 | \r | |
443 | .c$(o):\r | |
444 | $(CC) -c -I$(<D) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $<\r | |
445 | \r | |
446 | .y.c:\r | |
447 | $(NOOP)\r | |
448 | \r | |
449 | $(o).dll:\r | |
450 | $(LINK32) -dll -subsystem:windows -implib:$(*B).lib -def:$(*B).def \\r | |
451 | -out:$@ $(LINK_FLAGS) $(LIBFILES) $< $(LIBPERL)\r | |
452 | \r | |
453 | .rc.res:\r | |
454 | $(RSC) -i.. $<\r | |
455 | \r | |
456 | #\r | |
457 | # various targets\r | |
458 | \r | |
459 | # makedef.pl must be updated if this changes, and this should normally\r | |
460 | # only change when there is an incompatible revision of the public API.\r | |
461 | PERLIMPLIB = ..\perl58.lib\r | |
462 | PERLDLL = ..\perl58.dll\r | |
463 | \r | |
464 | MINIPERL = ..\miniperl.exe\r | |
465 | MINIDIR = .\mini\r | |
466 | PERLEXE = ..\perl.exe\r | |
467 | WPERLEXE = ..\wperl.exe\r | |
468 | GLOBEXE = ..\perlglob.exe\r | |
469 | CONFIGPM = ..\lib\Config.pm\r | |
470 | MINIMOD = ..\lib\ExtUtils\Miniperl.pm\r | |
471 | X2P = ..\x2p\a2p.exe\r | |
472 | \r | |
473 | # Nominate a target which causes extensions to be re-built\r | |
474 | # This used to be $(PERLEXE), but at worst it is the .dll that they depend\r | |
475 | # on and really only the interface - i.e. the .def file used to export symbols\r | |
476 | # from the .dll\r | |
477 | PERLDEP = perldll.def\r | |
478 | \r | |
479 | PL2BAT = bin\pl2bat.pl\r | |
480 | GLOBBAT = bin\perlglob.bat\r | |
481 | \r | |
482 | UTILS = \\r | |
483 | ..\utils\h2ph \\r | |
484 | ..\utils\splain \\r | |
485 | ..\utils\dprofpp \\r | |
486 | ..\utils\perlbug \\r | |
487 | ..\utils\pl2pm \\r | |
488 | ..\utils\c2ph \\r | |
489 | ..\utils\pstruct \\r | |
490 | ..\utils\h2xs \\r | |
491 | ..\utils\perldoc \\r | |
492 | ..\utils\perlcc \\r | |
493 | ..\utils\perlivp \\r | |
494 | ..\utils\libnetcfg \\r | |
495 | ..\utils\enc2xs \\r | |
496 | ..\utils\piconv \\r | |
497 | ..\utils\cpan \\r | |
498 | ..\pod\checkpods \\r | |
499 | ..\pod\pod2html \\r | |
500 | ..\pod\pod2latex \\r | |
501 | ..\pod\pod2man \\r | |
502 | ..\pod\pod2text \\r | |
503 | ..\pod\pod2usage \\r | |
504 | ..\pod\podchecker \\r | |
505 | ..\pod\podselect \\r | |
506 | ..\x2p\find2perl \\r | |
507 | ..\x2p\psed \\r | |
508 | ..\x2p\s2p \\r | |
509 | ..\lib\ExtUtils\xsubpp \\r | |
510 | bin\exetype.pl \\r | |
511 | bin\runperl.pl \\r | |
512 | bin\pl2bat.pl \\r | |
513 | bin\perlglob.pl \\r | |
514 | bin\search.pl\r | |
515 | \r | |
516 | MAKE = nmake -nologo\r | |
517 | MAKE_BARE = nmake\r | |
518 | \r | |
519 | !IF "$(WIN64)" == "define"\r | |
520 | CFGSH_TMPL = config.vc64\r | |
521 | CFGH_TMPL = config_H.vc64\r | |
522 | !ELSE\r | |
523 | CFGSH_TMPL = config.vc\r | |
524 | CFGH_TMPL = config_H.vc\r | |
525 | !ENDIF\r | |
526 | \r | |
527 | XCOPY = xcopy /f /r /i /d\r | |
528 | RCOPY = xcopy /f /r /i /e /d\r | |
529 | NOOP = @echo\r | |
530 | NULL =\r | |
531 | \r | |
532 | DEL = del\r | |
533 | \r | |
534 | #\r | |
535 | # filenames given to xsubpp must have forward slashes (since it puts\r | |
536 | # full pathnames in #line strings)\r | |
537 | XSUBPP = ..\$(MINIPERL) -I..\..\lib ..\$(EXTUTILSDIR)\xsubpp \\r | |
538 | -C++ -prototypes\r | |
539 | \r | |
540 | MICROCORE_SRC = \\r | |
541 | ..\av.c \\r | |
542 | ..\deb.c \\r | |
543 | ..\doio.c \\r | |
544 | ..\doop.c \\r | |
545 | ..\dump.c \\r | |
546 | ..\globals.c \\r | |
547 | ..\gv.c \\r | |
548 | ..\hv.c \\r | |
549 | ..\locale.c \\r | |
550 | ..\mg.c \\r | |
551 | ..\numeric.c \\r | |
552 | ..\op.c \\r | |
553 | ..\pad.c \\r | |
554 | ..\perl.c \\r | |
555 | ..\perlapi.c \\r | |
556 | ..\perly.c \\r | |
557 | ..\pp.c \\r | |
558 | ..\pp_ctl.c \\r | |
559 | ..\pp_hot.c \\r | |
560 | ..\pp_pack.c \\r | |
561 | ..\pp_sort.c \\r | |
562 | ..\pp_sys.c \\r | |
563 | ..\reentr.c \\r | |
564 | ..\regcomp.c \\r | |
565 | ..\regexec.c \\r | |
566 | ..\run.c \\r | |
567 | ..\scope.c \\r | |
568 | ..\sv.c \\r | |
569 | ..\taint.c \\r | |
570 | ..\toke.c \\r | |
571 | ..\universal.c \\r | |
572 | ..\utf8.c \\r | |
573 | ..\util.c \\r | |
574 | ..\xsutils.c\r | |
575 | \r | |
576 | EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c\r | |
577 | \r | |
578 | !IF "$(PERL_MALLOC)" == "define"\r | |
579 | EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c\r | |
580 | !ENDIF\r | |
581 | \r | |
582 | EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c\r | |
583 | \r | |
584 | WIN32_SRC = \\r | |
585 | .\win32.c \\r | |
586 | .\win32sck.c \\r | |
587 | .\win32thread.c\r | |
588 | \r | |
589 | # We need this for miniperl build unless we override canned \r | |
590 | # config.h #define building mini\*\r | |
591 | #!IF "$(USE_PERLIO)" == "define"\r | |
592 | WIN32_SRC = $(WIN32_SRC) .\win32io.c\r | |
593 | #!ENDIF\r | |
594 | \r | |
595 | !IF "$(CRYPT_SRC)" != ""\r | |
596 | WIN32_SRC = $(WIN32_SRC) .\$(CRYPT_SRC)\r | |
597 | !ENDIF\r | |
598 | \r | |
599 | DLL_SRC = $(DYNALOADER).c\r | |
600 | \r | |
601 | X2P_SRC = \\r | |
602 | ..\x2p\a2p.c \\r | |
603 | ..\x2p\hash.c \\r | |
604 | ..\x2p\str.c \\r | |
605 | ..\x2p\util.c \\r | |
606 | ..\x2p\walk.c\r | |
607 | \r | |
608 | CORE_NOCFG_H = \\r | |
609 | ..\av.h \\r | |
610 | ..\cop.h \\r | |
611 | ..\cv.h \\r | |
612 | ..\dosish.h \\r | |
613 | ..\embed.h \\r | |
614 | ..\form.h \\r | |
615 | ..\gv.h \\r | |
616 | ..\handy.h \\r | |
617 | ..\hv.h \\r | |
618 | ..\iperlsys.h \\r | |
619 | ..\mg.h \\r | |
620 | ..\nostdio.h \\r | |
621 | ..\op.h \\r | |
622 | ..\opcode.h \\r | |
623 | ..\perl.h \\r | |
624 | ..\perlapi.h \\r | |
625 | ..\perlsdio.h \\r | |
626 | ..\perlsfio.h \\r | |
627 | ..\perly.h \\r | |
628 | ..\pp.h \\r | |
629 | ..\proto.h \\r | |
630 | ..\regexp.h \\r | |
631 | ..\scope.h \\r | |
632 | ..\sv.h \\r | |
633 | ..\thread.h \\r | |
634 | ..\unixish.h \\r | |
635 | ..\utf8.h \\r | |
636 | ..\util.h \\r | |
637 | ..\warnings.h \\r | |
638 | ..\XSUB.h \\r | |
639 | ..\EXTERN.h \\r | |
640 | ..\perlvars.h \\r | |
641 | ..\intrpvar.h \\r | |
642 | ..\thrdvar.h \\r | |
643 | .\include\dirent.h \\r | |
644 | .\include\netdb.h \\r | |
645 | .\include\sys\socket.h \\r | |
646 | .\win32.h\r | |
647 | \r | |
648 | CORE_H = $(CORE_NOCFG_H) .\config.h\r | |
649 | \r | |
650 | MICROCORE_OBJ = $(MICROCORE_SRC:.c=.obj)\r | |
651 | CORE_OBJ = $(MICROCORE_OBJ) $(EXTRACORE_SRC:.c=.obj)\r | |
652 | WIN32_OBJ = $(WIN32_SRC:.c=.obj)\r | |
653 | MINICORE_OBJ = $(MICROCORE_OBJ:..\=.\mini\) \\r | |
654 | $(MINIDIR)\miniperlmain$(o) \\r | |
655 | $(MINIDIR)\perlio$(o)\r | |
656 | MINIWIN32_OBJ = $(WIN32_OBJ:.\=.\mini\)\r | |
657 | MINI_OBJ = $(MINICORE_OBJ) $(MINIWIN32_OBJ)\r | |
658 | DLL_OBJ = $(DLL_SRC:.c=.obj)\r | |
659 | X2P_OBJ = $(X2P_SRC:.c=.obj)\r | |
660 | \r | |
661 | PERLDLL_OBJ = $(CORE_OBJ)\r | |
662 | PERLEXE_OBJ = perlmain$(o)\r | |
663 | \r | |
664 | PERLDLL_OBJ = $(PERLDLL_OBJ) $(WIN32_OBJ) $(DLL_OBJ)\r | |
665 | #PERLEXE_OBJ = $(PERLEXE_OBJ) $(WIN32_OBJ) $(DLL_OBJ)\r | |
666 | \r | |
667 | !IF "$(USE_SETARGV)" != ""\r | |
668 | SETARGV_OBJ = setargv$(o)\r | |
669 | !ENDIF\r | |
670 | \r | |
671 | DYNALOADER = $(EXTDIR)\DynaLoader\DynaLoader\r | |
672 | SOCKET = $(EXTDIR)\Socket\Socket\r | |
673 | FCNTL = $(EXTDIR)\Fcntl\Fcntl\r | |
674 | OPCODE = $(EXTDIR)\Opcode\Opcode\r | |
675 | SDBM_FILE = $(EXTDIR)\SDBM_File\SDBM_File\r | |
676 | IO = $(EXTDIR)\IO\IO\r | |
677 | POSIX = $(EXTDIR)\POSIX\POSIX\r | |
678 | ATTRS = $(EXTDIR)\attrs\attrs\r | |
679 | THREAD = $(EXTDIR)\Thread\Thread\r | |
680 | B = $(EXTDIR)\B\B\r | |
681 | RE = $(EXTDIR)\re\re\r | |
682 | DUMPER = $(EXTDIR)\Data\Dumper\Dumper\r | |
683 | ERRNO = $(EXTDIR)\Errno\Errno\r | |
684 | PEEK = $(EXTDIR)\Devel\Peek\Peek\r | |
685 | BYTELOADER = $(EXTDIR)\ByteLoader\ByteLoader\r | |
686 | DPROF = $(EXTDIR)\Devel\DProf\DProf\r | |
687 | GLOB = $(EXTDIR)\File\Glob\Glob\r | |
688 | HOSTNAME = $(EXTDIR)\Sys\Hostname\Hostname\r | |
689 | STORABLE = $(EXTDIR)\Storable\Storable\r | |
690 | FILTER = $(EXTDIR)\Filter\Util\Call\Call\r | |
691 | ENCODE = $(EXTDIR)\Encode\Encode\r | |
692 | MD5 = $(EXTDIR)\Digest\MD5\MD5\r | |
693 | PERLIOSCALAR = $(EXTDIR)\PerlIO\scalar\scalar\r | |
694 | MIMEBASE64 = $(EXTDIR)\MIME\Base64\Base64\r | |
695 | TIMEHIRES = $(EXTDIR)\Time\HiRes\HiRes\r | |
696 | CWD = $(EXTDIR)\Cwd\Cwd\r | |
697 | LISTUTIL = $(EXTDIR)\List\Util\Util\r | |
698 | PERLIOVIA = $(EXTDIR)\PerlIO\via\via\r | |
699 | XSAPITEST = $(EXTDIR)\XS\APItest\APItest\r | |
700 | XSTYPEMAP = $(EXTDIR)\XS\Typemap\Typemap\r | |
701 | UNICODENORMALIZE = $(EXTDIR)\Unicode\Normalize\Normalize\r | |
702 | \r | |
703 | SOCKET_DLL = $(AUTODIR)\Socket\Socket.dll\r | |
704 | FCNTL_DLL = $(AUTODIR)\Fcntl\Fcntl.dll\r | |
705 | OPCODE_DLL = $(AUTODIR)\Opcode\Opcode.dll\r | |
706 | SDBM_FILE_DLL = $(AUTODIR)\SDBM_File\SDBM_File.dll\r | |
707 | IO_DLL = $(AUTODIR)\IO\IO.dll\r | |
708 | POSIX_DLL = $(AUTODIR)\POSIX\POSIX.dll\r | |
709 | ATTRS_DLL = $(AUTODIR)\attrs\attrs.dll\r | |
710 | THREAD_DLL = $(AUTODIR)\Thread\Thread.dll\r | |
711 | B_DLL = $(AUTODIR)\B\B.dll\r | |
712 | DUMPER_DLL = $(AUTODIR)\Data\Dumper\Dumper.dll\r | |
713 | PEEK_DLL = $(AUTODIR)\Devel\Peek\Peek.dll\r | |
714 | RE_DLL = $(AUTODIR)\re\re.dll\r | |
715 | BYTELOADER_DLL = $(AUTODIR)\ByteLoader\ByteLoader.dll\r | |
716 | DPROF_DLL = $(AUTODIR)\Devel\DProf\DProf.dll\r | |
717 | GLOB_DLL = $(AUTODIR)\File\Glob\Glob.dll\r | |
718 | HOSTNAME_DLL = $(AUTODIR)\Sys\Hostname\Hostname.dll\r | |
719 | STORABLE_DLL = $(AUTODIR)\Storable\Storable.dll\r | |
720 | FILTER_DLL = $(AUTODIR)\Filter\Util\Call\Call.dll\r | |
721 | ENCODE_DLL = $(AUTODIR)\Encode\Encode.dll\r | |
722 | MD5_DLL = $(AUTODIR)\Digest\MD5\MD5.dll\r | |
723 | PERLIOSCALAR_DLL = $(AUTODIR)\PerlIO\scalar\scalar.dll\r | |
724 | MIMEBASE64_DLL = $(AUTODIR)\MIME\Base64\Base64.dll\r | |
725 | TIMEHIRES_DLL = $(AUTODIR)\Time\HiRes\HiRes.dll\r | |
726 | CWD_DLL = $(AUTODIR)\Cwd\Cwd.dll\r | |
727 | LISTUTIL_DLL = $(AUTODIR)\List\Util\Util.dll\r | |
728 | PERLIOVIA_DLL = $(AUTODIR)\PerlIO\via\via.dll\r | |
729 | XSAPITEST_DLL = $(AUTODIR)\XS\APItest\APItest.dll\r | |
730 | XSTYPEMAP_DLL = $(AUTODIR)\XS\Typemap\Typemap.dll\r | |
731 | UNICODENORMALIZE_DLL = $(AUTODIR)\Unicode\Normalize\Normalize.dll\r | |
732 | \r | |
733 | EXTENSION_C = \\r | |
734 | $(SOCKET).c \\r | |
735 | $(FCNTL).c \\r | |
736 | $(OPCODE).c \\r | |
737 | $(SDBM_FILE).c \\r | |
738 | $(IO).c \\r | |
739 | $(POSIX).c \\r | |
740 | $(ATTRS).c \\r | |
741 | $(THREAD).c \\r | |
742 | $(RE).c \\r | |
743 | $(DUMPER).c \\r | |
744 | $(PEEK).c \\r | |
745 | $(B).c \\r | |
746 | $(BYTELOADER).c \\r | |
747 | $(DPROF).c \\r | |
748 | $(GLOB).c \\r | |
749 | $(HOSTNAME).c \\r | |
750 | $(STORABLE).c \\r | |
751 | $(FILTER).c \\r | |
752 | $(ENCODE).c \\r | |
753 | $(MD5).c \\r | |
754 | $(PERLIOSCALAR).c \\r | |
755 | $(MIMEBASE64).c \\r | |
756 | $(TIMEHIRES).c \\r | |
757 | $(CWD).c \\r | |
758 | $(LISTUTIL).c \\r | |
759 | $(PERLIOVIA).c \\r | |
760 | $(XSAPITEST).c \\r | |
761 | $(XSTYPEMAP).c \\r | |
762 | $(UNICODENORMALIZE).c\r | |
763 | \r | |
764 | EXTENSION_DLL = \\r | |
765 | $(SOCKET_DLL) \\r | |
766 | $(FCNTL_DLL) \\r | |
767 | $(OPCODE_DLL) \\r | |
768 | $(SDBM_FILE_DLL)\\r | |
769 | $(IO_DLL) \\r | |
770 | $(POSIX_DLL) \\r | |
771 | $(ATTRS_DLL) \\r | |
772 | $(DUMPER_DLL) \\r | |
773 | $(PEEK_DLL) \\r | |
774 | $(B_DLL) \\r | |
775 | $(RE_DLL) \\r | |
776 | $(THREAD_DLL) \\r | |
777 | $(BYTELOADER_DLL) \\r | |
778 | $(DPROF_DLL) \\r | |
779 | $(GLOB_DLL) \\r | |
780 | $(HOSTNAME_DLL) \\r | |
781 | $(STORABLE_DLL) \\r | |
782 | $(FILTER_DLL) \\r | |
783 | $(ENCODE_DLL) \\r | |
784 | $(MD5_DLL) \\r | |
785 | $(PERLIOSCALAR_DLL) \\r | |
786 | $(MIMEBASE64_DLL) \\r | |
787 | $(TIMEHIRES_DLL) \\r | |
788 | $(CWD_DLL) \\r | |
789 | $(LISTUTIL_DLL) \\r | |
790 | $(PERLIOVIA_DLL) \\r | |
791 | $(XSAPITEST_DLL) \\r | |
792 | $(XSTYPEMAP_DLL) \\r | |
793 | $(UNICODENORMALIZE_DLL)\r | |
794 | \r | |
795 | POD2HTML = $(PODDIR)\pod2html\r | |
796 | POD2MAN = $(PODDIR)\pod2man\r | |
797 | POD2LATEX = $(PODDIR)\pod2latex\r | |
798 | POD2TEXT = $(PODDIR)\pod2text\r | |
799 | \r | |
800 | CFG_VARS = \\r | |
801 | "INST_DRV=$(INST_DRV)" \\r | |
802 | "INST_TOP=$(INST_TOP)" \\r | |
803 | "INST_VER=$(INST_VER)" \\r | |
804 | "INST_ARCH=$(INST_ARCH)" \\r | |
805 | "archname=$(ARCHNAME)" \\r | |
806 | "cc=$(CC)" \\r | |
807 | "ld=$(LINK32)" \\r | |
808 | "ccflags=-nologo -Gf -W3 $(OPTIMIZE:"=\") $(DEFINES) $(BUILDOPT)" \\r | |
809 | "cf_email=$(EMAIL)" \\r | |
810 | "d_crypt=$(D_CRYPT)" \\r | |
811 | "d_mymalloc=$(PERL_MALLOC)" \\r | |
812 | "libs=$(LIBFILES)" \\r | |
813 | "incpath=$(CCINCDIR:"=\")" \\r | |
814 | "libperl=$(PERLIMPLIB:..\=)" \\r | |
815 | "libpth=$(CCLIBDIR:"=\");$(EXTRALIBDIRS:"=\")" \\r | |
816 | "libc=$(LIBC)" \\r | |
817 | "make=$(MAKE_BARE)" \\r | |
818 | "usethreads=$(USE_ITHREADS)" \\r | |
819 | "use5005threads=$(USE_5005THREADS)" \\r | |
820 | "useithreads=$(USE_ITHREADS)" \\r | |
821 | "usethreads=$(USE_5005THREADS)" \\r | |
822 | "usemultiplicity=$(USE_MULTI)" \\r | |
823 | "useperlio=$(USE_PERLIO)" \\r | |
824 | "uselargefiles=$(USE_LARGE_FILES)" \\r | |
825 | "LINK_FLAGS=$(LINK_FLAGS:"=\")" \\r | |
826 | "optimize=$(OPTIMIZE:"=\")"\r | |
827 | \r | |
828 | #\r | |
829 | # Top targets\r | |
830 | #\r | |
831 | \r | |
832 | all : .\config.h $(GLOBEXE) $(MINIMOD) $(CONFIGPM) $(PERLEXE) \\r | |
833 | $(X2P) Extensions\r | |
834 | @echo Everything is up to date. '$(MAKE_BARE) test' to run test suite.\r | |
835 | \r | |
836 | $(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c\r | |
837 | \r | |
838 | #------------------------------------------------------------\r | |
839 | \r | |
840 | $(GLOBEXE) : perlglob$(o)\r | |
841 | $(LINK32) $(LINK_FLAGS) $(LIBFILES) -out:$@ -subsystem:$(SUBSYS) \\r | |
842 | perlglob$(o) setargv$(o)\r | |
843 | \r | |
844 | perlglob$(o) : perlglob.c\r | |
845 | \r | |
846 | config.w32 : $(CFGSH_TMPL)\r | |
847 | copy $(CFGSH_TMPL) config.w32\r | |
848 | \r | |
849 | .\config.h : $(CFGH_TMPL)\r | |
850 | -del /f config.h\r | |
851 | copy $(CFGH_TMPL) config.h\r | |
852 | \r | |
853 | ..\config.sh : config.w32 $(MINIPERL) config_sh.PL\r | |
854 | $(MINIPERL) -I..\lib config_sh.PL $(CFG_VARS) config.w32 > ..\config.sh\r | |
855 | \r | |
856 | # this target is for when changes to the main config.sh happen\r | |
857 | # edit config.{b,v,g}c and make this target once for each supported\r | |
858 | # compiler (e.g. `nmake CCTYPE=BORLAND regen_config_h`)\r | |
859 | regen_config_h:\r | |
860 | perl config_sh.PL $(CFG_VARS) $(CFGSH_TMPL) > ..\config.sh\r | |
861 | cd ..\r | |
862 | -del /f perl.exe perl*.dll\r | |
863 | perl configpm\r | |
864 | cd win32\r | |
865 | -del /f $(CFGH_TMPL)\r | |
866 | -mkdir $(COREDIR)\r | |
867 | -perl config_h.PL "INST_VER=$(INST_VER)"\r | |
868 | rename config.h $(CFGH_TMPL)\r | |
869 | \r | |
870 | $(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL ..\minimod.pl\r | |
871 | cd ..\r | |
872 | miniperl configpm\r | |
873 | cd win32\r | |
874 | if exist lib\* $(RCOPY) lib\*.* ..\lib\$(NULL)\r | |
875 | $(XCOPY) ..\*.h $(COREDIR)\*.*\r | |
a4753d87 | 876 | $(XCOPY) ..\*.inc $(COREDIR)\*.*\r |
1bd74e72 NC |
877 | $(XCOPY) *.h $(COREDIR)\*.*\r |
878 | $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.*\r | |
879 | $(RCOPY) include $(COREDIR)\*.*\r | |
880 | -$(MINIPERL) -I..\lib config_h.PL "INST_VER=$(INST_VER)"\r | |
881 | if errorlevel 1 $(MAKE) /$(MAKEFLAGS) $(CONFIGPM)\r | |
882 | \r | |
883 | $(MINIPERL) : $(MINIDIR) $(MINI_OBJ)\r | |
884 | $(LINK32) -subsystem:console -out:$@ @<<\r | |
885 | $(LINK_FLAGS) $(LIBFILES) $(MINI_OBJ)\r | |
886 | <<\r | |
887 | \r | |
888 | $(MINIDIR) :\r | |
889 | if not exist "$(MINIDIR)" mkdir "$(MINIDIR)"\r | |
890 | \r | |
891 | $(MINICORE_OBJ) : $(CORE_NOCFG_H)\r | |
892 | $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB $(OBJOUT_FLAG)$@ ..\$(*F).c\r | |
893 | \r | |
894 | $(MINIWIN32_OBJ) : $(CORE_NOCFG_H)\r | |
895 | $(CC) -c $(CFLAGS) $(OBJOUT_FLAG)$@ $(*F).c\r | |
896 | \r | |
897 | # -DPERL_IMPLICIT_SYS needs C++ for perllib.c\r | |
898 | # This is the only file that depends on perlhost.h, vmem.h, and vdir.h\r | |
899 | !IF "$(USE_IMP_SYS)" == "define"\r | |
900 | perllib$(o) : perllib.c .\perlhost.h .\vdir.h .\vmem.h\r | |
901 | $(CC) -c -I. $(CFLAGS_O) $(CXX_FLAG) $(OBJOUT_FLAG)$@ perllib.c\r | |
902 | !ENDIF\r | |
903 | \r | |
904 | # 1. we don't want to rebuild miniperl.exe when config.h changes\r | |
905 | # 2. we don't want to rebuild miniperl.exe with non-default config.h\r | |
906 | $(MINI_OBJ) : $(CORE_NOCFG_H)\r | |
907 | \r | |
908 | $(WIN32_OBJ) : $(CORE_H)\r | |
909 | $(CORE_OBJ) : $(CORE_H)\r | |
910 | $(DLL_OBJ) : $(CORE_H)\r | |
911 | $(X2P_OBJ) : $(CORE_H)\r | |
912 | \r | |
913 | perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\pp.sym ..\makedef.pl\r | |
914 | $(MINIPERL) -w ..\makedef.pl PLATFORM=win32 $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \\r | |
915 | CCTYPE=$(CCTYPE) > perldll.def\r | |
916 | \r | |
917 | $(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES)\r | |
918 | $(LINK32) -dll -def:perldll.def -base:0x28000000 -out:$@ @<<\r | |
919 | $(LINK_FLAGS) $(DELAYLOAD) $(LIBFILES) $(PERLDLL_OBJ) $(PERLDLL_RES)\r | |
920 | <<\r | |
921 | $(XCOPY) $(PERLIMPLIB) $(COREDIR)\r | |
922 | \r | |
923 | $(MINIMOD) : $(MINIPERL) ..\minimod.pl\r | |
924 | cd ..\r | |
925 | miniperl minimod.pl > lib\ExtUtils\Miniperl.pm\r | |
926 | cd win32\r | |
927 | \r | |
928 | ..\x2p\a2p$(o) : ..\x2p\a2p.c\r | |
929 | $(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\a2p.c\r | |
930 | \r | |
931 | ..\x2p\hash$(o) : ..\x2p\hash.c\r | |
932 | $(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\hash.c\r | |
933 | \r | |
934 | ..\x2p\str$(o) : ..\x2p\str.c\r | |
935 | $(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\str.c\r | |
936 | \r | |
937 | ..\x2p\util$(o) : ..\x2p\util.c\r | |
938 | $(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\util.c\r | |
939 | \r | |
940 | ..\x2p\walk$(o) : ..\x2p\walk.c\r | |
941 | $(CC) -I..\x2p $(CFLAGS) $(OBJOUT_FLAG)$@ -c ..\x2p\walk.c\r | |
942 | \r | |
943 | $(X2P) : $(MINIPERL) $(X2P_OBJ)\r | |
944 | $(MINIPERL) ..\x2p\find2perl.PL\r | |
945 | $(MINIPERL) ..\x2p\s2p.PL\r | |
946 | $(LINK32) -subsystem:console -out:$@ @<<\r | |
947 | $(LINK_FLAGS) $(LIBFILES) $(X2P_OBJ)\r | |
948 | <<\r | |
949 | \r | |
950 | perlmain.c : runperl.c\r | |
951 | copy runperl.c perlmain.c\r | |
952 | \r | |
953 | perlmain$(o) : perlmain.c\r | |
954 | $(CC) $(CFLAGS_O) -UPERLDLL $(OBJOUT_FLAG)$@ -c perlmain.c\r | |
955 | \r | |
956 | $(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)\r | |
957 | $(LINK32) -subsystem:console -out:$@ -stack:0x1000000 $(LINK_FLAGS) \\r | |
958 | $(LIBFILES) $(PERLEXE_OBJ) $(SETARGV_OBJ) $(PERLIMPLIB) $(PERLEXE_RES)\r | |
959 | copy $(PERLEXE) $(WPERLEXE)\r | |
960 | $(MINIPERL) -I..\lib bin\exetype.pl $(WPERLEXE) WINDOWS\r | |
961 | copy splittree.pl ..\r | |
962 | $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR)\r | |
963 | \r | |
964 | $(DYNALOADER).c: $(MINIPERL) $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)\r | |
965 | if not exist $(AUTODIR) mkdir $(AUTODIR)\r | |
966 | cd $(EXTDIR)\$(*B)\r | |
967 | ..\$(MINIPERL) -I..\..\lib $(*B)_pm.PL\r | |
968 | ..\$(MINIPERL) -I..\..\lib XSLoader_pm.PL\r | |
969 | cd ..\..\win32\r | |
970 | $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)\r | |
971 | $(XCOPY) $(EXTDIR)\$(*B)\XSLoader.pm $(LIBDIR)\$(NULL)\r | |
972 | cd $(EXTDIR)\$(*B)\r | |
973 | $(XSUBPP) dl_win32.xs > $(*B).c\r | |
974 | cd ..\..\win32\r | |
975 | \r | |
976 | $(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs\r | |
977 | copy dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs\r | |
978 | \r | |
979 | #----------------------------------------------------------------------------------\r | |
980 | Extensions: buildext.pl $(PERLDEP) $(CONFIGPM)\r | |
981 | $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR)\r | |
982 | \r | |
983 | Extensions_clean: \r | |
984 | -if exist $(MINIPERL) $(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR) clean\r | |
985 | \r | |
986 | #----------------------------------------------------------------------------------\r | |
987 | \r | |
988 | doc: $(PERLEXE)\r | |
989 | $(PERLEXE) -I..\lib ..\installhtml --podroot=.. --htmldir=./html \\r | |
990 | --podpath=pod:lib:ext:utils --htmlroot="file://$(INST_HTML::=|)" \\r | |
991 | --libpod=perlfunc:perlguts:perlvar:perlrun:perlop --recurse\r | |
992 | \r | |
993 | utils: $(PERLEXE) $(X2P)\r | |
994 | cd ..\utils\r | |
995 | $(MAKE) PERL=$(MINIPERL)\r | |
996 | cd ..\pod\r | |
096852fc NC |
997 | copy ..\README.aix .\perlaix.pod |
998 | copy ..\README.amiga .\perlamiga.pod | |
999 | copy ..\README.apollo .\perlapollo.pod | |
1000 | copy ..\README.beos .\perlbeos.pod | |
1001 | copy ..\README.bs2000 .\perlbs2000.pod | |
1002 | copy ..\README.ce .\perlce.pod | |
1003 | copy ..\README.cn .\perlcn.pod | |
1004 | copy ..\README.cygwin .\perlcygwin.pod | |
1005 | copy ..\README.dgux .\perldgux.pod | |
1006 | copy ..\README.dos .\perldos.pod | |
1007 | copy ..\README.epoc .\perlepoc.pod | |
1008 | copy ..\README.freebsd .\perlfreebsd.pod | |
1009 | copy ..\README.hpux .\perlhpux.pod | |
1010 | copy ..\README.hurd .\perlhurd.pod | |
1011 | copy ..\README.irix .\perlirix.pod | |
1012 | copy ..\README.jp .\perljp.pod | |
1013 | copy ..\README.ko .\perlko.pod | |
1014 | copy ..\README.machten .\perlmachten.pod | |
1015 | copy ..\README.macos .\perlmacos.pod | |
1016 | copy ..\README.macosx .\perlmacosx.pod | |
1017 | copy ..\README.mint .\perlmint.pod | |
1018 | copy ..\README.mpeix .\perlmpeix.pod | |
1019 | copy ..\README.netware .\perlnetware.pod | |
1020 | copy ..\README.os2 .\perlos2.pod | |
1021 | copy ..\README.os390 .\perlos390.pod | |
1022 | copy ..\README.os400 .\perlos400.pod | |
1023 | copy ..\README.plan9 .\perlplan9.pod | |
1024 | copy ..\README.qnx .\perlqnx.pod | |
1025 | copy ..\README.solaris .\perlsolaris.pod | |
1026 | copy ..\README.tru64 .\perltru64.pod | |
1027 | copy ..\README.tw .\perltw.pod | |
1028 | copy ..\README.uts .\perluts.pod | |
1029 | copy ..\README.vmesa .\perlvmesa.pod | |
1030 | copy ..\README.vms .\perlvms.pod | |
1031 | copy ..\README.vos .\perlvos.pod | |
1032 | copy ..\README.win32 .\perlwin32.pod | |
1bd74e72 NC |
1033 | copy ..\vms\perlvms.pod .\perlvms.pod\r |
1034 | $(MAKE) -f ..\win32\pod.mak converters\r | |
1035 | cd ..\lib\r | |
1036 | $(PERLEXE) lib_pm.PL\r | |
1037 | cd ..\win32\r | |
1038 | $(PERLEXE) $(PL2BAT) $(UTILS)\r | |
1039 | \r | |
1040 | # the doubled rmdir calls are needed because older cmd shells\r | |
1041 | # don't understand /q\r | |
1042 | distclean: clean\r | |
1043 | -del /f $(MINIPERL) $(PERLEXE) $(PERLDLL) $(GLOBEXE) \\r | |
1044 | $(PERLIMPLIB) ..\miniperl.lib $(MINIMOD)\r | |
1045 | -del /f *.def *.map\r | |
1046 | -del /f $(EXTENSION_DLL)\r | |
1047 | -del /f $(EXTENSION_C) $(DYNALOADER).c $(ERRNO).pm\r | |
1048 | -del /f $(EXTDIR)\DynaLoader\dl_win32.xs\r | |
1049 | -del /f $(LIBDIR)\.exists $(LIBDIR)\attrs.pm $(LIBDIR)\DynaLoader.pm\r | |
1050 | -del /f $(LIBDIR)\XSLoader.pm\r | |
1051 | -del /f $(LIBDIR)\Fcntl.pm $(LIBDIR)\IO.pm $(LIBDIR)\Opcode.pm\r | |
1052 | -del /f $(LIBDIR)\ops.pm $(LIBDIR)\Safe.pm\r | |
1053 | -del /f $(LIBDIR)\SDBM_File.pm $(LIBDIR)\Socket.pm $(LIBDIR)\POSIX.pm\r | |
1054 | -del /f $(LIBDIR)\B.pm $(LIBDIR)\O.pm $(LIBDIR)\re.pm\r | |
1055 | -del /f $(LIBDIR)\Data\Dumper.pm $(LIBDIR)\ByteLoader.pm\r | |
1056 | -del /f $(LIBDIR)\Devel\Peek.pm $(LIBDIR)\Devel\DProf.pm\r | |
1057 | -del /f $(LIBDIR)\File\Glob.pm\r | |
1058 | -del /f $(LIBDIR)\Storable.pm\r | |
1059 | -del /f $(LIBDIR)\Filter\Util\Call.pm\r | |
1060 | -del /f $(LIBDIR)\Digest\MD5.pm\r | |
1061 | -del /f $(LIBDIR)\PerlIO\scalar.pm\r | |
1062 | -del /f $(LIBDIR)\PerlIO\via.pm\r | |
1063 | -del /f $(LIBDIR)\MIME\Base64.pm\r | |
1064 | -del /f $(LIBDIR)\MIME\QuotedPrint.pm\r | |
1065 | -del /f $(LIBDIR)\List\Util.pm\r | |
1066 | -del /f $(LIBDIR)\Scalar\Util.pm\r | |
1067 | -del /f $(LIBDIR)\Time\HiRes.pm\r | |
1068 | -del /f $(LIBDIR)\XS\APItest.pm\r | |
1069 | -del /f $(LIBDIR)\XS\Typemap.pm\r | |
1070 | -del /f $(LIBDIR)\Unicode\Normalize.pm\r | |
1071 | -if exist $(LIBDIR)\IO rmdir /s /q $(LIBDIR)\IO\r | |
1072 | -if exist $(LIBDIR)\IO rmdir /s $(LIBDIR)\IO\r | |
1073 | -if exist $(LIBDIR)\B rmdir /s /q $(LIBDIR)\B\r | |
1074 | -if exist $(LIBDIR)\B rmdir /s $(LIBDIR)\B\r | |
1075 | -if exist $(LIBDIR)\Data rmdir /s /q $(LIBDIR)\Data\r | |
1076 | -if exist $(LIBDIR)\Data rmdir /s $(LIBDIR)\Data\r | |
1077 | -if exist $(LIBDIR)\Filter\Util rmdir /s /q $(LIBDIR)\Filter\Util\r | |
1078 | -if exist $(LIBDIR)\Filter\Util rmdir /s $(LIBDIR)\Filter\Util\r | |
1079 | -if exist $(LIBDIR)\Digest rmdir /s /q $(LIBDIR)\Digest\r | |
1080 | -if exist $(LIBDIR)\Digest rmdir /s $(LIBDIR)\Digest\r | |
1081 | -if exist $(LIBDIR)\MIME rmdir /s /q $(LIBDIR)\MIME\r | |
1082 | -if exist $(LIBDIR)\MIME rmdir /s $(LIBDIR)\MIME\r | |
1083 | -if exist $(LIBDIR)\List rmdir /s /q $(LIBDIR)\List\r | |
1084 | -if exist $(LIBDIR)\List rmdir /s $(LIBDIR)\List\r | |
1085 | -if exist $(LIBDIR)\Scalar rmdir /s /q $(LIBDIR)\Scalar\r | |
1086 | -if exist $(LIBDIR)\Scalar rmdir /s $(LIBDIR)\Scalar\r | |
1087 | -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS\r | |
1088 | -if exist $(LIBDIR)\XS rmdir /s $(LIBDIR)\XS\r | |
1089 | cd $(PODDIR)\r | |
1090 | -del /f *.html *.bat checkpods \\r | |
1091 | perlaix.pod perlamiga.pod perlapollo.pod perlbeos.pod \\r | |
1092 | perlbs2000.pod perlce.pod perlcygwin.pod perldgux.pod \\r | |
1093 | perldos.pod perlepoc.pod perlfreebsd.pod perlhurd.pod \\r | |
1094 | perlhpux.pod perlirix.pod perlmachten.pod \\r | |
1095 | perlmacos.pod perlmint.pod perlmpeix.pod perlnetware.pod \\r | |
1096 | perlos2.pod perlos390.pod perlos400.pod perlplan9.pod \\r | |
1097 | perlqnx.pod perlsolaris.pod perltru64.pod perluts.pod \\r | |
1098 | perlvmesa.pod perlvms.pod perlvos.pod \\r | |
1099 | perlwin32.pod pod2html pod2latex pod2man pod2text pod2usage \\r | |
1100 | podchecker podselect\r | |
1101 | cd ..\utils\r | |
1102 | -del /f h2ph splain perlbug pl2pm c2ph pstruct h2xs perldoc perlivp \\r | |
1103 | dprofpp perlcc libnetcfg enc2xs piconv cpan\r | |
1104 | -del /f *.bat\r | |
1105 | cd ..\win32\r | |
1106 | cd ..\x2p\r | |
1107 | -del /f find2perl s2p psed\r | |
1108 | -del /f *.bat\r | |
1109 | cd ..\win32\r | |
1110 | -del /f ..\config.sh ..\splittree.pl perlmain.c dlutils.c config.h.new\r | |
1111 | -del /f $(CONFIGPM)\r | |
1112 | -del /f bin\*.bat\r | |
1113 | cd ..\r | |
1114 | -del /s *.lib *.map *.pdb *.ilk *.bs *$(o) .exists pm_to_blib\r | |
1115 | cd win32\r | |
1116 | cd $(EXTDIR)\r | |
1117 | -del /s *.def Makefile Makefile.old\r | |
1118 | cd ..\win32\r | |
1119 | -if exist $(AUTODIR) rmdir /s /q $(AUTODIR)\r | |
1120 | -if exist $(AUTODIR) rmdir /s $(AUTODIR)\r | |
1121 | -if exist $(COREDIR) rmdir /s /q $(COREDIR)\r | |
1122 | -if exist $(COREDIR) rmdir /s $(COREDIR)\r | |
1123 | \r | |
1124 | install : all installbare installhtml\r | |
1125 | \r | |
1126 | installbare : utils\r | |
1127 | $(PERLEXE) ..\installperl\r | |
1128 | if exist $(WPERLEXE) $(XCOPY) $(WPERLEXE) $(INST_BIN)\*.*\r | |
1129 | $(XCOPY) $(GLOBEXE) $(INST_BIN)\*.*\r | |
1130 | $(XCOPY) bin\*.bat $(INST_SCRIPT)\*.*\r | |
1131 | \r | |
1132 | installhtml : doc\r | |
1133 | $(RCOPY) html\*.* $(INST_HTML)\*.*\r | |
1134 | \r | |
1135 | inst_lib : $(CONFIGPM)\r | |
1136 | copy splittree.pl ..\r | |
1137 | $(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR)\r | |
1138 | $(RCOPY) ..\lib $(INST_LIB)\*.*\r | |
1139 | \r | |
1140 | minitest : $(MINIPERL) $(GLOBEXE) $(CONFIGPM) utils\r | |
1141 | $(XCOPY) $(MINIPERL) ..\t\perl.exe\r | |
1142 | $(XCOPY) $(GLOBEXE) ..\t\$(NULL)\r | |
1143 | attrib -r ..\t\*.*\r | |
1144 | copy test ..\t\r | |
1145 | cd ..\t\r | |
1146 | $(MINIPERL) -I..\lib test base/*.t comp/*.t cmd/*.t io/*.t op/*.t pragma/*.t\r | |
1147 | cd ..\win32\r | |
1148 | \r | |
1149 | test-prep : all utils\r | |
1150 | $(XCOPY) $(PERLEXE) ..\t\$(NULL)\r | |
1151 | $(XCOPY) $(PERLDLL) ..\t\$(NULL)\r | |
1152 | $(XCOPY) $(GLOBEXE) ..\t\$(NULL)\r | |
1153 | \r | |
1154 | test : test-prep\r | |
1155 | cd ..\t\r | |
1156 | $(PERLEXE) -I..\lib harness\r | |
1157 | cd ..\win32\r | |
1158 | \r | |
1159 | test-notty : test-prep\r | |
1160 | set PERL_SKIP_TTY_TEST=1\r | |
1161 | cd ..\t\r | |
1162 | $(PERLEXE) -I..\lib harness\r | |
1163 | cd ..\win32\r | |
1164 | \r | |
1165 | _test : \r | |
1166 | $(XCOPY) $(PERLEXE) ..\t\$(NULL)\r | |
1167 | $(XCOPY) $(PERLDLL) ..\t\$(NULL)\r | |
1168 | $(XCOPY) $(GLOBEXE) ..\t\$(NULL)\r | |
1169 | cd ..\t\r | |
1170 | $(PERLEXE) -I..\lib harness\r | |
1171 | cd ..\win32\r | |
1172 | \r | |
1173 | clean : Extensions_clean\r | |
1174 | -@$(DEL) miniperlmain$(o)\r | |
1175 | -@$(DEL) $(MINIPERL)\r | |
1176 | -@$(DEL) perlglob$(o)\r | |
1177 | -@$(DEL) perlmain$(o)\r | |
1178 | -@$(DEL) config.w32\r | |
1179 | -@$(DEL) config.h\r | |
1180 | -@$(DEL) $(GLOBEXE)\r | |
1181 | -@$(DEL) $(PERLEXE)\r | |
1182 | -@$(DEL) $(WPERLEXE)\r | |
1183 | -@$(DEL) $(PERLDLL)\r | |
1184 | -@$(DEL) $(CORE_OBJ)\r | |
1185 | -if exist $(MINIDIR) rmdir /s /q $(MINIDIR)\r | |
1186 | -if exist $(MINIDIR) rmdir /s $(MINIDIR)\r | |
1187 | -@$(DEL) $(WIN32_OBJ)\r | |
1188 | -@$(DEL) $(DLL_OBJ)\r | |
1189 | -@$(DEL) $(X2P_OBJ)\r | |
1190 | -@$(DEL) ..\*$(o) ..\*.lib ..\*.exp *$(o) *.lib *.exp *.res\r | |
1191 | -@$(DEL) ..\t\*.exe ..\t\*.dll ..\t\*.bat\r | |
1192 | -@$(DEL) ..\x2p\*.exe ..\x2p\*.bat\r | |
1193 | -@$(DEL) *.ilk\r | |
1194 | -@$(DEL) *.pdb\r | |
1195 | \r | |
1196 | # Handy way to run perlbug -ok without having to install and run the\r | |
1197 | # installed perlbug. We don't re-run the tests here - we trust the user.\r | |
1198 | # Please *don't* use this unless all tests pass.\r | |
1199 | # If you want to report test failures, use "nmake nok" instead.\r | |
1200 | ok: utils\r | |
1201 | $(PERLEXE) -I..\lib ..\utils\perlbug -ok -s "(UNINSTALLED)"\r | |
1202 | \r | |
1203 | okfile: utils\r | |
1204 | $(PERLEXE) -I..\lib ..\utils\perlbug -ok -s "(UNINSTALLED)" -F perl.ok\r | |
1205 | \r | |
1206 | nok: utils\r | |
1207 | $(PERLEXE) -I..\lib ..\utils\perlbug -nok -s "(UNINSTALLED)"\r | |
1208 | \r | |
1209 | nokfile: utils\r | |
1210 | $(PERLEXE) -I..\lib ..\utils\perlbug -nok -s "(UNINSTALLED)" -F perl.nok\r |