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