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