This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate the PerlCE (WinCE Perl) port;
[perl5.git] / wince / Makefile.ce
1 # perl makefile for wince\r
2 #\r
3 # Time-stamp: <01/08/01 21:11:35 keuchel@w2k>\r
4 \r
5 SRCDIR     = ..\r
6 PV         = 57\r
7 INST_VER   = 5.7.2\r
8 PERLCEDIR  = H:\src\wince\perl\wince\r
9 WCEROOT    = N:\Windows CE Tools\r
10 #WCEROOT    = D:\Windows CE Tools\r
11 NTPERL     = N:\Programme\perl\bin\perl.exe\r
12 #NTPERL     = D:\Programme\ActiveState\perl-5.6\bin\Perl.exe\r
13 CEPATH     = N:\Programme\Microsoft eMbedded Tools\EVC\WCE211\BIN\r
14 #CEPATH     = D:\Programme\Microsoft eMbedded Tools\EVC\WCE211\BIN\r
15 CELIBDLLDIR  = h:\src\wince\celib-palm\r
16 CECONSOLEDIR = h:\src\wince\w32console\r
17 # Only for WIN2000\r
18 YES        = /y\r
19 COPY       = copy $(YES)\r
20 XCOPY      = xcopy $(YES) /f /r /i /d\r
21 RCOPY      = xcopy $(YES) /f /r /i /e /d\r
22 NOOP       = @echo\r
23 # keep this untouched!\r
24 NULL       =\r
25 \r
26 CFG=DEBUG\r
27 #CFG=RELEASE\r
28 \r
29 !if "$(MACHINE)" == ""\r
30 MACHINE=wince-arm-hpc-wce300\r
31 #MACHINE=wince-arm-hpc-wce211\r
32 #MACHINE=wince-sh3-hpc-wce211\r
33 #MACHINE=wince-mips-hpc-wce211\r
34 #MACHINE=wince-sh3-hpc-wce200\r
35 #MACHINE=wince-mips-hpc-wce200\r
36 #MACHINE=wince-arm-pocket-wce300\r
37 #MACHINE=wince-mips-pocket-wce300\r
38 #MACHINE=wince-sh3-pocket-wce300\r
39 #MACHINE=wince-x86em-pocket-wce300\r
40 #MACHINE=wince-mips-palm-wce211\r
41 #MACHINE=wince-sh3-palm-wce211\r
42 #MACHINE=wince-x86em-palm-wce211\r
43 !endif\r
44 \r
45 ######################################################################\r
46 # machines\r
47 \r
48 !if "$(MACHINE)" == "wince-sh3-hpc-wce211"\r
49 CC         = shcl.exe\r
50 ARCH       = SH3\r
51 CPU        = SH3\r
52 TARGETCPU  = SH3\r
53 CEVersion  = 211\r
54 OSVERSION  = WCE211\r
55 PLATFORM   = MS HPC Pro\r
56 MCFLAGS    = -MDd -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 -DPALM_SIZE \\r
57              -I $(CELIBDLLDIR)\inc\r
58 SUBSYS     = -subsystem:windowsce,2.11\r
59 CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release\r
60 LDLIBPATH  = -libpath:$(CELIBPATH)\r
61 STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \\r
62              $(CECONSOLEDIR)/$(MACHINE)/w32console.obj\r
63 !endif\r
64 \r
65 !if "$(MACHINE)" == "wince-mips-hpc-wce211"\r
66 CC         = clmips.exe\r
67 ARCH       = MIPS\r
68 CPU        = MIPS\r
69 TARGETCPU  = MIPS\r
70 CEVersion  = 211\r
71 OSVERSION  = WCE211\r
72 PLATFORM   = MS HPC Pro\r
73 MCFLAGS    = -D _MT -D _DLL \\r
74              -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \\r
75              -D PALM_SIZE \\r
76              -I $(CELIBDLLDIR)\inc\r
77 SUBSYS     = -subsystem:windowsce,2.11\r
78 CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release\r
79 LDLIBPATH  = -libpath:$(CELIBPATH)\r
80 STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \\r
81              $(CECONSOLEDIR)/$(MACHINE)/w32console.obj\r
82 !endif\r
83 \r
84 !if "$(MACHINE)" == "wince-mips-hpc-wce200"\r
85 CC         = clmips.exe\r
86 ARCH       = MIPS\r
87 CPU        = MIPS\r
88 TARGETCPU  = MIPS\r
89 CEVersion  = 200\r
90 OSVERSION  = WCE200\r
91 PLATFORM   = MS HPC\r
92 # MUST USE -MD to get the right FPE stuff...\r
93 MCFLAGS    = -D _MT -D _DLL -MD \\r
94              -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \\r
95              -D PALM_SIZE \\r
96              -I $(CELIBDLLDIR)\inc\r
97 SUBSYS     = -subsystem:windowsce,2.00\r
98 CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release\r
99 LDLIBPATH  = -libpath:$(CELIBPATH)\r
100 STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \\r
101              $(CECONSOLEDIR)/$(MACHINE)/w32console.obj\r
102 !endif\r
103 \r
104 !if "$(MACHINE)" == "wince-sh3-hpc-wce200"\r
105 CC         = shcl.exe\r
106 ARCH       = SH3\r
107 CPU        = SH3\r
108 TARGETCPU  = SH3\r
109 CEVersion  = 200\r
110 OSVERSION  = WCE200\r
111 PLATFORM   = MS HPC\r
112 # MUST USE -MD to get the right FPE stuff...\r
113 MCFLAGS    = -D _MT -D _DLL -MD \\r
114              -D SH3 -D sh3 -D _SH3_ -D _sh3_ -D SHx -DPROCESSOR_SH3 \\r
115              -D PALM_SIZE \\r
116              -I $(CELIBDLLDIR)\inc\r
117 SUBSYS     = -subsystem:windowsce,2.00\r
118 CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release\r
119 LDLIBPATH  = -libpath:$(CELIBPATH)\r
120 STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \\r
121              $(CECONSOLEDIR)/$(MACHINE)/w32console.obj\r
122 !endif\r
123 \r
124 !if "$(MACHINE)" == "wince-arm-hpc-wce211"\r
125 CC         = clarm.exe\r
126 ARCH       = ARM\r
127 CPU        = ARM\r
128 TARGETCPU  = ARM\r
129 CEVersion  = 211\r
130 OSVERSION  = WCE211\r
131 PLATFORM   = MS HPC Pro\r
132 MCFLAGS    = -D _MT -D _DLL -D ARM -D arm -D _arm_ -D _ARM_ \\r
133              -DPROCESSOR_ARM -DPALM_SIZE \\r
134              -I $(CELIBDLLDIR)\inc\r
135 SUBSYS     = -subsystem:windowsce,2.11\r
136 CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release\r
137 LDLIBPATH  = -libpath:$(CELIBPATH)\r
138 STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \\r
139              $(CECONSOLEDIR)/$(MACHINE)/w32console.obj\r
140 !endif\r
141 \r
142 !if "$(MACHINE)" == "wince-arm-hpc-wce300"\r
143 CC         = clarm.exe\r
144 ARCH       = ARM\r
145 CPU        = ARM\r
146 TARGETCPU  = ARM\r
147 CEVersion  = 300\r
148 OSVERSION  = WCE300\r
149 PLATFORM   = HPC2000\r
150 MCFLAGS    = -D _MT -D _DLL -D ARM -D arm -D _arm_ -D _ARM_ \\r
151              -DPROCESSOR_ARM -DPALM_SIZE \\r
152              -I $(CELIBDLLDIR)\inc\r
153 SUBSYS     = -subsystem:windowsce,3.00\r
154 CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release\r
155 LDLIBPATH  = -libpath:$(CELIBPATH)\r
156 STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \\r
157              $(CECONSOLEDIR)/$(MACHINE)/w32console.obj\r
158 !endif\r
159 \r
160 !if "$(MACHINE)" == "wince-mips-palm-wce211"\r
161 CC         = clmips.exe\r
162 ARCH       = MIPS\r
163 CPU        = MIPS\r
164 TARGETCPU  = MIPS\r
165 CEVersion  = 211\r
166 OSVERSION  = WCE211\r
167 PLATFORM   = MS Palm Size PC\r
168 MCFLAGS    = -DMIPS -D_MIPS_ -DPROCESSOR_MIPS -D PALM_SIZE -D _DLL -D _MT \\r
169              -I $(CELIBDLLDIR)\inc\r
170 SUBSYS     = -subsystem:windowsce,2.11\r
171 CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release\r
172 LDLIBPATH  = -libpath:$(CELIBPATH)\r
173 STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \\r
174              $(CECONSOLEDIR)/$(MACHINE)/w32console.obj\r
175 !endif\r
176 \r
177 !if "$(MACHINE)" == "wince-sh3-palm-wce211"\r
178 CC         = shcl.exe\r
179 ARCH       = SH3\r
180 CPU        = SH3\r
181 TARGETCPU  = SH3\r
182 CEVersion  = 211\r
183 OSVERSION  = WCE211\r
184 PLATFORM   = MS Palm Size PC\r
185 MCFLAGS    = -D _MT -D _DLL -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 -DPALM_SIZE \\r
186              -I $(CELIBDLLDIR)\inc\r
187 SUBSYS     = -subsystem:windowsce,2.11\r
188 CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release\r
189 LDLIBPATH  = -libpath:$(CELIBPATH)\r
190 STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \\r
191              $(CECONSOLEDIR)/$(MACHINE)/w32console.obj\r
192 !endif\r
193 \r
194 !if "$(MACHINE)" == "wince-x86em-palm-wce211"\r
195 CC         = cl.exe\r
196 ARCH       = X86EM\r
197 CPU        = X86\r
198 TARGETCPU  = X86\r
199 CEVersion  = 211\r
200 OSVERSION  = WCE211\r
201 PLATFORM   = MS Palm Size PC\r
202 MCFLAGS    = -MDd -DX86 -D_X86_ -DPROCESSOR_X86 \\r
203              -D_WIN32_WCE_EMULATION -DPALM_SIZE \\r
204              -I $(CELIBDLLDIR)\inc\r
205 MACH       = -machine:x86\r
206 SUBSYS     = -subsystem:windows\r
207 CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release\r
208 LDLIBPATH  = -libpath:$(CELIBPATH)\r
209 STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \\r
210              $(CECONSOLEDIR)/$(MACHINE)/w32console.obj\r
211 !endif\r
212 \r
213 !if "$(MACHINE)" == "wince-x86em-pocket-wce300"\r
214 CC         = cl.exe\r
215 ARCH       = X86EM\r
216 CPU        = X86\r
217 TARGETCPU  = X86\r
218 CEVersion  = 300\r
219 OSVERSION  = WCE300\r
220 PLATFORM   = MS Pocket PC\r
221 MCFLAGS    = -DX86 -D_X86_ -DPROCESSOR_X86 -D _MT -D _DLL \\r
222              -D_WIN32_WCE_EMULATION -DPALM_SIZE -DPOCKET_SIZE \\r
223              -I $(CELIBDLLDIR)\inc \r
224 MACH       = -machine:x86\r
225 SUBSYS     = -subsystem:windows\r
226 CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release\r
227 LDLIBPATH  = -libpath:$(CELIBPATH)\r
228 STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \\r
229              $(CECONSOLEDIR)/$(MACHINE)/w32console.obj\r
230 !endif\r
231 \r
232 !if "$(MACHINE)" == "wince-mips-pocket-wce300"\r
233 CC         = clmips.exe\r
234 ARCH       = MIPS\r
235 CPU        = MIPS\r
236 TARGETCPU  = MIPS\r
237 CEVersion  = 300\r
238 OSVERSION  = WCE300\r
239 PLATFORM   = MS Pocket PC\r
240 MCFLAGS    = -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \\r
241              -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE \\r
242              -I $(CELIBDLLDIR)\inc \r
243 MACH       = -machine:mips\r
244 SUBSYS     = -subsystem:windowsce,3.00\r
245 CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release\r
246 LDLIBPATH  = -libpath:$(CELIBPATH)\r
247 STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \\r
248              $(CECONSOLEDIR)/$(MACHINE)/w32console.obj\r
249 !endif\r
250 \r
251 !if "$(MACHINE)" == "wince-sh3-pocket-wce300"\r
252 CC         = shcl.exe\r
253 ARCH       = SH3\r
254 CPU        = SH3\r
255 TARGETCPU  = SH3\r
256 CEVersion  = 300\r
257 OSVERSION  = WCE300\r
258 PLATFORM   = MS Pocket PC\r
259 MCFLAGS    = -D _MT -D _DLL -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 \\r
260              -DPALM_SIZE -DPOCKET_SIZE \\r
261              -I $(CELIBDLLDIR)\inc \r
262 MACH       = -machine:mips\r
263 SUBSYS     = -subsystem:windowsce,3.00\r
264 CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release\r
265 LDLIBPATH  = -libpath:$(CELIBPATH)\r
266 STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \\r
267              $(CECONSOLEDIR)/$(MACHINE)/w32console.obj\r
268 !endif\r
269 \r
270 !if "$(MACHINE)" == "wince-arm-pocket-wce300"\r
271 CC         = clarm.exe\r
272 ARCH       = ARM\r
273 CPU        = ARM\r
274 TARGETCPU  = ARM\r
275 CEVersion  = 300\r
276 OSVERSION  = WCE300\r
277 PLATFORM   = MS Pocket PC\r
278 MCFLAGS    = -D ARM -D arm -D _ARM_ -D _arm_ -DPROCESSOR_ARM \\r
279              -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE \\r
280              -I $(CELIBDLLDIR)\inc \r
281 MACH       = -machine:arm\r
282 SUBSYS     = -subsystem:windowsce,3.00\r
283 CELIBPATH  = $(CELIBDLLDIR)\$(MACHINE)-release\r
284 LDLIBPATH  = -libpath:$(CELIBPATH)\r
285 STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \\r
286              $(CECONSOLEDIR)/$(MACHINE)/w32console.obj\r
287 !endif\r
288 \r
289 ######################################################################\r
290 # common section\r
291 \r
292 CEDEFS    = -D_WINDOWS -D_WIN32_WCE=$(CEVersion) -DUNDER_CE=$(CEVersion) \\r
293             $(MCFLAGS) \r
294 #CEDEFS    = $(CEDEFS) -DDEBUGGING_OPS\r
295 \r
296 CECFLAGS  = $(CEDEFS)\r
297 \r
298 !if "$(CFG)" == "DEBUG"\r
299 CECFLAGS  = $(CECFLAGS) -Zi -Od\r
300 !endif\r
301 \r
302 !if "$(CFG)" == "RELEASE"\r
303 # -O2 and -Ot give internal compiler error in perl.c and lexer.\r
304 # Also the dll cannot be loaded by perl.exe...\r
305 CECFLAGS  = $(CECFLAGS)\r
306 !endif\r
307 \r
308 RCDEFS    = /l 0x407 /r /d "UNICODE" /d UNDER_CE=$(CEVersion) \\r
309             /d _WIN32_WCE=$(CEVersion)\r
310 \r
311 PATH=$(CEPATH);$(PATH)\r
312 \r
313 INCLUDE=$(WCEROOT)\$(OSVERSION)\$(PLATFORM)\include\r
314 LIB=$(WCEROOT)\$(OSVERSION)\$(PLATFORM)\lib\$(ARCH)\r
315 \r
316 ######################################################################\r
317 \r
318 !message\r
319 !message Compiling for $(MACHINE)\r
320 !message LIB=$(LIB)\r
321 !message INCLUDE=$(INCLUDE)\r
322 !message PATH=$(CEPATH)\r
323 !message\r
324 \r
325 ######################################################################\r
326 #\r
327 # Additional compiler flags can be specified here.\r
328 #\r
329 \r
330 BUILDOPT        = $(BUILDOPT) $(CECFLAGS)\r
331 \r
332 ##################### CHANGE THESE ONLY IF YOU MUST #####################\r
333 \r
334 !IF "$(CRYPT_SRC)$(CRYPT_LIB)" == ""\r
335 D_CRYPT         = undef\r
336 !ELSE\r
337 D_CRYPT         = define\r
338 CRYPT_FLAG      = -DHAVE_DES_FCRYPT\r
339 !ENDIF\r
340 \r
341 !IF "$(USE_OBJECT)" == "define"\r
342 PERL_MALLOC     = undef\r
343 USE_5005THREADS = undef\r
344 USE_MULTI       = undef\r
345 USE_IMP_SYS     = define\r
346 !ENDIF\r
347 \r
348 !IF "$(PERL_MALLOC)" == ""\r
349 PERL_MALLOC     = undef\r
350 !ENDIF\r
351 \r
352 !IF "$(USE_5005THREADS)" == ""\r
353 USE_5005THREADS = undef\r
354 !ENDIF\r
355 \r
356 !IF "$(USE_5005THREADS)" == "define"\r
357 USE_ITHREADS    = undef\r
358 !ENDIF\r
359 \r
360 !IF "$(USE_IMP_SYS)" == "define"\r
361 PERL_MALLOC     = undef\r
362 !ENDIF\r
363 \r
364 !IF "$(USE_MULTI)" == ""\r
365 USE_MULTI       = undef\r
366 !ENDIF\r
367 \r
368 !IF "$(USE_OBJECT)" == ""\r
369 USE_OBJECT      = undef\r
370 !ENDIF\r
371 \r
372 !IF "$(USE_ITHREADS)" == ""\r
373 USE_ITHREADS    = undef\r
374 !ENDIF\r
375 \r
376 !IF "$(USE_IMP_SYS)" == ""\r
377 USE_IMP_SYS     = undef\r
378 !ENDIF\r
379 \r
380 !IF "$(USE_PERLCRT)" == ""\r
381 USE_PERLCRT     = undef\r
382 !ENDIF\r
383 \r
384 !IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" == "defineundefundefundef"\r
385 USE_MULTI       = define\r
386 !ENDIF\r
387 \r
388 !IF "$(USE_ITHREADS)$(USE_MULTI)$(USE_OBJECT)" == "defineundefundef"\r
389 USE_MULTI       = define\r
390 USE_5005THREADS = undef\r
391 !ENDIF\r
392 \r
393 !IF "$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" != "undefundefundef"\r
394 BUILDOPT        = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT\r
395 !ENDIF\r
396 \r
397 !IF "$(USE_IMP_SYS)" != "undef"\r
398 BUILDOPT        = $(BUILDOPT) -DPERL_IMPLICIT_SYS\r
399 !ENDIF\r
400 \r
401 # new option - automatically defined in perl.h...\r
402 #BUILDOPT        = $(BUILDOPT) -DUSE_ENVIRON_ARRAY\r
403 \r
404 PROCESSOR_ARCHITECTURE = $(TARGETCPU)\r
405 ARCHNAME        = $(PLATFORM)-$(OSVERSION)-$(PROCESSOR_ARCHITECTURE)\r
406 # unused yet\r
407 ARCHDIR         = ..\lib\$(ARCHNAME)\r
408 COREDIR         = ..\lib\CORE\r
409 AUTODIR         = ..\lib\auto\r
410 LIBDIR          = ..\lib\r
411 EXTDIR          = ..\ext\r
412 PODDIR          = ..\pod\r
413 EXTUTILSDIR     = $(LIBDIR)\ExtUtils\r
414 \r
415 LINK32          = link\r
416 LIB32           = $(LINK32) -lib\r
417 RSC             = rc\r
418 \r
419 INCLUDES        = -I.\include -I. -I..\r
420 DEFINES         = -DWIN32 -D_CONSOLE -DNO_STRICT $(CRYPT_FLAG) $(CECFLAGS)\r
421 LOCDEFS         = -DPERLDLL -DPERL_CORE\r
422 CXX_FLAG        = -TP -GX\r
423 \r
424 PERLEXE_RES     = perl.res\r
425 PERLDLL_RES     =\r
426 \r
427 !IF "$(USE_OBJECT)" == "define"\r
428 OPTIMIZE        = $(OPTIMIZE) $(CXX_FLAG)\r
429 BUILDOPT        = $(BUILDOPT) -DPERL_OBJECT\r
430 !ENDIF\r
431 \r
432 !if "$(CFG)" == "RELEASE"\r
433 CELIB           = celib.lib\r
434 !endif\r
435 \r
436 !if "$(CFG)" == "DEBUG"\r
437 CELIB           = celib.lib\r
438 !endif\r
439 \r
440 CELIBS          = -nodefaultlib \\r
441                   winsock.lib $(CELIB) coredll.lib\r
442 \r
443 !if $(CEVersion) > 200\r
444 CELIBS          = $(CELIBS) corelibc.lib \r
445 !else\r
446 CELIBS          = $(CELIBS) msvcrt.lib \r
447 !endif\r
448 \r
449 LIBBASEFILES    = $(CRYPT_LIB) $(CELIBS)\r
450 \r
451 LIBFILES        = $(LIBBASEFILES) $(LIBC)\r
452 \r
453 CFLAGS          = -nologo -Gf -W3 $(INCLUDES) $(DEFINES) $(LOCDEFS) \\r
454                 $(PCHFLAGS) $(OPTIMIZE)\r
455 \r
456 LINK_FLAGS      = -nologo -machine:$(PROCESSOR_ARCHITECTURE)\r
457 \r
458 !if "$(CFG)" == "DEBUG"\r
459 LINK_FLAGS      = $(LINK_FLAGS) -debug:full -pdb:none \r
460 !endif\r
461 \r
462 OBJOUT_FLAG     = -Fo\r
463 EXEOUT_FLAG     = -Fe\r
464 \r
465 CFLAGS_O        = $(CFLAGS) $(BUILDOPT)\r
466 \r
467 o = .obj\r
468 \r
469 #\r
470 # Rules\r
471\r
472 \r
473 .SUFFIXES : .c $(o) .dll .lib .exe .rc .res\r
474 \r
475 .c$(o):\r
476         $(CC) -c -I$(<D) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $<\r
477 \r
478 .y.c:\r
479         $(NOOP)\r
480 \r
481 $(o).dll:\r
482         $(LINK32) -dll $(SUBSYS) $(LDLIBPATH) \\r
483             -implib:$(*B).lib -def:$(*B).def \\r
484             -out:$@ $(LINK_FLAGS) $(LIBFILES) $< $(LIBPERL)  \r
485 \r
486 .rc.res:\r
487         $(RSC) -i.. $<\r
488 \r
489 # This must be relative to ../lib/CORE, else the ext dll build fails...\r
490 PERLIMPLIB_EXP  = ..\..\wince\$(MACHINE)\perl$(PV).lib\r
491 PERLIMPLIB      = $(PERLCEDIR)\$(MACHINE)\perl$(PV).lib\r
492 PERLDLL         = $(MACHINE)\perl$(PV).dll\r
493 \r
494 DLLDIR          = $(MACHINE)\dll\r
495 PERLEXE         = $(MACHINE)\perl.exe\r
496 \r
497 CONFIGPM        = ..\lib\Config.pm\r
498 MINIMOD         = ..\lib\ExtUtils\Miniperl.pm\r
499 \r
500 MAKE            = nmake -nologo\r
501 \r
502 CFGSH_TMPL      = config.ce\r
503 CFGH_TMPL       = config_H.ce\r
504 \r
505 #\r
506 # filenames given to xsubpp must have forward slashes (since it puts\r
507 # full pathnames in #line strings)\r
508 XSUBPP          = $(NTPERL) -I..\..\lib ..\$(EXTUTILSDIR)\xsubpp \\r
509                 -C++ -prototypes\r
510 \r
511 MICROCORE_SRC   =               \\r
512                 ..\av.c         \\r
513                 ..\deb.c        \\r
514                 ..\doio.c       \\r
515                 ..\doop.c       \\r
516                 ..\dump.c       \\r
517                 ..\globals.c    \\r
518                 ..\gv.c         \\r
519                 ..\hv.c         \\r
520                 ..\mg.c         \\r
521                 ..\op.c         \\r
522                 ..\perl.c       \\r
523                 ..\perlapi.c    \\r
524                 ..\perly.c      \\r
525                 ..\pp.c         \\r
526                 ..\pp_ctl.c     \\r
527                 ..\pp_hot.c     \\r
528                 ..\pp_sys.c     \\r
529                 ..\regcomp.c    \\r
530                 ..\regexec.c    \\r
531                 ..\run.c        \\r
532                 ..\scope.c      \\r
533                 ..\sv.c         \\r
534                 ..\taint.c      \\r
535                 ..\toke.c       \\r
536                 ..\universal.c  \\r
537                 ..\utf8.c       \\r
538                 ..\util.c       \\r
539                 ..\xsutils.c\r
540 \r
541 EXTRACORE_SRC   = $(EXTRACORE_SRC) perllib.c\r
542 \r
543 !IF "$(PERL_MALLOC)" == "define"\r
544 EXTRACORE_SRC   = $(EXTRACORE_SRC) ..\malloc.c\r
545 !ENDIF\r
546 \r
547 !IF "$(USE_OBJECT)" != "define"\r
548 EXTRACORE_SRC   = $(EXTRACORE_SRC) ..\perlio.c\r
549 !ENDIF\r
550 \r
551 WIN32_SRC       =               \\r
552                 .\wince.c       \\r
553                 .\wincesck.c    \\r
554                 .\win32thread.c \r
555 \r
556 !IF "$(CRYPT_SRC)" != ""\r
557 WIN32_SRC       = $(WIN32_SRC) .\$(CRYPT_SRC)\r
558 !ENDIF\r
559 \r
560 DLL_SRC         = $(DYNALOADER).c\r
561 \r
562 CORE_NOCFG_H    =               \\r
563                 ..\av.h         \\r
564                 ..\cop.h        \\r
565                 ..\cv.h         \\r
566                 ..\dosish.h     \\r
567                 ..\embed.h      \\r
568                 ..\form.h       \\r
569                 ..\gv.h         \\r
570                 ..\handy.h      \\r
571                 ..\hv.h         \\r
572                 ..\iperlsys.h   \\r
573                 ..\mg.h         \\r
574                 ..\nostdio.h    \\r
575                 ..\op.h         \\r
576                 ..\opcode.h     \\r
577                 ..\perl.h       \\r
578                 ..\perlapi.h    \\r
579                 ..\perlsdio.h   \\r
580                 ..\perlsfio.h   \\r
581                 ..\perly.h      \\r
582                 ..\pp.h         \\r
583                 ..\proto.h      \\r
584                 ..\regexp.h     \\r
585                 ..\scope.h      \\r
586                 ..\sv.h         \\r
587                 ..\thread.h     \\r
588                 ..\unixish.h    \\r
589                 ..\utf8.h       \\r
590                 ..\util.h       \\r
591                 ..\warnings.h   \\r
592                 ..\XSUB.h       \\r
593                 ..\EXTERN.h     \\r
594                 ..\perlvars.h   \\r
595                 ..\intrpvar.h   \\r
596                 ..\thrdvar.h    \\r
597                 .\include\dirent.h      \\r
598                 .\include\netdb.h       \\r
599                 .\include\sys\socket.h  \\r
600                 .\win32.h\r
601 \r
602 !IF "$(USE_SETARGV)" != ""\r
603 SETARGV_OBJ     = setargv$(o)\r
604 !ENDIF\r
605 \r
606 DYNAMIC_EXT     = Socket IO Fcntl Opcode SDBM_File POSIX attrs Thread B re \\r
607                 Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \\r
608                 Sys/Hostname\r
609 \r
610 STATIC_EXT      = DynaLoader\r
611 NONXS_EXT       = Errno\r
612 \r
613 DYNALOADER      = $(EXTDIR)\DynaLoader\DynaLoader\r
614 SOCKET          = $(EXTDIR)\Socket\Socket\r
615 IO              = $(EXTDIR)\IO\IO\r
616 DUMPER          = $(EXTDIR)\Data\Dumper\Dumper\r
617 #\r
618 FCNTL           = $(EXTDIR)\Fcntl\Fcntl\r
619 OPCODE          = $(EXTDIR)\Opcode\Opcode\r
620 SDBM_FILE       = $(EXTDIR)\SDBM_File\SDBM_File\r
621 POSIX           = $(EXTDIR)\POSIX\POSIX\r
622 ATTRS           = $(EXTDIR)\attrs\attrs\r
623 THREAD          = $(EXTDIR)\Thread\Thread\r
624 B               = $(EXTDIR)\B\B\r
625 RE              = $(EXTDIR)\re\re\r
626 ERRNO           = $(EXTDIR)\Errno\Errno\r
627 PEEK            = $(EXTDIR)\Devel\Peek\Peek\r
628 BYTELOADER      = $(EXTDIR)\ByteLoader\ByteLoader\r
629 DPROF           = $(EXTDIR)\Devel\DProf\DProf\r
630 GLOB            = $(EXTDIR)\File\Glob\Glob\r
631 HOSTNAME        = $(EXTDIR)\Sys\Hostname\Hostname\r
632 SOCKET_DLL      = $(AUTODIR)\Socket\Socket.dll\r
633 FCNTL_DLL       = $(AUTODIR)\Fcntl\Fcntl.dll\r
634 OPCODE_DLL      = $(AUTODIR)\Opcode\Opcode.dll\r
635 SDBM_FILE_DLL   = $(AUTODIR)\SDBM_File\SDBM_File.dll\r
636 IO_DLL          = $(AUTODIR)\IO\IO.dll\r
637 POSIX_DLL       = $(AUTODIR)\POSIX\POSIX.dll\r
638 ATTRS_DLL       = $(AUTODIR)\attrs\attrs.dll\r
639 THREAD_DLL      = $(AUTODIR)\Thread\Thread.dll\r
640 B_DLL           = $(AUTODIR)\B\B.dll\r
641 DUMPER_DLL      = $(AUTODIR)\Data\Dumper\Dumper.dll\r
642 PEEK_DLL        = $(AUTODIR)\Devel\Peek\Peek.dll\r
643 RE_DLL          = $(AUTODIR)\re\re.dll\r
644 BYTELOADER_DLL  = $(AUTODIR)\ByteLoader\ByteLoader.dll\r
645 DPROF_DLL       = $(AUTODIR)\Devel\DProf\DProf.dll\r
646 GLOB_DLL        = $(AUTODIR)\File\Glob\Glob.dll\r
647 HOSTNAME_DLL    = $(AUTODIR)\Sys\Hostname\Hostname.dll\r
648 \r
649 ERRNO_PM        = $(LIBDIR)\Errno.pm\r
650 \r
651 EXTENSION_C     =               \\r
652                 $(SOCKET).c     \\r
653                 $(FCNTL).c      \\r
654                 $(OPCODE).c     \\r
655                 $(SDBM_FILE).c  \\r
656                 $(IO).c         \\r
657                 $(POSIX).c      \\r
658                 $(ATTRS).c      \\r
659                 $(THREAD).c     \\r
660                 $(RE).c         \\r
661                 $(DUMPER).c     \\r
662                 $(PEEK).c       \\r
663                 $(B).c          \\r
664                 $(BYTELOADER).c \\r
665                 $(DPROF).c      \\r
666                 $(GLOB).c       \\r
667                 $(HOSTNAME).c\r
668 \r
669 EXTENSION_DLL   =               \\r
670                 $(SOCKET_DLL)   \\r
671                 $(FCNTL_DLL)    \\r
672                 $(OPCODE_DLL)   \\r
673                 $(SDBM_FILE_DLL)\\r
674                 $(IO_DLL)       \\r
675                 $(POSIX_DLL)    \\r
676                 $(ATTRS_DLL)    \\r
677                 $(DUMPER_DLL)   \\r
678                 $(PEEK_DLL)     \\r
679                 $(B_DLL)        \\r
680                 $(RE_DLL)       \\r
681                 $(THREAD_DLL)   \\r
682                 $(BYTELOADER_DLL)       \\r
683                 $(DPROF_DLL)    \\r
684                 $(GLOB_DLL)     \\r
685                 $(HOSTNAME_DLL)\r
686 \r
687 EXTENSION_PM    =               \\r
688                 $(ERRNO_PM)\r
689 \r
690 POD2HTML        = $(PODDIR)\pod2html\r
691 POD2MAN         = $(PODDIR)\pod2man\r
692 POD2LATEX       = $(PODDIR)\pod2latex\r
693 POD2TEXT        = $(PODDIR)\pod2text\r
694 \r
695 CFG_VARS = \\r
696  "INST_DRV=$(INST_DRV)" \\r
697  "INST_TOP=$(INST_TOP)" \\r
698  "INST_VER=$(INST_VER)" \\r
699  "INST_ARCH=$(INST_ARCH)" \\r
700  "archname=$(ARCHNAME)" \\r
701  "cc=$(CC)" \\r
702  "ccflags=$(OPTIMIZE) $(DEFINES) $(BUILDOPT)" \\r
703  "cf_by=Rainer Keuchel" \\r
704  "cf_email=coyxc@rainer-keuchel.de" \\r
705  "d_crypt=$(D_CRYPT)" \\r
706  "d_mymalloc=$(PERL_MALLOC)" \\r
707  "libs=$(LIBFILES)" \\r
708  "incpath=$(CCINCDIR)" \\r
709  "libperl=$(PERLIMPLIB_EXP)" \\r
710  "libpth=$(LIBPATH)" \\r
711  "libc=$(LIBC)" \\r
712  "make=nmake" \\r
713  "static_ext=$(STATIC_EXT)" \\r
714  "dynamic_ext=$(DYNAMIC_EXT)" \\r
715  "nonxs_ext=$(NONXS_EXT)" \\r
716  "use5005threads=$(USE_5005THREADS)" \\r
717  "useithreads=$(USE_ITHREADS)" \\r
718  "usethreads=$(USE_5005THREADS)" \\r
719  "usemultiplicity=$(USE_MULTI)" \\r
720  "LINK_FLAGS=$(LDLIBPATH) $(LINK_FLAGS) $(SUBSYS)" \\r
721  "optimize=$(OPTIMIZE)"\r
722 \r
723 #\r
724 # Top targets\r
725 #\r
726 \r
727 all: $(MINIMOD) $(CONFIGPM) $(PERLEXE)\r
728 \r
729 $(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c\r
730 \r
731 $(CONFIGPM): config.h ..\config.sh ..\minimod.pl\r
732         cd .. && $(NTPERL) configpm\r
733         -mkdir $(COREDIR)\r
734         $(XCOPY) ..\*.h $(COREDIR)\*.*\r
735         $(XCOPY) *.h $(COREDIR)\*.*\r
736         $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.*\r
737         $(RCOPY) include $(COREDIR)\*.*\r
738         $(NTPERL) -I..\lib config_h.PL "INST_VER=$(INST_VER)"\r
739 \r
740 ..\config.sh config.h: config.ce config_sh.PL\r
741         $(NTPERL) -I..\lib config_sh.PL $(CFG_VARS) config.ce > ..\config.sh\r
742 \r
743 $(MINIMOD) : ..\minimod.pl\r
744         cd .. && $(NTPERL) minimod.pl > lib\ExtUtils\Miniperl.pm\r
745 \r
746 perlmain.c : runperl.c \r
747         $(COPY) runperl.c perlmain.c\r
748 \r
749 $(DYNALOADER).c: $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)\r
750         if not exist $(AUTODIR) mkdir $(AUTODIR)\r
751         cd $(EXTDIR)\$(*B)\r
752         $(NTPERL) -I..\..\lib $(*B)_pm.PL\r
753         $(NTPERL) -I..\..\lib XSLoader_pm.PL\r
754         cd ..\..\wince\r
755         $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)\r
756         $(XCOPY) $(EXTDIR)\$(*B)\XSLoader.pm $(LIBDIR)\$(NULL)\r
757         cd $(EXTDIR)\$(*B)\r
758         $(XSUBPP) dl_win32.xs > $(*B).c\r
759         cd ..\..\wince\r
760 \r
761 $(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs\r
762         $(COPY) dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs\r
763 \r
764 $(DUMPER_DLL): $(PERLEXE) $(DUMPER).xs\r
765         cd $(EXTDIR)\Data\$(*B)\r
766         $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl\r
767         $(MAKE)\r
768         cd ..\..\..\wince\r
769 \r
770 $(DPROF_DLL): $(PERLEXE) $(DPROF).xs\r
771         cd $(EXTDIR)\Devel\$(*B)\r
772         $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl\r
773         $(MAKE)\r
774         cd ..\..\..\wince\r
775 \r
776 $(GLOB_DLL): $(PERLEXE) $(GLOB).xs\r
777         cd $(EXTDIR)\File\$(*B)\r
778         $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl\r
779         $(MAKE)\r
780         cd ..\..\..\wince\r
781 \r
782 $(PEEK_DLL): $(PERLEXE) $(PEEK).xs\r
783         cd $(EXTDIR)\Devel\$(*B)\r
784         $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl\r
785         $(MAKE)\r
786         cd ..\..\..\wince\r
787 \r
788 $(RE_DLL): $(PERLEXE) $(RE).xs\r
789         cd $(EXTDIR)\$(*B)\r
790         $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl\r
791         $(MAKE)\r
792         cd ..\..\wince\r
793 \r
794 $(B_DLL): $(PERLEXE) $(B).xs\r
795         cd $(EXTDIR)\$(*B)\r
796         $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl\r
797         $(MAKE)\r
798         cd ..\..\wince\r
799 \r
800 $(THREAD_DLL): $(PERLEXE) $(THREAD).xs\r
801         cd $(EXTDIR)\$(*B)\r
802         $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl\r
803         $(MAKE)\r
804         cd ..\..\wince\r
805 \r
806 $(ATTRS_DLL): $(PERLEXE) $(ATTRS).xs\r
807         cd $(EXTDIR)\$(*B)\r
808         $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl\r
809         $(MAKE)\r
810         cd ..\..\wince\r
811 \r
812 $(POSIX_DLL): $(PERLEXE) $(POSIX).xs\r
813         cd $(EXTDIR)\$(*B)\r
814         $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl\r
815         $(MAKE)\r
816         cd ..\..\wince\r
817 \r
818 $(IO_DLL): $(PERLEXE) $(IO).xs\r
819         cd $(EXTDIR)\$(*B)\r
820         $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl\r
821         $(MAKE)\r
822         cd ..\..\wince\r
823 \r
824 $(SDBM_FILE_DLL) : $(PERLEXE) $(SDBM_FILE).xs\r
825         cd $(EXTDIR)\$(*B)\r
826         $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl\r
827         $(MAKE)\r
828         cd ..\..\wince\r
829 \r
830 $(FCNTL_DLL): $(PERLEXE) $(FCNTL).xs\r
831         cd $(EXTDIR)\$(*B)\r
832         $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl\r
833         $(MAKE)\r
834         cd ..\..\wince\r
835 \r
836 $(OPCODE_DLL): $(PERLEXE) $(OPCODE).xs\r
837         cd $(EXTDIR)\$(*B)\r
838         $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl\r
839         $(MAKE)\r
840         cd ..\..\wince\r
841 \r
842 $(SOCKET_DLL): $(PERLEXE) $(SOCKET).xs\r
843         cd $(EXTDIR)\$(*B)\r
844         $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl\r
845         $(MAKE)\r
846         cd ..\..\wince\r
847 \r
848 $(HOSTNAME_DLL): $(PERLEXE) $(HOSTNAME).xs\r
849         cd $(EXTDIR)\Sys\$(*B)\r
850         $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl\r
851         $(MAKE)\r
852         cd ..\..\..\wince\r
853 \r
854 $(BYTELOADER_DLL): $(PERLEXE) $(BYTELOADER).xs\r
855         cd $(EXTDIR)\$(*B)\r
856         $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl\r
857         $(MAKE)\r
858         cd ..\..\wince\r
859 \r
860 $(ERRNO_PM): $(PERLEXE) $(ERRNO)_pm.PL\r
861         cd $(EXTDIR)\$(*B)\r
862         $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl\r
863         $(MAKE)\r
864         cd ..\..\wince\r
865 \r
866 $(PERLEXE_RES): perl.rc\r
867         rc $(RCDEFS) perl.rc\r
868 \r
869 clean: \r
870         -rm -f $(MACHINE)/dll/*\r
871         -rm -f $(MACHINE)/*.obj\r
872         -rm -f $(MACHINE)/*.exe\r
873         -rm -f $(MACHINE)/*.dll\r
874         -rm -f $(MACHINE)/*.lib\r
875         -rm -f ../config.sh ../lib/Config.pm\r
876         -rm -f config.h perl.res\r
877 \r
878 !if "$(MACHINE)" == "wince-sh3-hpc"\r
879 install_perlexe: $(PERLEXE)\r
880         cedel /speicherkarte2/bin/perl.exe\r
881         cecopy pc:../perl.exe ce:/speicherkarte2/bin\r
882 \r
883 install_perldll: $(PERLDLL)\r
884         cedel /speicherkarte2/bin/perl$(PV).dll\r
885         cecopy pc:../perl$(PV).dll ce:/speicherkarte2/bin\r
886 \r
887 install_perl: install_perlexe install_perldll\r
888 \r
889 test_perl:\r
890         cecopy pc:test.pl ce:/speicherkarte2/bin\r
891         ceexec /speicherkarte2/bin/perl.exe /speicherkarte2/bin/test.pl\r
892 #       ceexec /speicherkarte2/bin/perl.exe -V\r
893 \r
894 install_lib: ../lib/Config.pm\r
895         cecopy  pc:../lib/Config.pm ce:/speicherkarte2/usr/lib/perl5\r
896 !endif\r
897 \r
898 !if "$(MACHINE)" == "wince-arm-hpc"\r
899 install_perlexe: $(PERLEXE)\r
900         -cedel /speicherkarte/bin/perl.exe\r
901         cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin\r
902 \r
903 install_perldll: $(PERLDLL)\r
904         -cedel /speicherkarte/bin/perl$(PV).dll\r
905         cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin\r
906 \r
907 install_perl: install_perlexe install_perldll\r
908 \r
909 test_perl:\r
910         cecopy pc:test.pl ce:/speicherkarte/bin\r
911         ceexec /speicherkarte/bin/perl.exe /speicherkarte/bin/test.pl\r
912 #       ceexec /speicherkarte2/bin/perl.exe -V\r
913 \r
914 install_lib: ../lib/Config.pm\r
915         cecopy  pc:../lib/Config.pm ce:/speicherkarte/usr/lib/perl5\r
916 !endif\r
917 \r
918 !if "$(MACHINE)" == "wince-mips-hpc"\r
919 install_perlexe: $(PERLEXE)\r
920         cecopy pc:../perl.exe ce:/netzwerk/compaq/bin\r
921 \r
922 install_perldll: $(PERLDLL)\r
923         cecopy pc:../perl$(PV).dll ce:/netzwerk/compaq/bin\r
924 \r
925 install_perl: install_perlexe install_perldll\r
926 \r
927 test_perl:\r
928         cecopy pc:test.pl ce:/netzwerk/compaq/bin\r
929         ceexec /netzwerk/compaq/bin/perl.exe /netzwerk/compaq/bin/test.pl\r
930 #       ceexec /netzwerk/compaq/bin/perl.exe -V\r
931 \r
932 install_lib: ../lib/Config.pm\r
933         cecopy  pc:../lib/Config.pm ce:/netzwerk/compaq/usr/lib/perl5\r
934 !endif\r
935 \r
936 !if "$(MACHINE)" == "wince-x86em-pocket"\r
937 install_lib:\r
938         ftpcopy ../lib/Config.pm ftp!ftp@localhost:/perl/lib\r
939         ftpcopy ../lib/Exporter.pm ftp!ftp@localhost:/perl/lib\r
940         ftpcopy ../lib/Exporter/Heavy.pm ftp!ftp@localhost:/perl/lib/Exporter\r
941 \r
942 install_perlexe: $(PERLEXE)\r
943         cecopy pc:../perl.exe ce:/netzwerk/compaq/bin\r
944 \r
945 install_perldll: $(PERLDLL)\r
946         cecopy pc:../perl$(PV).dll ce:/netzwerk/compaq/bin\r
947 \r
948 install_perl: install_perlexe install_perldll\r
949 \r
950 test_perl:\r
951         echo Not yet\r
952 !endif\r
953 \r
954 \r
955 XDLLOBJS = \\r
956 $(DLLDIR)\av.obj \\r
957 $(DLLDIR)\deb.obj \\r
958 $(DLLDIR)\doio.obj \\r
959 $(DLLDIR)\doop.obj \\r
960 $(DLLDIR)\dump.obj \\r
961 $(DLLDIR)\globals.obj \\r
962 $(DLLDIR)\gv.obj \\r
963 $(DLLDIR)\hv.obj \\r
964 $(DLLDIR)\locale.obj \\r
965 $(DLLDIR)\mg.obj \\r
966 $(DLLDIR)\numeric.obj \\r
967 $(DLLDIR)\op.obj \\r
968 $(DLLDIR)\perl.obj \\r
969 $(DLLDIR)\perlapi.obj \\r
970 $(DLLDIR)\perlio.obj \\r
971 $(DLLDIR)\perly.obj \\r
972 $(DLLDIR)\pp.obj \\r
973 $(DLLDIR)\pp_ctl.obj \\r
974 $(DLLDIR)\pp_hot.obj \\r
975 $(DLLDIR)\pp_pack.obj \\r
976 $(DLLDIR)\pp_sys.obj \\r
977 $(DLLDIR)\regcomp.obj \\r
978 $(DLLDIR)\regexec.obj \\r
979 $(DLLDIR)\run.obj \\r
980 $(DLLDIR)\scope.obj \\r
981 $(DLLDIR)\sv.obj \\r
982 $(DLLDIR)\taint.obj \\r
983 $(DLLDIR)\toke.obj \\r
984 $(DLLDIR)\universal.obj \\r
985 $(DLLDIR)\utf8.obj \\r
986 $(DLLDIR)\util.obj \\r
987 $(DLLDIR)\win32thread.obj \\r
988 $(DLLDIR)\wince.obj \\r
989 $(DLLDIR)\wincesck.obj \\r
990 $(DLLDIR)\xsutils.obj \\r
991 $(DLLDIR)\perllib.obj \\r
992 $(DLLDIR)\DynaLoader.obj\r
993 \r
994 {$(SRCDIR)}.c{$(DLLDIR)}.obj:\r
995     $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<\r
996 \r
997 {$(SRCDIR)/wince}.c{$(DLLDIR)}.obj:\r
998     $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<\r
999 \r
1000 $(PERLDLL) : $(DLLDIR) perldll.def $(XDLLOBJS) $(PERLDLL_RES)\r
1001         $(LINK32) -dll -def:perldll.def -out:$@ \\r
1002                   $(SUBSYS) $(LDLIBPATH) \\r
1003                   $(LINK_FLAGS) $(LIBFILES) \\r
1004                   $(XDLLOBJS) $(PERLDLL_RES)\r
1005 \r
1006 $(DLLDIR) :\r
1007         if not exist "$(DLLDIR)" mkdir "$(DLLDIR)"\r
1008 \r
1009 $(DLLDIR)\DynaLoader.obj: $(EXTDIR)\DynaLoader\DynaLoader.c\r
1010     $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ \\r
1011           $(EXTDIR)\DynaLoader\DynaLoader.c\r
1012 \r
1013 XPERLEXEOBJS = \\r
1014 $(MACHINE)\perlmain.obj\r
1015 \r
1016 $(PERLEXE) : $(PERLDLL) $(CONFIGPM) $(XPERLEXEOBJS) $(PERLEXE_RES) $(STARTOBJS)\r
1017         $(LINK32) $(SUBSYS) $(LDLIBPATH) \\r
1018             -entry:wWinMainCRTStartup \\r
1019             -out:$(MACHINE)\perl.exe \\r
1020             -stack:0x100000 $(LINK_FLAGS) $(STARTOBJS) $(XPERLEXEOBJS) \\r
1021             $(PERLIMPLIB) $(PERLEXE_RES) $(LIBFILES)\r
1022 \r
1023 $(MACHINE)\perlmain.obj : perlmain.c\r
1024         $(CC) $(CFLAGS_O) -UPERLDLL -Fo$(MACHINE)\ -c perlmain.c\r
1025 \r
1026 iodll:     $(IO_DLL)\r
1027 socketdll: $(SOCKET_DLL)\r
1028 dumperdll: $(DUMPER_DLL)\r
1029 \r
1030 dlls: socketdll iodll dumperdll\r
1031         -xmkdir -p $(MACHINE)/lib/auto/IO\r
1032         cp ../lib/auto/IO/IO.bs $(MACHINE)/lib/auto/IO\r
1033         cp ../lib/auto/IO/IO.dll $(MACHINE)/lib/auto/IO\r
1034         -xmkdir $(MACHINE)/lib/auto/Socket\r
1035         cp ../lib/auto/Socket/Socket.bs $(MACHINE)/lib/auto/Socket\r
1036         cp ../lib/auto/Socket/Socket.dll $(MACHINE)/lib/auto/Socket\r
1037         -xmkdir -p $(MACHINE)/lib/auto/Data/Dumper\r
1038         cp ../lib/auto/Data/Dumper/Dumper.bs $(MACHINE)/lib/auto/Data/Dumper\r
1039         cp ../lib/auto/Data/Dumper/Dumper.dll $(MACHINE)/lib/auto/Data/Dumper\r
1040 \r
1041 makedist: all dlls\r
1042         $(COPY) $(CELIBPATH)\celib.dll $(MACHINE)\r
1043         cp perl.txt $(MACHINE)\r
1044         cp registry.bat $(MACHINE)\r
1045         cp ../lib/Config.pm $(MACHINE)/lib\r
1046         cd $(MACHINE)\r
1047         rm -f perl-$(MACHINE).tar.gz\r
1048         sh -c "tar cf perl-$(MACHINE).tar *.exe *.dll *.txt *.bat lib"\r
1049         gzip -9 perl-$(MACHINE).tar\r
1050         mv perl-$(MACHINE).tar.gz h:/freenet/new\r
1051         cd ..\r
1052 \r
1053 !if "$(MACHINE)" == "wince-arm-hpc-wce300"\r
1054 install: all\r
1055         cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin\r
1056         cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin\r
1057 install_dlls: dlls\r
1058         cecopy pc:../lib/auto/IO/io.dll ce:/speicherkarte/usr/lib/perl5/auto/IO/io.dll\r
1059 !endif\r
1060 \r
1061 !if "$(MACHINE)" == "wince-arm-hpc-wce211"\r
1062 install: all\r
1063         cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin\r
1064         cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin\r
1065 !endif\r
1066 \r
1067 !if "$(MACHINE)" == "wince-mips-hpc-wce211"\r
1068 install:\r
1069         cecopy pc:$(MACHINE)/perl.exe ce:/bin\r
1070         cecopy pc:$(MACHINE)/perl$(PV).dll ce:/bin\r
1071 !endif\r
1072 \r
1073 !if "$(MACHINE)" == "wince-mips-hpc-wce200"\r
1074 install:\r
1075         cecopy pc:$(MACHINE)/perl.exe ce:/bin\r
1076         cecopy pc:$(MACHINE)/perl$(PV).dll ce:/bin\r
1077 !endif\r
1078 \r
1079 !if "$(MACHINE)" == "wince-sh3-hpc-wce211"\r
1080 install:\r
1081         cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte2/bin\r
1082         cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte2/bin\r
1083 !endif\r