This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Changes USE_THREADS to USE_5005THREADS in the entire source.
[perl5.git] / wince / Makefile.ce
CommitLineData
e4451f11
JH
1# perl makefile for wince
2#
3# Time-stamp: <01/08/01 21:11:35 keuchel@w2k>
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
341!IF "$(USE_OBJECT)" == "define"
342PERL_MALLOC = undef
343USE_5005THREADS = undef
344USE_MULTI = undef
345USE_IMP_SYS = define
346!ENDIF
347
348!IF "$(PERL_MALLOC)" == ""
349PERL_MALLOC = undef
350!ENDIF
351
352!IF "$(USE_5005THREADS)" == ""
353USE_5005THREADS = undef
354!ENDIF
355
356!IF "$(USE_5005THREADS)" == "define"
357USE_ITHREADS = undef
358!ENDIF
359
360!IF "$(USE_IMP_SYS)" == "define"
361PERL_MALLOC = undef
362!ENDIF
363
364!IF "$(USE_MULTI)" == ""
365USE_MULTI = undef
366!ENDIF
367
368!IF "$(USE_OBJECT)" == ""
369USE_OBJECT = undef
370!ENDIF
371
372!IF "$(USE_ITHREADS)" == ""
373USE_ITHREADS = undef
374!ENDIF
375
376!IF "$(USE_IMP_SYS)" == ""
377USE_IMP_SYS = undef
378!ENDIF
379
380!IF "$(USE_PERLCRT)" == ""
381USE_PERLCRT = undef
382!ENDIF
383
384!IF "$(USE_IMP_SYS)$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" == "defineundefundefundef"
385USE_MULTI = define
386!ENDIF
387
388!IF "$(USE_ITHREADS)$(USE_MULTI)$(USE_OBJECT)" == "defineundefundef"
389USE_MULTI = define
390USE_5005THREADS = undef
391!ENDIF
392
393!IF "$(USE_MULTI)$(USE_5005THREADS)$(USE_OBJECT)" != "undefundefundef"
394BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT
395!ENDIF
396
397!IF "$(USE_IMP_SYS)" != "undef"
398BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_SYS
399!ENDIF
400
401# new option - automatically defined in perl.h...
402#BUILDOPT = $(BUILDOPT) -DUSE_ENVIRON_ARRAY
403
404PROCESSOR_ARCHITECTURE = $(TARGETCPU)
405ARCHNAME = $(PLATFORM)-$(OSVERSION)-$(PROCESSOR_ARCHITECTURE)
406# unused yet
407ARCHDIR = ..\lib\$(ARCHNAME)
408COREDIR = ..\lib\CORE
409AUTODIR = ..\lib\auto
410LIBDIR = ..\lib
411EXTDIR = ..\ext
412PODDIR = ..\pod
413EXTUTILSDIR = $(LIBDIR)\ExtUtils
414
415LINK32 = link
416LIB32 = $(LINK32) -lib
417RSC = rc
418
419INCLUDES = -I.\include -I. -I..
420DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT $(CRYPT_FLAG) $(CECFLAGS)
421LOCDEFS = -DPERLDLL -DPERL_CORE
422CXX_FLAG = -TP -GX
423
424PERLEXE_RES = perl.res
425PERLDLL_RES =
426
427!IF "$(USE_OBJECT)" == "define"
428OPTIMIZE = $(OPTIMIZE) $(CXX_FLAG)
429BUILDOPT = $(BUILDOPT) -DPERL_OBJECT
430!ENDIF
431
432!if "$(CFG)" == "RELEASE"
433CELIB = celib.lib
434!endif
435
436!if "$(CFG)" == "DEBUG"
437CELIB = celib.lib
438!endif
439
440CELIBS = -nodefaultlib \
441 winsock.lib $(CELIB) coredll.lib
442
443!if $(CEVersion) > 200
444CELIBS = $(CELIBS) corelibc.lib
445!else
446CELIBS = $(CELIBS) msvcrt.lib
447!endif
448
449LIBBASEFILES = $(CRYPT_LIB) $(CELIBS)
450
451LIBFILES = $(LIBBASEFILES) $(LIBC)
452
453CFLAGS = -nologo -Gf -W3 $(INCLUDES) $(DEFINES) $(LOCDEFS) \
454 $(PCHFLAGS) $(OPTIMIZE)
455
456LINK_FLAGS = -nologo -machine:$(PROCESSOR_ARCHITECTURE)
457
458!if "$(CFG)" == "DEBUG"
459LINK_FLAGS = $(LINK_FLAGS) -debug:full -pdb:none
460!endif
461
462OBJOUT_FLAG = -Fo
463EXEOUT_FLAG = -Fe
464
465CFLAGS_O = $(CFLAGS) $(BUILDOPT)
466
467o = .obj
468
469#
470# Rules
471#
472
473.SUFFIXES : .c $(o) .dll .lib .exe .rc .res
474
475.c$(o):
476 $(CC) -c -I$(<D) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $<
477
478.y.c:
479 $(NOOP)
480
481$(o).dll:
482 $(LINK32) -dll $(SUBSYS) $(LDLIBPATH) \
483 -implib:$(*B).lib -def:$(*B).def \
484 -out:$@ $(LINK_FLAGS) $(LIBFILES) $< $(LIBPERL)
485
486.rc.res:
487 $(RSC) -i.. $<
488
489# This must be relative to ../lib/CORE, else the ext dll build fails...
490PERLIMPLIB_EXP = ..\..\wince\$(MACHINE)\perl$(PV).lib
491PERLIMPLIB = $(PERLCEDIR)\$(MACHINE)\perl$(PV).lib
492PERLDLL = $(MACHINE)\perl$(PV).dll
493
494DLLDIR = $(MACHINE)\dll
495PERLEXE = $(MACHINE)\perl.exe
496
497CONFIGPM = ..\lib\Config.pm
498MINIMOD = ..\lib\ExtUtils\Miniperl.pm
499
500MAKE = nmake -nologo
501
502CFGSH_TMPL = config.ce
503CFGH_TMPL = config_H.ce
504
505#
506# filenames given to xsubpp must have forward slashes (since it puts
507# full pathnames in #line strings)
508XSUBPP = $(NTPERL) -I..\..\lib ..\$(EXTUTILSDIR)\xsubpp \
509 -C++ -prototypes
510
511MICROCORE_SRC = \
512 ..\av.c \
513 ..\deb.c \
514 ..\doio.c \
515 ..\doop.c \
516 ..\dump.c \
517 ..\globals.c \
518 ..\gv.c \
519 ..\hv.c \
520 ..\mg.c \
521 ..\op.c \
522 ..\perl.c \
523 ..\perlapi.c \
524 ..\perly.c \
525 ..\pp.c \
526 ..\pp_ctl.c \
527 ..\pp_hot.c \
528 ..\pp_sys.c \
529 ..\regcomp.c \
530 ..\regexec.c \
531 ..\run.c \
532 ..\scope.c \
8a12a0aa 533 ..\sharedsv.c \
e4451f11
JH
534 ..\sv.c \
535 ..\taint.c \
536 ..\toke.c \
537 ..\universal.c \
538 ..\utf8.c \
539 ..\util.c \
540 ..\xsutils.c
541
542EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c
543
544!IF "$(PERL_MALLOC)" == "define"
545EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c
546!ENDIF
547
548!IF "$(USE_OBJECT)" != "define"
549EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c
550!ENDIF
551
552WIN32_SRC = \
553 .\wince.c \
554 .\wincesck.c \
555 .\win32thread.c
556
557!IF "$(CRYPT_SRC)" != ""
558WIN32_SRC = $(WIN32_SRC) .\$(CRYPT_SRC)
559!ENDIF
560
561DLL_SRC = $(DYNALOADER).c
562
563CORE_NOCFG_H = \
564 ..\av.h \
565 ..\cop.h \
566 ..\cv.h \
567 ..\dosish.h \
568 ..\embed.h \
569 ..\form.h \
570 ..\gv.h \
571 ..\handy.h \
572 ..\hv.h \
573 ..\iperlsys.h \
574 ..\mg.h \
575 ..\nostdio.h \
576 ..\op.h \
577 ..\opcode.h \
578 ..\perl.h \
579 ..\perlapi.h \
580 ..\perlsdio.h \
581 ..\perlsfio.h \
582 ..\perly.h \
583 ..\pp.h \
584 ..\proto.h \
585 ..\regexp.h \
586 ..\scope.h \
8a12a0aa 587 ..\sharedsv.h \
e4451f11
JH
588 ..\sv.h \
589 ..\thread.h \
590 ..\unixish.h \
591 ..\utf8.h \
592 ..\util.h \
593 ..\warnings.h \
594 ..\XSUB.h \
595 ..\EXTERN.h \
596 ..\perlvars.h \
597 ..\intrpvar.h \
598 ..\thrdvar.h \
599 .\include\dirent.h \
600 .\include\netdb.h \
601 .\include\sys\socket.h \
602 .\win32.h
603
604!IF "$(USE_SETARGV)" != ""
605SETARGV_OBJ = setargv$(o)
606!ENDIF
607
608DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attrs Thread B re \
609 Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \
610 Sys/Hostname
611
612STATIC_EXT = DynaLoader
613NONXS_EXT = Errno
614
615DYNALOADER = $(EXTDIR)\DynaLoader\DynaLoader
616SOCKET = $(EXTDIR)\Socket\Socket
617IO = $(EXTDIR)\IO\IO
618DUMPER = $(EXTDIR)\Data\Dumper\Dumper
619#
620FCNTL = $(EXTDIR)\Fcntl\Fcntl
621OPCODE = $(EXTDIR)\Opcode\Opcode
622SDBM_FILE = $(EXTDIR)\SDBM_File\SDBM_File
623POSIX = $(EXTDIR)\POSIX\POSIX
624ATTRS = $(EXTDIR)\attrs\attrs
625THREAD = $(EXTDIR)\Thread\Thread
626B = $(EXTDIR)\B\B
627RE = $(EXTDIR)\re\re
628ERRNO = $(EXTDIR)\Errno\Errno
629PEEK = $(EXTDIR)\Devel\Peek\Peek
630BYTELOADER = $(EXTDIR)\ByteLoader\ByteLoader
631DPROF = $(EXTDIR)\Devel\DProf\DProf
632GLOB = $(EXTDIR)\File\Glob\Glob
633HOSTNAME = $(EXTDIR)\Sys\Hostname\Hostname
634SOCKET_DLL = $(AUTODIR)\Socket\Socket.dll
635FCNTL_DLL = $(AUTODIR)\Fcntl\Fcntl.dll
636OPCODE_DLL = $(AUTODIR)\Opcode\Opcode.dll
637SDBM_FILE_DLL = $(AUTODIR)\SDBM_File\SDBM_File.dll
638IO_DLL = $(AUTODIR)\IO\IO.dll
639POSIX_DLL = $(AUTODIR)\POSIX\POSIX.dll
640ATTRS_DLL = $(AUTODIR)\attrs\attrs.dll
641THREAD_DLL = $(AUTODIR)\Thread\Thread.dll
642B_DLL = $(AUTODIR)\B\B.dll
643DUMPER_DLL = $(AUTODIR)\Data\Dumper\Dumper.dll
644PEEK_DLL = $(AUTODIR)\Devel\Peek\Peek.dll
645RE_DLL = $(AUTODIR)\re\re.dll
646BYTELOADER_DLL = $(AUTODIR)\ByteLoader\ByteLoader.dll
647DPROF_DLL = $(AUTODIR)\Devel\DProf\DProf.dll
648GLOB_DLL = $(AUTODIR)\File\Glob\Glob.dll
649HOSTNAME_DLL = $(AUTODIR)\Sys\Hostname\Hostname.dll
650
651ERRNO_PM = $(LIBDIR)\Errno.pm
652
653EXTENSION_C = \
654 $(SOCKET).c \
655 $(FCNTL).c \
656 $(OPCODE).c \
657 $(SDBM_FILE).c \
658 $(IO).c \
659 $(POSIX).c \
660 $(ATTRS).c \
661 $(THREAD).c \
662 $(RE).c \
663 $(DUMPER).c \
664 $(PEEK).c \
665 $(B).c \
666 $(BYTELOADER).c \
667 $(DPROF).c \
668 $(GLOB).c \
669 $(HOSTNAME).c
670
671EXTENSION_DLL = \
672 $(SOCKET_DLL) \
673 $(FCNTL_DLL) \
674 $(OPCODE_DLL) \
675 $(SDBM_FILE_DLL)\
676 $(IO_DLL) \
677 $(POSIX_DLL) \
678 $(ATTRS_DLL) \
679 $(DUMPER_DLL) \
680 $(PEEK_DLL) \
681 $(B_DLL) \
682 $(RE_DLL) \
683 $(THREAD_DLL) \
684 $(BYTELOADER_DLL) \
685 $(DPROF_DLL) \
686 $(GLOB_DLL) \
687 $(HOSTNAME_DLL)
688
689EXTENSION_PM = \
690 $(ERRNO_PM)
691
692POD2HTML = $(PODDIR)\pod2html
693POD2MAN = $(PODDIR)\pod2man
694POD2LATEX = $(PODDIR)\pod2latex
695POD2TEXT = $(PODDIR)\pod2text
696
697CFG_VARS = \
698 "INST_DRV=$(INST_DRV)" \
699 "INST_TOP=$(INST_TOP)" \
700 "INST_VER=$(INST_VER)" \
701 "INST_ARCH=$(INST_ARCH)" \
702 "archname=$(ARCHNAME)" \
703 "cc=$(CC)" \
704 "ccflags=$(OPTIMIZE) $(DEFINES) $(BUILDOPT)" \
705 "cf_by=Rainer Keuchel" \
706 "cf_email=coyxc@rainer-keuchel.de" \
707 "d_crypt=$(D_CRYPT)" \
708 "d_mymalloc=$(PERL_MALLOC)" \
709 "libs=$(LIBFILES)" \
710 "incpath=$(CCINCDIR)" \
711 "libperl=$(PERLIMPLIB_EXP)" \
712 "libpth=$(LIBPATH)" \
713 "libc=$(LIBC)" \
714 "make=nmake" \
715 "static_ext=$(STATIC_EXT)" \
716 "dynamic_ext=$(DYNAMIC_EXT)" \
717 "nonxs_ext=$(NONXS_EXT)" \
718 "use5005threads=$(USE_5005THREADS)" \
719 "useithreads=$(USE_ITHREADS)" \
720 "usethreads=$(USE_5005THREADS)" \
721 "usemultiplicity=$(USE_MULTI)" \
722 "LINK_FLAGS=$(LDLIBPATH) $(LINK_FLAGS) $(SUBSYS)" \
723 "optimize=$(OPTIMIZE)"
724
725#
726# Top targets
727#
728
729all: $(MINIMOD) $(CONFIGPM) $(PERLEXE)
730
731$(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c
732
733$(CONFIGPM): config.h ..\config.sh ..\minimod.pl
734 cd .. && $(NTPERL) configpm
735 -mkdir $(COREDIR)
736 $(XCOPY) ..\*.h $(COREDIR)\*.*
737 $(XCOPY) *.h $(COREDIR)\*.*
738 $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.*
739 $(RCOPY) include $(COREDIR)\*.*
740 $(NTPERL) -I..\lib config_h.PL "INST_VER=$(INST_VER)"
741
742..\config.sh config.h: config.ce config_sh.PL
743 $(NTPERL) -I..\lib config_sh.PL $(CFG_VARS) config.ce > ..\config.sh
744
745$(MINIMOD) : ..\minimod.pl
746 cd .. && $(NTPERL) minimod.pl > lib\ExtUtils\Miniperl.pm
747
748perlmain.c : runperl.c
749 $(COPY) runperl.c perlmain.c
750
751$(DYNALOADER).c: $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)
752 if not exist $(AUTODIR) mkdir $(AUTODIR)
753 cd $(EXTDIR)\$(*B)
754 $(NTPERL) -I..\..\lib $(*B)_pm.PL
755 $(NTPERL) -I..\..\lib XSLoader_pm.PL
756 cd ..\..\wince
757 $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)
758 $(XCOPY) $(EXTDIR)\$(*B)\XSLoader.pm $(LIBDIR)\$(NULL)
759 cd $(EXTDIR)\$(*B)
760 $(XSUBPP) dl_win32.xs > $(*B).c
761 cd ..\..\wince
762
763$(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
764 $(COPY) dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
765
766$(DUMPER_DLL): $(PERLEXE) $(DUMPER).xs
767 cd $(EXTDIR)\Data\$(*B)
768 $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
769 $(MAKE)
770 cd ..\..\..\wince
771
772$(DPROF_DLL): $(PERLEXE) $(DPROF).xs
773 cd $(EXTDIR)\Devel\$(*B)
774 $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
775 $(MAKE)
776 cd ..\..\..\wince
777
778$(GLOB_DLL): $(PERLEXE) $(GLOB).xs
779 cd $(EXTDIR)\File\$(*B)
780 $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
781 $(MAKE)
782 cd ..\..\..\wince
783
784$(PEEK_DLL): $(PERLEXE) $(PEEK).xs
785 cd $(EXTDIR)\Devel\$(*B)
786 $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
787 $(MAKE)
788 cd ..\..\..\wince
789
790$(RE_DLL): $(PERLEXE) $(RE).xs
791 cd $(EXTDIR)\$(*B)
792 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
793 $(MAKE)
794 cd ..\..\wince
795
796$(B_DLL): $(PERLEXE) $(B).xs
797 cd $(EXTDIR)\$(*B)
798 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
799 $(MAKE)
800 cd ..\..\wince
801
802$(THREAD_DLL): $(PERLEXE) $(THREAD).xs
803 cd $(EXTDIR)\$(*B)
804 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
805 $(MAKE)
806 cd ..\..\wince
807
808$(ATTRS_DLL): $(PERLEXE) $(ATTRS).xs
809 cd $(EXTDIR)\$(*B)
810 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
811 $(MAKE)
812 cd ..\..\wince
813
814$(POSIX_DLL): $(PERLEXE) $(POSIX).xs
815 cd $(EXTDIR)\$(*B)
816 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
817 $(MAKE)
818 cd ..\..\wince
819
820$(IO_DLL): $(PERLEXE) $(IO).xs
821 cd $(EXTDIR)\$(*B)
822 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
823 $(MAKE)
824 cd ..\..\wince
825
826$(SDBM_FILE_DLL) : $(PERLEXE) $(SDBM_FILE).xs
827 cd $(EXTDIR)\$(*B)
828 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
829 $(MAKE)
830 cd ..\..\wince
831
832$(FCNTL_DLL): $(PERLEXE) $(FCNTL).xs
833 cd $(EXTDIR)\$(*B)
834 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
835 $(MAKE)
836 cd ..\..\wince
837
838$(OPCODE_DLL): $(PERLEXE) $(OPCODE).xs
839 cd $(EXTDIR)\$(*B)
840 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
841 $(MAKE)
842 cd ..\..\wince
843
844$(SOCKET_DLL): $(PERLEXE) $(SOCKET).xs
845 cd $(EXTDIR)\$(*B)
846 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
847 $(MAKE)
848 cd ..\..\wince
849
850$(HOSTNAME_DLL): $(PERLEXE) $(HOSTNAME).xs
851 cd $(EXTDIR)\Sys\$(*B)
852 $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
853 $(MAKE)
854 cd ..\..\..\wince
855
856$(BYTELOADER_DLL): $(PERLEXE) $(BYTELOADER).xs
857 cd $(EXTDIR)\$(*B)
858 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
859 $(MAKE)
860 cd ..\..\wince
861
862$(ERRNO_PM): $(PERLEXE) $(ERRNO)_pm.PL
863 cd $(EXTDIR)\$(*B)
864 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
865 $(MAKE)
866 cd ..\..\wince
867
868$(PERLEXE_RES): perl.rc
869 rc $(RCDEFS) perl.rc
870
871clean:
872 -rm -f $(MACHINE)/dll/*
873 -rm -f $(MACHINE)/*.obj
874 -rm -f $(MACHINE)/*.exe
875 -rm -f $(MACHINE)/*.dll
876 -rm -f $(MACHINE)/*.lib
877 -rm -f ../config.sh ../lib/Config.pm
878 -rm -f config.h perl.res
879
880!if "$(MACHINE)" == "wince-sh3-hpc"
881install_perlexe: $(PERLEXE)
882 cedel /speicherkarte2/bin/perl.exe
883 cecopy pc:../perl.exe ce:/speicherkarte2/bin
884
885install_perldll: $(PERLDLL)
886 cedel /speicherkarte2/bin/perl$(PV).dll
887 cecopy pc:../perl$(PV).dll ce:/speicherkarte2/bin
888
889install_perl: install_perlexe install_perldll
890
891test_perl:
892 cecopy pc:test.pl ce:/speicherkarte2/bin
893 ceexec /speicherkarte2/bin/perl.exe /speicherkarte2/bin/test.pl
894# ceexec /speicherkarte2/bin/perl.exe -V
895
896install_lib: ../lib/Config.pm
897 cecopy pc:../lib/Config.pm ce:/speicherkarte2/usr/lib/perl5
898!endif
899
900!if "$(MACHINE)" == "wince-arm-hpc"
901install_perlexe: $(PERLEXE)
902 -cedel /speicherkarte/bin/perl.exe
903 cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
904
905install_perldll: $(PERLDLL)
906 -cedel /speicherkarte/bin/perl$(PV).dll
907 cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
908
909install_perl: install_perlexe install_perldll
910
911test_perl:
912 cecopy pc:test.pl ce:/speicherkarte/bin
913 ceexec /speicherkarte/bin/perl.exe /speicherkarte/bin/test.pl
914# ceexec /speicherkarte2/bin/perl.exe -V
915
916install_lib: ../lib/Config.pm
917 cecopy pc:../lib/Config.pm ce:/speicherkarte/usr/lib/perl5
918!endif
919
920!if "$(MACHINE)" == "wince-mips-hpc"
921install_perlexe: $(PERLEXE)
922 cecopy pc:../perl.exe ce:/netzwerk/compaq/bin
923
924install_perldll: $(PERLDLL)
925 cecopy pc:../perl$(PV).dll ce:/netzwerk/compaq/bin
926
927install_perl: install_perlexe install_perldll
928
929test_perl:
930 cecopy pc:test.pl ce:/netzwerk/compaq/bin
931 ceexec /netzwerk/compaq/bin/perl.exe /netzwerk/compaq/bin/test.pl
932# ceexec /netzwerk/compaq/bin/perl.exe -V
933
934install_lib: ../lib/Config.pm
935 cecopy pc:../lib/Config.pm ce:/netzwerk/compaq/usr/lib/perl5
936!endif
937
938!if "$(MACHINE)" == "wince-x86em-pocket"
939install_lib:
940 ftpcopy ../lib/Config.pm ftp!ftp@localhost:/perl/lib
941 ftpcopy ../lib/Exporter.pm ftp!ftp@localhost:/perl/lib
942 ftpcopy ../lib/Exporter/Heavy.pm ftp!ftp@localhost:/perl/lib/Exporter
943
944install_perlexe: $(PERLEXE)
945 cecopy pc:../perl.exe ce:/netzwerk/compaq/bin
946
947install_perldll: $(PERLDLL)
948 cecopy pc:../perl$(PV).dll ce:/netzwerk/compaq/bin
949
950install_perl: install_perlexe install_perldll
951
952test_perl:
953 echo Not yet
954!endif
955
956
957XDLLOBJS = \
958$(DLLDIR)\av.obj \
959$(DLLDIR)\deb.obj \
960$(DLLDIR)\doio.obj \
961$(DLLDIR)\doop.obj \
962$(DLLDIR)\dump.obj \
963$(DLLDIR)\globals.obj \
964$(DLLDIR)\gv.obj \
965$(DLLDIR)\hv.obj \
966$(DLLDIR)\locale.obj \
967$(DLLDIR)\mg.obj \
968$(DLLDIR)\numeric.obj \
969$(DLLDIR)\op.obj \
970$(DLLDIR)\perl.obj \
971$(DLLDIR)\perlapi.obj \
972$(DLLDIR)\perlio.obj \
973$(DLLDIR)\perly.obj \
974$(DLLDIR)\pp.obj \
975$(DLLDIR)\pp_ctl.obj \
976$(DLLDIR)\pp_hot.obj \
977$(DLLDIR)\pp_pack.obj \
978$(DLLDIR)\pp_sys.obj \
979$(DLLDIR)\regcomp.obj \
980$(DLLDIR)\regexec.obj \
981$(DLLDIR)\run.obj \
982$(DLLDIR)\scope.obj \
8a12a0aa 983$(DLLDIR)\sharedsv.obj \
e4451f11
JH
984$(DLLDIR)\sv.obj \
985$(DLLDIR)\taint.obj \
986$(DLLDIR)\toke.obj \
987$(DLLDIR)\universal.obj \
988$(DLLDIR)\utf8.obj \
989$(DLLDIR)\util.obj \
990$(DLLDIR)\win32thread.obj \
991$(DLLDIR)\wince.obj \
992$(DLLDIR)\wincesck.obj \
993$(DLLDIR)\xsutils.obj \
994$(DLLDIR)\perllib.obj \
995$(DLLDIR)\DynaLoader.obj
996
997{$(SRCDIR)}.c{$(DLLDIR)}.obj:
998 $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<
999
1000{$(SRCDIR)/wince}.c{$(DLLDIR)}.obj:
1001 $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<
1002
1003$(PERLDLL) : $(DLLDIR) perldll.def $(XDLLOBJS) $(PERLDLL_RES)
1004 $(LINK32) -dll -def:perldll.def -out:$@ \
1005 $(SUBSYS) $(LDLIBPATH) \
1006 $(LINK_FLAGS) $(LIBFILES) \
1007 $(XDLLOBJS) $(PERLDLL_RES)
1008
1009$(DLLDIR) :
1010 if not exist "$(DLLDIR)" mkdir "$(DLLDIR)"
1011
1012$(DLLDIR)\DynaLoader.obj: $(EXTDIR)\DynaLoader\DynaLoader.c
1013 $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ \
1014 $(EXTDIR)\DynaLoader\DynaLoader.c
1015
1016XPERLEXEOBJS = \
1017$(MACHINE)\perlmain.obj
1018
1019$(PERLEXE) : $(PERLDLL) $(CONFIGPM) $(XPERLEXEOBJS) $(PERLEXE_RES) $(STARTOBJS)
1020 $(LINK32) $(SUBSYS) $(LDLIBPATH) \
1021 -entry:wWinMainCRTStartup \
1022 -out:$(MACHINE)\perl.exe \
1023 -stack:0x100000 $(LINK_FLAGS) $(STARTOBJS) $(XPERLEXEOBJS) \
1024 $(PERLIMPLIB) $(PERLEXE_RES) $(LIBFILES)
1025
1026$(MACHINE)\perlmain.obj : perlmain.c
1027 $(CC) $(CFLAGS_O) -UPERLDLL -Fo$(MACHINE)\ -c perlmain.c
1028
1029iodll: $(IO_DLL)
1030socketdll: $(SOCKET_DLL)
1031dumperdll: $(DUMPER_DLL)
1032
1033dlls: socketdll iodll dumperdll
1034 -xmkdir -p $(MACHINE)/lib/auto/IO
1035 cp ../lib/auto/IO/IO.bs $(MACHINE)/lib/auto/IO
1036 cp ../lib/auto/IO/IO.dll $(MACHINE)/lib/auto/IO
1037 -xmkdir $(MACHINE)/lib/auto/Socket
1038 cp ../lib/auto/Socket/Socket.bs $(MACHINE)/lib/auto/Socket
1039 cp ../lib/auto/Socket/Socket.dll $(MACHINE)/lib/auto/Socket
1040 -xmkdir -p $(MACHINE)/lib/auto/Data/Dumper
1041 cp ../lib/auto/Data/Dumper/Dumper.bs $(MACHINE)/lib/auto/Data/Dumper
1042 cp ../lib/auto/Data/Dumper/Dumper.dll $(MACHINE)/lib/auto/Data/Dumper
1043
1044makedist: all dlls
1045 $(COPY) $(CELIBPATH)\celib.dll $(MACHINE)
1046 cp perl.txt $(MACHINE)
1047 cp registry.bat $(MACHINE)
1048 cp ../lib/Config.pm $(MACHINE)/lib
1049 cd $(MACHINE)
1050 rm -f perl-$(MACHINE).tar.gz
1051 sh -c "tar cf perl-$(MACHINE).tar *.exe *.dll *.txt *.bat lib"
1052 gzip -9 perl-$(MACHINE).tar
1053 mv perl-$(MACHINE).tar.gz h:/freenet/new
1054 cd ..
1055
1056!if "$(MACHINE)" == "wince-arm-hpc-wce300"
1057install: all
1058 cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
1059 cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
1060install_dlls: dlls
1061 cecopy pc:../lib/auto/IO/io.dll ce:/speicherkarte/usr/lib/perl5/auto/IO/io.dll
1062!endif
1063
1064!if "$(MACHINE)" == "wince-arm-hpc-wce211"
1065install: all
1066 cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
1067 cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
1068!endif
1069
1070!if "$(MACHINE)" == "wince-mips-hpc-wce211"
1071install:
1072 cecopy pc:$(MACHINE)/perl.exe ce:/bin
1073 cecopy pc:$(MACHINE)/perl$(PV).dll ce:/bin
1074!endif
1075
1076!if "$(MACHINE)" == "wince-mips-hpc-wce200"
1077install:
1078 cecopy pc:$(MACHINE)/perl.exe ce:/bin
1079 cecopy pc:$(MACHINE)/perl$(PV).dll ce:/bin
1080!endif
1081
1082!if "$(MACHINE)" == "wince-sh3-hpc-wce211"
1083install:
1084 cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte2/bin
1085 cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte2/bin
1086!endif