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