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