"All tests successful" VC6.0 Win32
[p5sagit/p5-mst-13.2.git] / wince / Makefile.ce
CommitLineData
e4451f11 1# perl makefile for wince
2#
ca6c63e1 3# Time-stamp: <26/10/01 15:10:06 keuchel@keuchelnt>
e4451f11 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 14CEPATH = D:\Programme\Microsoft eMbedded Tools\EVC\WCE211\BIN
15CELIBDLLDIR = h:\src\wince\celib-palm-3.0
e4451f11 16CECONSOLEDIR = h:\src\wince\w32console
17# Only for WIN2000
ca6c63e1 18#YES = /y
e4451f11 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 293 $(MCFLAGS) -D PERL
294
e4451f11 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 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 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 375USE_MULTI = define
376!ENDIF
377
acfe0abc 378!IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef"
e4451f11 379USE_MULTI = define
380USE_5005THREADS = undef
381!ENDIF
382
acfe0abc 383!IF "$(USE_MULTI)$(USE_5005THREADS)" != "undefundef"
e4451f11 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 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 513 ..\pp_pack.c \
514 ..\pp_sort.c \
e4451f11 515 ..\pp_sys.c \
516 ..\regcomp.c \
517 ..\regexec.c \
518 ..\run.c \
519 ..\scope.c \
520 ..\sv.c \
521 ..\taint.c \
522 ..\toke.c \
523 ..\universal.c \
524 ..\utf8.c \
525 ..\util.c \
526 ..\xsutils.c
527
528EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c
529
530!IF "$(PERL_MALLOC)" == "define"
531EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c
532!ENDIF
533
e4451f11 534EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c
e4451f11 535
536WIN32_SRC = \
537 .\wince.c \
538 .\wincesck.c \
539 .\win32thread.c
540
541!IF "$(CRYPT_SRC)" != ""
542WIN32_SRC = $(WIN32_SRC) .\$(CRYPT_SRC)
543!ENDIF
544
545DLL_SRC = $(DYNALOADER).c
546
547CORE_NOCFG_H = \
548 ..\av.h \
549 ..\cop.h \
550 ..\cv.h \
551 ..\dosish.h \
552 ..\embed.h \
553 ..\form.h \
554 ..\gv.h \
555 ..\handy.h \
556 ..\hv.h \
557 ..\iperlsys.h \
558 ..\mg.h \
559 ..\nostdio.h \
560 ..\op.h \
561 ..\opcode.h \
562 ..\perl.h \
563 ..\perlapi.h \
564 ..\perlsdio.h \
565 ..\perlsfio.h \
566 ..\perly.h \
567 ..\pp.h \
568 ..\proto.h \
569 ..\regexp.h \
570 ..\scope.h \
571 ..\sv.h \
572 ..\thread.h \
573 ..\unixish.h \
574 ..\utf8.h \
575 ..\util.h \
576 ..\warnings.h \
577 ..\XSUB.h \
578 ..\EXTERN.h \
579 ..\perlvars.h \
580 ..\intrpvar.h \
581 ..\thrdvar.h \
582 .\include\dirent.h \
583 .\include\netdb.h \
584 .\include\sys\socket.h \
585 .\win32.h
586
587!IF "$(USE_SETARGV)" != ""
588SETARGV_OBJ = setargv$(o)
589!ENDIF
590
591DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attrs Thread B re \
592 Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \
593 Sys/Hostname
594
595STATIC_EXT = DynaLoader
596NONXS_EXT = Errno
597
598DYNALOADER = $(EXTDIR)\DynaLoader\DynaLoader
599SOCKET = $(EXTDIR)\Socket\Socket
600IO = $(EXTDIR)\IO\IO
601DUMPER = $(EXTDIR)\Data\Dumper\Dumper
602#
603FCNTL = $(EXTDIR)\Fcntl\Fcntl
604OPCODE = $(EXTDIR)\Opcode\Opcode
605SDBM_FILE = $(EXTDIR)\SDBM_File\SDBM_File
606POSIX = $(EXTDIR)\POSIX\POSIX
607ATTRS = $(EXTDIR)\attrs\attrs
608THREAD = $(EXTDIR)\Thread\Thread
609B = $(EXTDIR)\B\B
610RE = $(EXTDIR)\re\re
611ERRNO = $(EXTDIR)\Errno\Errno
612PEEK = $(EXTDIR)\Devel\Peek\Peek
613BYTELOADER = $(EXTDIR)\ByteLoader\ByteLoader
614DPROF = $(EXTDIR)\Devel\DProf\DProf
615GLOB = $(EXTDIR)\File\Glob\Glob
616HOSTNAME = $(EXTDIR)\Sys\Hostname\Hostname
617SOCKET_DLL = $(AUTODIR)\Socket\Socket.dll
618FCNTL_DLL = $(AUTODIR)\Fcntl\Fcntl.dll
619OPCODE_DLL = $(AUTODIR)\Opcode\Opcode.dll
620SDBM_FILE_DLL = $(AUTODIR)\SDBM_File\SDBM_File.dll
621IO_DLL = $(AUTODIR)\IO\IO.dll
622POSIX_DLL = $(AUTODIR)\POSIX\POSIX.dll
623ATTRS_DLL = $(AUTODIR)\attrs\attrs.dll
624THREAD_DLL = $(AUTODIR)\Thread\Thread.dll
625B_DLL = $(AUTODIR)\B\B.dll
626DUMPER_DLL = $(AUTODIR)\Data\Dumper\Dumper.dll
627PEEK_DLL = $(AUTODIR)\Devel\Peek\Peek.dll
628RE_DLL = $(AUTODIR)\re\re.dll
629BYTELOADER_DLL = $(AUTODIR)\ByteLoader\ByteLoader.dll
630DPROF_DLL = $(AUTODIR)\Devel\DProf\DProf.dll
631GLOB_DLL = $(AUTODIR)\File\Glob\Glob.dll
632HOSTNAME_DLL = $(AUTODIR)\Sys\Hostname\Hostname.dll
633
634ERRNO_PM = $(LIBDIR)\Errno.pm
635
636EXTENSION_C = \
637 $(SOCKET).c \
638 $(FCNTL).c \
639 $(OPCODE).c \
640 $(SDBM_FILE).c \
641 $(IO).c \
642 $(POSIX).c \
643 $(ATTRS).c \
644 $(THREAD).c \
645 $(RE).c \
646 $(DUMPER).c \
647 $(PEEK).c \
648 $(B).c \
649 $(BYTELOADER).c \
650 $(DPROF).c \
651 $(GLOB).c \
652 $(HOSTNAME).c
653
654EXTENSION_DLL = \
655 $(SOCKET_DLL) \
656 $(FCNTL_DLL) \
657 $(OPCODE_DLL) \
658 $(SDBM_FILE_DLL)\
659 $(IO_DLL) \
660 $(POSIX_DLL) \
661 $(ATTRS_DLL) \
662 $(DUMPER_DLL) \
663 $(PEEK_DLL) \
664 $(B_DLL) \
665 $(RE_DLL) \
666 $(THREAD_DLL) \
667 $(BYTELOADER_DLL) \
668 $(DPROF_DLL) \
669 $(GLOB_DLL) \
670 $(HOSTNAME_DLL)
671
672EXTENSION_PM = \
673 $(ERRNO_PM)
674
675POD2HTML = $(PODDIR)\pod2html
676POD2MAN = $(PODDIR)\pod2man
677POD2LATEX = $(PODDIR)\pod2latex
678POD2TEXT = $(PODDIR)\pod2text
679
680CFG_VARS = \
681 "INST_DRV=$(INST_DRV)" \
682 "INST_TOP=$(INST_TOP)" \
683 "INST_VER=$(INST_VER)" \
684 "INST_ARCH=$(INST_ARCH)" \
685 "archname=$(ARCHNAME)" \
686 "cc=$(CC)" \
687 "ccflags=$(OPTIMIZE) $(DEFINES) $(BUILDOPT)" \
688 "cf_by=Rainer Keuchel" \
689 "cf_email=coyxc@rainer-keuchel.de" \
690 "d_crypt=$(D_CRYPT)" \
691 "d_mymalloc=$(PERL_MALLOC)" \
692 "libs=$(LIBFILES)" \
693 "incpath=$(CCINCDIR)" \
694 "libperl=$(PERLIMPLIB_EXP)" \
695 "libpth=$(LIBPATH)" \
696 "libc=$(LIBC)" \
697 "make=nmake" \
698 "static_ext=$(STATIC_EXT)" \
699 "dynamic_ext=$(DYNAMIC_EXT)" \
700 "nonxs_ext=$(NONXS_EXT)" \
701 "use5005threads=$(USE_5005THREADS)" \
702 "useithreads=$(USE_ITHREADS)" \
703 "usethreads=$(USE_5005THREADS)" \
704 "usemultiplicity=$(USE_MULTI)" \
705 "LINK_FLAGS=$(LDLIBPATH) $(LINK_FLAGS) $(SUBSYS)" \
706 "optimize=$(OPTIMIZE)"
707
708#
709# Top targets
710#
711
712all: $(MINIMOD) $(CONFIGPM) $(PERLEXE)
713
714$(DYNALOADER)$(o) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c
715
716$(CONFIGPM): config.h ..\config.sh ..\minimod.pl
717 cd .. && $(NTPERL) configpm
718 -mkdir $(COREDIR)
719 $(XCOPY) ..\*.h $(COREDIR)\*.*
720 $(XCOPY) *.h $(COREDIR)\*.*
721 $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.*
722 $(RCOPY) include $(COREDIR)\*.*
723 $(NTPERL) -I..\lib config_h.PL "INST_VER=$(INST_VER)"
724
725..\config.sh config.h: config.ce config_sh.PL
726 $(NTPERL) -I..\lib config_sh.PL $(CFG_VARS) config.ce > ..\config.sh
727
728$(MINIMOD) : ..\minimod.pl
729 cd .. && $(NTPERL) minimod.pl > lib\ExtUtils\Miniperl.pm
730
731perlmain.c : runperl.c
732 $(COPY) runperl.c perlmain.c
733
734$(DYNALOADER).c: $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)
735 if not exist $(AUTODIR) mkdir $(AUTODIR)
736 cd $(EXTDIR)\$(*B)
737 $(NTPERL) -I..\..\lib $(*B)_pm.PL
738 $(NTPERL) -I..\..\lib XSLoader_pm.PL
739 cd ..\..\wince
740 $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)
741 $(XCOPY) $(EXTDIR)\$(*B)\XSLoader.pm $(LIBDIR)\$(NULL)
742 cd $(EXTDIR)\$(*B)
743 $(XSUBPP) dl_win32.xs > $(*B).c
744 cd ..\..\wince
745
746$(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
747 $(COPY) dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
748
749$(DUMPER_DLL): $(PERLEXE) $(DUMPER).xs
750 cd $(EXTDIR)\Data\$(*B)
751 $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
752 $(MAKE)
753 cd ..\..\..\wince
754
755$(DPROF_DLL): $(PERLEXE) $(DPROF).xs
756 cd $(EXTDIR)\Devel\$(*B)
757 $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
758 $(MAKE)
759 cd ..\..\..\wince
760
761$(GLOB_DLL): $(PERLEXE) $(GLOB).xs
762 cd $(EXTDIR)\File\$(*B)
763 $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
764 $(MAKE)
765 cd ..\..\..\wince
766
767$(PEEK_DLL): $(PERLEXE) $(PEEK).xs
768 cd $(EXTDIR)\Devel\$(*B)
769 $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
770 $(MAKE)
771 cd ..\..\..\wince
772
773$(RE_DLL): $(PERLEXE) $(RE).xs
774 cd $(EXTDIR)\$(*B)
775 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
776 $(MAKE)
777 cd ..\..\wince
778
779$(B_DLL): $(PERLEXE) $(B).xs
780 cd $(EXTDIR)\$(*B)
781 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
782 $(MAKE)
783 cd ..\..\wince
784
785$(THREAD_DLL): $(PERLEXE) $(THREAD).xs
786 cd $(EXTDIR)\$(*B)
787 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
788 $(MAKE)
789 cd ..\..\wince
790
791$(ATTRS_DLL): $(PERLEXE) $(ATTRS).xs
792 cd $(EXTDIR)\$(*B)
793 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
794 $(MAKE)
795 cd ..\..\wince
796
797$(POSIX_DLL): $(PERLEXE) $(POSIX).xs
798 cd $(EXTDIR)\$(*B)
799 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
800 $(MAKE)
801 cd ..\..\wince
802
803$(IO_DLL): $(PERLEXE) $(IO).xs
804 cd $(EXTDIR)\$(*B)
805 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
806 $(MAKE)
807 cd ..\..\wince
808
809$(SDBM_FILE_DLL) : $(PERLEXE) $(SDBM_FILE).xs
810 cd $(EXTDIR)\$(*B)
811 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
812 $(MAKE)
813 cd ..\..\wince
814
815$(FCNTL_DLL): $(PERLEXE) $(FCNTL).xs
816 cd $(EXTDIR)\$(*B)
817 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
818 $(MAKE)
819 cd ..\..\wince
820
821$(OPCODE_DLL): $(PERLEXE) $(OPCODE).xs
822 cd $(EXTDIR)\$(*B)
823 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
824 $(MAKE)
825 cd ..\..\wince
826
827$(SOCKET_DLL): $(PERLEXE) $(SOCKET).xs
828 cd $(EXTDIR)\$(*B)
829 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
830 $(MAKE)
831 cd ..\..\wince
832
833$(HOSTNAME_DLL): $(PERLEXE) $(HOSTNAME).xs
834 cd $(EXTDIR)\Sys\$(*B)
835 $(NTPERL) -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
836 $(MAKE)
837 cd ..\..\..\wince
838
839$(BYTELOADER_DLL): $(PERLEXE) $(BYTELOADER).xs
840 cd $(EXTDIR)\$(*B)
841 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
842 $(MAKE)
843 cd ..\..\wince
844
845$(ERRNO_PM): $(PERLEXE) $(ERRNO)_pm.PL
846 cd $(EXTDIR)\$(*B)
847 $(NTPERL) -I..\..\lib Makefile.PL INSTALLDIRS=perl
848 $(MAKE)
849 cd ..\..\wince
850
476a6acb 851$(PERLEXE_RES): perl.rc perl.ico
e4451f11 852 rc $(RCDEFS) perl.rc
853
854clean:
855 -rm -f $(MACHINE)/dll/*
856 -rm -f $(MACHINE)/*.obj
857 -rm -f $(MACHINE)/*.exe
858 -rm -f $(MACHINE)/*.dll
859 -rm -f $(MACHINE)/*.lib
860 -rm -f ../config.sh ../lib/Config.pm
861 -rm -f config.h perl.res
862
863!if "$(MACHINE)" == "wince-sh3-hpc"
864install_perlexe: $(PERLEXE)
865 cedel /speicherkarte2/bin/perl.exe
866 cecopy pc:../perl.exe ce:/speicherkarte2/bin
867
868install_perldll: $(PERLDLL)
869 cedel /speicherkarte2/bin/perl$(PV).dll
870 cecopy pc:../perl$(PV).dll ce:/speicherkarte2/bin
871
872install_perl: install_perlexe install_perldll
873
874test_perl:
875 cecopy pc:test.pl ce:/speicherkarte2/bin
876 ceexec /speicherkarte2/bin/perl.exe /speicherkarte2/bin/test.pl
877# ceexec /speicherkarte2/bin/perl.exe -V
878
879install_lib: ../lib/Config.pm
880 cecopy pc:../lib/Config.pm ce:/speicherkarte2/usr/lib/perl5
881!endif
882
883!if "$(MACHINE)" == "wince-arm-hpc"
884install_perlexe: $(PERLEXE)
885 -cedel /speicherkarte/bin/perl.exe
886 cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
887
888install_perldll: $(PERLDLL)
889 -cedel /speicherkarte/bin/perl$(PV).dll
890 cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
891
892install_perl: install_perlexe install_perldll
893
894test_perl:
895 cecopy pc:test.pl ce:/speicherkarte/bin
896 ceexec /speicherkarte/bin/perl.exe /speicherkarte/bin/test.pl
897# ceexec /speicherkarte2/bin/perl.exe -V
898
899install_lib: ../lib/Config.pm
900 cecopy pc:../lib/Config.pm ce:/speicherkarte/usr/lib/perl5
901!endif
902
903!if "$(MACHINE)" == "wince-mips-hpc"
904install_perlexe: $(PERLEXE)
905 cecopy pc:../perl.exe ce:/netzwerk/compaq/bin
906
907install_perldll: $(PERLDLL)
908 cecopy pc:../perl$(PV).dll ce:/netzwerk/compaq/bin
909
910install_perl: install_perlexe install_perldll
911
912test_perl:
913 cecopy pc:test.pl ce:/netzwerk/compaq/bin
914 ceexec /netzwerk/compaq/bin/perl.exe /netzwerk/compaq/bin/test.pl
915# ceexec /netzwerk/compaq/bin/perl.exe -V
916
917install_lib: ../lib/Config.pm
918 cecopy pc:../lib/Config.pm ce:/netzwerk/compaq/usr/lib/perl5
919!endif
920
921!if "$(MACHINE)" == "wince-x86em-pocket"
922install_lib:
923 ftpcopy ../lib/Config.pm ftp!ftp@localhost:/perl/lib
924 ftpcopy ../lib/Exporter.pm ftp!ftp@localhost:/perl/lib
925 ftpcopy ../lib/Exporter/Heavy.pm ftp!ftp@localhost:/perl/lib/Exporter
926
927install_perlexe: $(PERLEXE)
928 cecopy pc:../perl.exe ce:/netzwerk/compaq/bin
929
930install_perldll: $(PERLDLL)
931 cecopy pc:../perl$(PV).dll ce:/netzwerk/compaq/bin
932
933install_perl: install_perlexe install_perldll
934
935test_perl:
936 echo Not yet
937!endif
938
939
940XDLLOBJS = \
941$(DLLDIR)\av.obj \
942$(DLLDIR)\deb.obj \
943$(DLLDIR)\doio.obj \
944$(DLLDIR)\doop.obj \
945$(DLLDIR)\dump.obj \
946$(DLLDIR)\globals.obj \
947$(DLLDIR)\gv.obj \
948$(DLLDIR)\hv.obj \
949$(DLLDIR)\locale.obj \
950$(DLLDIR)\mg.obj \
951$(DLLDIR)\numeric.obj \
952$(DLLDIR)\op.obj \
953$(DLLDIR)\perl.obj \
954$(DLLDIR)\perlapi.obj \
955$(DLLDIR)\perlio.obj \
956$(DLLDIR)\perly.obj \
957$(DLLDIR)\pp.obj \
958$(DLLDIR)\pp_ctl.obj \
959$(DLLDIR)\pp_hot.obj \
960$(DLLDIR)\pp_pack.obj \
84d4ea48 961$(DLLDIR)\pp_sort.obj \
e4451f11 962$(DLLDIR)\pp_sys.obj \
963$(DLLDIR)\regcomp.obj \
964$(DLLDIR)\regexec.obj \
965$(DLLDIR)\run.obj \
966$(DLLDIR)\scope.obj \
967$(DLLDIR)\sv.obj \
968$(DLLDIR)\taint.obj \
969$(DLLDIR)\toke.obj \
970$(DLLDIR)\universal.obj \
971$(DLLDIR)\utf8.obj \
972$(DLLDIR)\util.obj \
973$(DLLDIR)\win32thread.obj \
974$(DLLDIR)\wince.obj \
975$(DLLDIR)\wincesck.obj \
976$(DLLDIR)\xsutils.obj \
977$(DLLDIR)\perllib.obj \
978$(DLLDIR)\DynaLoader.obj
979
980{$(SRCDIR)}.c{$(DLLDIR)}.obj:
981 $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<
982
983{$(SRCDIR)/wince}.c{$(DLLDIR)}.obj:
984 $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<
985
986$(PERLDLL) : $(DLLDIR) perldll.def $(XDLLOBJS) $(PERLDLL_RES)
987 $(LINK32) -dll -def:perldll.def -out:$@ \
988 $(SUBSYS) $(LDLIBPATH) \
989 $(LINK_FLAGS) $(LIBFILES) \
990 $(XDLLOBJS) $(PERLDLL_RES)
991
992$(DLLDIR) :
993 if not exist "$(DLLDIR)" mkdir "$(DLLDIR)"
994
995$(DLLDIR)\DynaLoader.obj: $(EXTDIR)\DynaLoader\DynaLoader.c
996 $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ \
997 $(EXTDIR)\DynaLoader\DynaLoader.c
998
999XPERLEXEOBJS = \
1000$(MACHINE)\perlmain.obj
1001
1002$(PERLEXE) : $(PERLDLL) $(CONFIGPM) $(XPERLEXEOBJS) $(PERLEXE_RES) $(STARTOBJS)
1003 $(LINK32) $(SUBSYS) $(LDLIBPATH) \
1004 -entry:wWinMainCRTStartup \
1005 -out:$(MACHINE)\perl.exe \
1006 -stack:0x100000 $(LINK_FLAGS) $(STARTOBJS) $(XPERLEXEOBJS) \
1007 $(PERLIMPLIB) $(PERLEXE_RES) $(LIBFILES)
1008
1009$(MACHINE)\perlmain.obj : perlmain.c
1010 $(CC) $(CFLAGS_O) -UPERLDLL -Fo$(MACHINE)\ -c perlmain.c
1011
1012iodll: $(IO_DLL)
1013socketdll: $(SOCKET_DLL)
1014dumperdll: $(DUMPER_DLL)
1015
1016dlls: socketdll iodll dumperdll
1017 -xmkdir -p $(MACHINE)/lib/auto/IO
1018 cp ../lib/auto/IO/IO.bs $(MACHINE)/lib/auto/IO
1019 cp ../lib/auto/IO/IO.dll $(MACHINE)/lib/auto/IO
1020 -xmkdir $(MACHINE)/lib/auto/Socket
1021 cp ../lib/auto/Socket/Socket.bs $(MACHINE)/lib/auto/Socket
1022 cp ../lib/auto/Socket/Socket.dll $(MACHINE)/lib/auto/Socket
1023 -xmkdir -p $(MACHINE)/lib/auto/Data/Dumper
1024 cp ../lib/auto/Data/Dumper/Dumper.bs $(MACHINE)/lib/auto/Data/Dumper
1025 cp ../lib/auto/Data/Dumper/Dumper.dll $(MACHINE)/lib/auto/Data/Dumper
1026
1027makedist: all dlls
1028 $(COPY) $(CELIBPATH)\celib.dll $(MACHINE)
1029 cp perl.txt $(MACHINE)
1030 cp registry.bat $(MACHINE)
1031 cp ../lib/Config.pm $(MACHINE)/lib
1032 cd $(MACHINE)
1033 rm -f perl-$(MACHINE).tar.gz
1034 sh -c "tar cf perl-$(MACHINE).tar *.exe *.dll *.txt *.bat lib"
1035 gzip -9 perl-$(MACHINE).tar
1036 mv perl-$(MACHINE).tar.gz h:/freenet/new
1037 cd ..
1038
1039!if "$(MACHINE)" == "wince-arm-hpc-wce300"
1040install: all
1041 cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
1042 cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
1043install_dlls: dlls
1044 cecopy pc:../lib/auto/IO/io.dll ce:/speicherkarte/usr/lib/perl5/auto/IO/io.dll
1045!endif
1046
1047!if "$(MACHINE)" == "wince-arm-hpc-wce211"
1048install: all
1049 cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte/bin
1050 cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte/bin
1051!endif
1052
1053!if "$(MACHINE)" == "wince-mips-hpc-wce211"
1054install:
1055 cecopy pc:$(MACHINE)/perl.exe ce:/bin
1056 cecopy pc:$(MACHINE)/perl$(PV).dll ce:/bin
1057!endif
1058
1059!if "$(MACHINE)" == "wince-mips-hpc-wce200"
1060install:
1061 cecopy pc:$(MACHINE)/perl.exe ce:/bin
1062 cecopy pc:$(MACHINE)/perl$(PV).dll ce:/bin
1063!endif
1064
1065!if "$(MACHINE)" == "wince-sh3-hpc-wce211"
1066install:
1067 cecopy pc:$(MACHINE)/perl.exe ce:/speicherkarte2/bin
1068 cecopy pc:$(MACHINE)/perl$(PV).dll ce:/speicherkarte2/bin
1069!endif
476a6acb 1070
1071perl.ico:
1072 perl makeico.pl