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