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