This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
WinCE several touches
[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)
e4451f11
JH
440ARCHDIR = ..\lib\$(ARCHNAME)
441COREDIR = ..\lib\CORE
e2a02c1e 442XCOREDIR = ..\xlib\$(CROSS_NAME)\CORE
e4451f11
JH
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...
e2a02c1e 519PERLIMPLIB_EXP = ..\..\..\xlib\$(CROSS_NAME)\CORE\perl$(PV).lib
e4451f11
JH
520PERLIMPLIB = $(PERLCEDIR)\$(MACHINE)\perl$(PV).lib
521PERLDLL = $(MACHINE)\perl$(PV).dll
522
523DLLDIR = $(MACHINE)\dll
524PERLEXE = $(MACHINE)\perl.exe
525
e2a02c1e 526CONFIGPM = ..\xlib\$(CROSS_NAME)\Config.pm
e4451f11
JH
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)
3f2394f2 537XSUBPP = $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) ...\$(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
e2a02c1e 762$(CONFIGPM): .\config.h ..\config.sh ..\minimod.pl
3f2394f2 763 cd .. && $(HPERL) configpm --cross=$(CROSS_NAME) --no-glossary
e2a02c1e
VK
764 -mkdir $(XCOREDIR)
765 $(XCOPY) ..\*.h $(XCOREDIR)\*.*
766 $(XCOPY) *.h $(XCOREDIR)\*.*
e4451f11 767 $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.*
e2a02c1e
VK
768 $(RCOPY) include $(XCOREDIR)\*.*
769 $(HPERL) -I..\lib -MCross=$(CROSS_NAME) config_h.PL "INST_VER=$(INST_VER)" "CORE_DIR=$(XCOREDIR)"
e4451f11 770
e2a02c1e
VK
771.\config.h:
772 -del /f config.h
773 copy config_H.ce config.h
774
775..\config.sh: config.ce config_sh.PL
18f68570 776 $(HPERL) -I..\lib config_sh.PL $(CFG_VARS) config.ce > ..\config.sh
e4451f11
JH
777
778$(MINIMOD) : ..\minimod.pl
18f68570 779 cd .. && $(HPERL) minimod.pl > lib\ExtUtils\Miniperl.pm
e4451f11
JH
780
781perlmain.c : runperl.c
782 $(COPY) runperl.c perlmain.c
783
784$(DYNALOADER).c: $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)
785 if not exist $(AUTODIR) mkdir $(AUTODIR)
786 cd $(EXTDIR)\$(*B)
3f2394f2
VK
787 $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) $(*B)_pm.PL
788 $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) XSLoader_pm.PL
e4451f11
JH
789 cd ..\..\wince
790 $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)
791 $(XCOPY) $(EXTDIR)\$(*B)\XSLoader.pm $(LIBDIR)\$(NULL)
792 cd $(EXTDIR)\$(*B)
793 $(XSUBPP) dl_win32.xs > $(*B).c
794 cd ..\..\wince
795
796$(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
797 $(COPY) dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
798
799$(DUMPER_DLL): $(PERLEXE) $(DUMPER).xs
800 cd $(EXTDIR)\Data\$(*B)
e2a02c1e 801 $(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
802 $(MAKE)
803 cd ..\..\..\wince
804
805$(DPROF_DLL): $(PERLEXE) $(DPROF).xs
806 cd $(EXTDIR)\Devel\$(*B)
e2a02c1e 807 $(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
808 $(MAKE)
809 cd ..\..\..\wince
810
811$(GLOB_DLL): $(PERLEXE) $(GLOB).xs
812 cd $(EXTDIR)\File\$(*B)
e2a02c1e 813 $(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
814 $(MAKE)
815 cd ..\..\..\wince
816
817$(PEEK_DLL): $(PERLEXE) $(PEEK).xs
818 cd $(EXTDIR)\Devel\$(*B)
e2a02c1e 819 $(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
820 $(MAKE)
821 cd ..\..\..\wince
822
823$(RE_DLL): $(PERLEXE) $(RE).xs
824 cd $(EXTDIR)\$(*B)
e2a02c1e 825 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
826 $(MAKE)
827 cd ..\..\wince
828
829$(B_DLL): $(PERLEXE) $(B).xs
830 cd $(EXTDIR)\$(*B)
e2a02c1e 831 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
832 $(MAKE)
833 cd ..\..\wince
834
835$(THREAD_DLL): $(PERLEXE) $(THREAD).xs
836 cd $(EXTDIR)\$(*B)
e2a02c1e 837 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
838 $(MAKE)
839 cd ..\..\wince
840
841$(ATTRS_DLL): $(PERLEXE) $(ATTRS).xs
842 cd $(EXTDIR)\$(*B)
e2a02c1e 843 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
844 $(MAKE)
845 cd ..\..\wince
846
847$(POSIX_DLL): $(PERLEXE) $(POSIX).xs
848 cd $(EXTDIR)\$(*B)
e2a02c1e 849 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
850 $(MAKE)
851 cd ..\..\wince
852
853$(IO_DLL): $(PERLEXE) $(IO).xs
854 cd $(EXTDIR)\$(*B)
e2a02c1e 855 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
856 $(MAKE)
857 cd ..\..\wince
858
859$(SDBM_FILE_DLL) : $(PERLEXE) $(SDBM_FILE).xs
860 cd $(EXTDIR)\$(*B)
e2a02c1e 861 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
862 $(MAKE)
863 cd ..\..\wince
864
865$(FCNTL_DLL): $(PERLEXE) $(FCNTL).xs
866 cd $(EXTDIR)\$(*B)
e2a02c1e 867 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
868 $(MAKE)
869 cd ..\..\wince
870
871$(OPCODE_DLL): $(PERLEXE) $(OPCODE).xs
872 cd $(EXTDIR)\$(*B)
e2a02c1e 873 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
874 $(MAKE)
875 cd ..\..\wince
876
877$(SOCKET_DLL): $(PERLEXE) $(SOCKET).xs
878 cd $(EXTDIR)\$(*B)
e2a02c1e 879 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
880 $(MAKE)
881 cd ..\..\wince
882
883$(HOSTNAME_DLL): $(PERLEXE) $(HOSTNAME).xs
884 cd $(EXTDIR)\Sys\$(*B)
e2a02c1e 885 $(HPERL) -I..\..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
886 $(MAKE)
887 cd ..\..\..\wince
888
889$(BYTELOADER_DLL): $(PERLEXE) $(BYTELOADER).xs
890 cd $(EXTDIR)\$(*B)
e2a02c1e 891 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
892 $(MAKE)
893 cd ..\..\wince
894
895$(ERRNO_PM): $(PERLEXE) $(ERRNO)_pm.PL
896 cd $(EXTDIR)\$(*B)
e2a02c1e 897 $(HPERL) -I..\..\lib -MCross Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
e4451f11
JH
898 $(MAKE)
899 cd ..\..\wince
900
476a6acb 901$(PERLEXE_RES): perl.rc perl.ico
e4451f11
JH
902 rc $(RCDEFS) perl.rc
903
904clean:
905 -rm -f $(MACHINE)/dll/*
906 -rm -f $(MACHINE)/*.obj
907 -rm -f $(MACHINE)/*.exe
908 -rm -f $(MACHINE)/*.dll
909 -rm -f $(MACHINE)/*.lib
910 -rm -f ../config.sh ../lib/Config.pm
911 -rm -f config.h perl.res
912
42165d27
VK
913!IF "$(MACHINE)" == "wince-sh3-hpc"
914
e4451f11
JH
915install_perlexe: $(PERLEXE)
916 cedel /speicherkarte2/bin/perl.exe
18f68570 917 $(CECOPY) pc:../perl.exe ce:$(INSTALL_ROOT)/bin
e4451f11
JH
918
919install_perldll: $(PERLDLL)
920 cedel /speicherkarte2/bin/perl$(PV).dll
42165d27 921 $(CECOPY) pc:../perl$(PV).dll ce:/speicherkarte2/bin
e4451f11
JH
922
923install_perl: install_perlexe install_perldll
924
925test_perl:
42165d27 926 $(CECOPY) pc:test.pl ce:/speicherkarte2/bin
e4451f11 927 ceexec /speicherkarte2/bin/perl.exe /speicherkarte2/bin/test.pl
e4451f11
JH
928
929install_lib: ../lib/Config.pm
18f68570 930 $(CECOPY) pc:../lib/Config.pm ce:$(INSTALL_ROOT)/lib
42165d27
VK
931
932!ELSEIF "$(MACHINE)" == "wince-arm-hpc"
e4451f11 933
e4451f11
JH
934install_perlexe: $(PERLEXE)
935 -cedel /speicherkarte/bin/perl.exe
18f68570 936 $(CECOPY) pc:$(MACHINE)/perl.exe ce:$(INSTALL_ROOT)/bin
e4451f11
JH
937
938install_perldll: $(PERLDLL)
939 -cedel /speicherkarte/bin/perl$(PV).dll
18f68570 940 $(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:$(INSTALL_ROOT)/bin
e4451f11
JH
941
942install_perl: install_perlexe install_perldll
943
944test_perl:
42165d27 945 $(CECOPY) pc:test.pl ce:/speicherkarte/bin
e4451f11 946 ceexec /speicherkarte/bin/perl.exe /speicherkarte/bin/test.pl
e4451f11
JH
947
948install_lib: ../lib/Config.pm
18f68570 949 $(CECOPY) pc:../lib/Config.pm ce:$(INSTALL_ROOT)/lib
42165d27
VK
950
951!ELSEIF "$(MACHINE)" == "wince-mips-hpc"
e4451f11 952
e4451f11 953install_perlexe: $(PERLEXE)
42165d27 954 $(CECOPY) pc:../perl.exe ce:$(INSTALL_ROOT)/bin
e4451f11
JH
955
956install_perldll: $(PERLDLL)
42165d27 957 $(CECOPY) pc:../perl$(PV).dll ce:$(INSTALL_ROOT)/bin
e4451f11
JH
958
959install_perl: install_perlexe install_perldll
960
961test_perl:
42165d27
VK
962 $(CECOPY) pc:test.pl ce:/netzwerk/compaq/bin
963 ceexec /netzwerk/compaq/bin/perl.exe $(INSTALL_ROOT)/test.pl
e4451f11
JH
964
965install_lib: ../lib/Config.pm
18f68570 966 $(CECOPY) pc:../lib/Config.pm ce:$(INSTALL_ROOT)/lib
42165d27
VK
967
968!ELSEIF "$(MACHINE)" == "wince-x86em-pocket"
e4451f11 969
e4451f11
JH
970install_lib:
971 ftpcopy ../lib/Config.pm ftp!ftp@localhost:/perl/lib
972 ftpcopy ../lib/Exporter.pm ftp!ftp@localhost:/perl/lib
973 ftpcopy ../lib/Exporter/Heavy.pm ftp!ftp@localhost:/perl/lib/Exporter
974
975install_perlexe: $(PERLEXE)
18f68570 976 $(CECOPY) pc:../perl.exe ce:$(INSTALL_ROOT)/bin
e4451f11
JH
977
978install_perldll: $(PERLDLL)
18f68570 979 $(CECOPY) pc:../perl$(PV).dll ce:$(INSTALL_ROOT)/bin
e4451f11
JH
980
981install_perl: install_perlexe install_perldll
982
983test_perl:
984 echo Not yet
42165d27 985!ENDIF
e4451f11
JH
986
987
988XDLLOBJS = \
989$(DLLDIR)\av.obj \
990$(DLLDIR)\deb.obj \
991$(DLLDIR)\doio.obj \
992$(DLLDIR)\doop.obj \
993$(DLLDIR)\dump.obj \
994$(DLLDIR)\globals.obj \
995$(DLLDIR)\gv.obj \
996$(DLLDIR)\hv.obj \
997$(DLLDIR)\locale.obj \
998$(DLLDIR)\mg.obj \
999$(DLLDIR)\numeric.obj \
1000$(DLLDIR)\op.obj \
1001$(DLLDIR)\perl.obj \
1002$(DLLDIR)\perlapi.obj \
1003$(DLLDIR)\perlio.obj \
1004$(DLLDIR)\perly.obj \
1005$(DLLDIR)\pp.obj \
1006$(DLLDIR)\pp_ctl.obj \
1007$(DLLDIR)\pp_hot.obj \
1008$(DLLDIR)\pp_pack.obj \
84d4ea48 1009$(DLLDIR)\pp_sort.obj \
e4451f11 1010$(DLLDIR)\pp_sys.obj \
10bc17b6 1011$(DLLDIR)\reentr.obj \
e4451f11
JH
1012$(DLLDIR)\regcomp.obj \
1013$(DLLDIR)\regexec.obj \
1014$(DLLDIR)\run.obj \
1015$(DLLDIR)\scope.obj \
1016$(DLLDIR)\sv.obj \
1017$(DLLDIR)\taint.obj \
1018$(DLLDIR)\toke.obj \
1019$(DLLDIR)\universal.obj \
1020$(DLLDIR)\utf8.obj \
1021$(DLLDIR)\util.obj \
1022$(DLLDIR)\win32thread.obj \
1023$(DLLDIR)\wince.obj \
42165d27 1024$(DLLDIR)\win32io.obj \
e4451f11
JH
1025$(DLLDIR)\wincesck.obj \
1026$(DLLDIR)\xsutils.obj \
1027$(DLLDIR)\perllib.obj \
1028$(DLLDIR)\DynaLoader.obj
1029
1030{$(SRCDIR)}.c{$(DLLDIR)}.obj:
1031 $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<
1032
1033{$(SRCDIR)/wince}.c{$(DLLDIR)}.obj:
1034 $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<
1035
47bcb90d 1036perldll.def : $(HPERL) $(CONFIGPM) ..\global.sym ..\pp.sym ..\makedef.pl
18f68570
VK
1037 $(HPERL) -w ..\makedef.pl PLATFORM=wince $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \
1038 CCTYPE=$(CCTYPE) -DPERL_DLL=$(PERLDLL) > perldll.def
1039
e4451f11
JH
1040$(PERLDLL) : $(DLLDIR) perldll.def $(XDLLOBJS) $(PERLDLL_RES)
1041 $(LINK32) -dll -def:perldll.def -out:$@ \
1042 $(SUBSYS) $(LDLIBPATH) \
1043 $(LINK_FLAGS) $(LIBFILES) \
1044 $(XDLLOBJS) $(PERLDLL_RES)
1045
1046$(DLLDIR) :
1047 if not exist "$(DLLDIR)" mkdir "$(DLLDIR)"
1048
1049$(DLLDIR)\DynaLoader.obj: $(EXTDIR)\DynaLoader\DynaLoader.c
1050 $(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ \
1051 $(EXTDIR)\DynaLoader\DynaLoader.c
1052
1053XPERLEXEOBJS = \
1054$(MACHINE)\perlmain.obj
1055
1056$(PERLEXE) : $(PERLDLL) $(CONFIGPM) $(XPERLEXEOBJS) $(PERLEXE_RES) $(STARTOBJS)
e2a02c1e
VK
1057 $(XCOPY) $(MACHINE)\*.lib $(XCOREDIR)
1058 $(LINK32) $(SUBSYS) $(LDLIBPATH) \
e4451f11
JH
1059 -entry:wWinMainCRTStartup \
1060 -out:$(MACHINE)\perl.exe \
1061 -stack:0x100000 $(LINK_FLAGS) $(STARTOBJS) $(XPERLEXEOBJS) \
1062 $(PERLIMPLIB) $(PERLEXE_RES) $(LIBFILES)
1063
1064$(MACHINE)\perlmain.obj : perlmain.c
1065 $(CC) $(CFLAGS_O) -UPERLDLL -Fo$(MACHINE)\ -c perlmain.c
1066
1067iodll: $(IO_DLL)
1068socketdll: $(SOCKET_DLL)
1069dumperdll: $(DUMPER_DLL)
1070
1071dlls: socketdll iodll dumperdll
1072 -xmkdir -p $(MACHINE)/lib/auto/IO
1073 cp ../lib/auto/IO/IO.bs $(MACHINE)/lib/auto/IO
1074 cp ../lib/auto/IO/IO.dll $(MACHINE)/lib/auto/IO
1075 -xmkdir $(MACHINE)/lib/auto/Socket
1076 cp ../lib/auto/Socket/Socket.bs $(MACHINE)/lib/auto/Socket
1077 cp ../lib/auto/Socket/Socket.dll $(MACHINE)/lib/auto/Socket
1078 -xmkdir -p $(MACHINE)/lib/auto/Data/Dumper
1079 cp ../lib/auto/Data/Dumper/Dumper.bs $(MACHINE)/lib/auto/Data/Dumper
1080 cp ../lib/auto/Data/Dumper/Dumper.dll $(MACHINE)/lib/auto/Data/Dumper
1081
1082makedist: all dlls
1083 $(COPY) $(CELIBPATH)\celib.dll $(MACHINE)
1084 cp perl.txt $(MACHINE)
1085 cp registry.bat $(MACHINE)
1086 cp ../lib/Config.pm $(MACHINE)/lib
1087 cd $(MACHINE)
1088 rm -f perl-$(MACHINE).tar.gz
1089 sh -c "tar cf perl-$(MACHINE).tar *.exe *.dll *.txt *.bat lib"
1090 gzip -9 perl-$(MACHINE).tar
1091 mv perl-$(MACHINE).tar.gz h:/freenet/new
1092 cd ..
1093
1094!if "$(MACHINE)" == "wince-arm-hpc-wce300"
1095install: all
18f68570
VK
1096 $(CECOPY) pc:$(MACHINE)/perl.exe ce:$(INSTALL_ROOT)/bin
1097 $(CECOPY) pc:$(MACHINE)/perl$(PV).dll ce:$(INSTALL_ROOT)/bin
e4451f11 1098install_dlls: dlls
18f68570 1099 $(CECOPY) pc:../lib/auto/IO/io.dll ce:$(INSTALL_ROOT)/lib/auto/IO/io.dll
42165d27
VK
1100!else
1101install: all
1102 -cemkdir "$(INSTALL_ROOT)"
1103 -cemkdir "$(INSTALL_ROOT)\bin"
1104 -cemkdir "$(INSTALL_ROOT)\lib"
1105 $(CECOPY) "pc:$(MACHINE)/perl.exe" "ce:$(INSTALL_ROOT)/bin"
18f68570 1106 $(CECOPY) "pc:$(MACHINE)/perl$(PV).dll" "ce:$(INSTALL_ROOT)/bin"
e2a02c1e 1107 $(CECOPY) "pc:../xlib/$(CROSS_NAME)/Config.pm" "ce:$(INSTALL_ROOT)/lib"
e4451f11
JH
1108!endif
1109
18f68570
VK
1110perl.ico:
1111 $(HPERL) makeico.pl
e4451f11 1112
18f68570 1113hostminiperl: ..\miniperl.exe
e4451f11 1114
18f68570
VK
1115..\miniperl.exe:
1116 cd ../win32
1117 set PATH=$(CCHOME)\bin;$(PATH)
47bcb90d 1118 $(MAKE) -f Makefile "CCHOME=$(MSVCDIR)" "CCINCDIR=$(CCHOME)\include" "CCLIBDIR=$(CCHOME)\lib" "INCLUDE=$(CCHOME)\include" "LIB=$(CCHOME)\lib" "LINK_FLAGS=" .\config.h ..\miniperl.exe
18f68570 1119 cd ../wince
476a6acb 1120
47bcb90d
VK
1121host-install:
1122 perl -MConfig -MExtUtils::Install -we "install({'../lib/CORE', qq#$$Config{installprefixexp}/xlib/$(CROSS_NAME)/CORE#},1)"
1123 perl -MConfig -MExtUtils::Install -we "install({'../xlib/$(CROSS_NAME)', qq#$$Config{installprefixexp}/xlib/$(CROSS_NAME)#},1)"
1124 perl -MConfig -MFile::Copy -we "copy qq#./$(MACHINE)/perl$(PV).lib#, qq#$$Config{installprefixexp}/xlib/$(CROSS_NAME)/CORE#"
1125 perl -MConfig -MFile::Copy -we "copy qq#../lib/Cross.pm#, qq#$$Config{installprefixexp}/lib#"