This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update CPAN-Meta-YAML to CPAN version 0.010
[perl5.git] / win32 / Makefile.ce
CommitLineData
b0f06652 1#
e4451f11 2# perl makefile for wince
b0f06652
VK
3# During the cross-compilation, it first uses Makefile file to build
4# miniperl on HOST and then build required platform
e4451f11 5#
e4451f11
JH
6
7SRCDIR = ..
a24e4318 8PV = 519
42165d27 9
18f68570 10# INSTALL_ROOT specifies a path where this perl will be installed on CE device
42165d27 11INSTALL_ROOT=/netzwerk/sprache/perl
18f68570
VK
12INST_TOP=$(INSTALL_ROOT)
13INST_VER=
42165d27
VK
14
15# PERLCEDIR shoud be set to current directory
58ff4bd0 16PERLCEDIR = $(MAKEDIR)
42165d27 17
18f68570 18# WCEROOT is a directory where Windows CE Tools was installed
ca6c63e1 19WCEROOT = D:\Windows CE Tools
18f68570
VK
20
21# HPERL stands for host perl, which is perl on local desktop machine
22# which is usually ..\miniperl.exe
23#HPERL = N:\Programme\perl\bin\perl.exe
24HPERL = $(MAKEDIR)\..\miniperl.exe
25
ca6c63e1
JH
26CEPATH = D:\Programme\Microsoft eMbedded Tools\EVC\WCE211\BIN
27CELIBDLLDIR = h:\src\wince\celib-palm-3.0
e4451f11 28CECONSOLEDIR = h:\src\wince\w32console
18f68570
VK
29
30# specify following options to build perl on local machine, by MSVC
31MSVCDIR = D:\MSVStudio\VC98
32CCHOME = $(MSVCDIR)
33CCINCDIR = $(CCHOME)\include
34CCLIBDIR = $(CCHOME)\lib
35
42165d27
VK
36# cecopy program. Make shure it is in your path, as well as cemkdir, cedel
37CECOPY = cecopy
38
18f68570 39#
f4257e4d
YO
40# Comment out next assign to disable perl's I/O subsystem and use compiler's
41# stdio for IO - depending on your compiler vendor and run time library you may
42# then get a number of fails from make test i.e. bugs - complain to them not us ;-).
43# You will also be unable to take full advantage of perl5.8's support for multiple
18f68570
VK
44# encodings and may see lower IO performance. You have been warned.
45USE_PERLIO = define
46
2e64bfdb
JH
47#
48# set this if you wish to use perl's malloc
49# This will make perl run few times faster
50# WARNING: Turning this on/off WILL break binary compatibility with extensions
51# you may have compiled with/without it.
52#
53PERL_MALLOC = define
54
18f68570 55
e4451f11
JH
56NOOP = @echo
57# keep this untouched!
58NULL =
59
42165d27 60
aebd5ec7
VK
61#CFG=DEBUG
62CFG=RELEASE
e4451f11
JH
63
64!if "$(MACHINE)" == ""
65MACHINE=wince-arm-hpc-wce300
66#MACHINE=wince-arm-hpc-wce211
67#MACHINE=wince-sh3-hpc-wce211
68#MACHINE=wince-mips-hpc-wce211
69#MACHINE=wince-sh3-hpc-wce200
70#MACHINE=wince-mips-hpc-wce200
71#MACHINE=wince-arm-pocket-wce300
72#MACHINE=wince-mips-pocket-wce300
73#MACHINE=wince-sh3-pocket-wce300
74#MACHINE=wince-x86em-pocket-wce300
75#MACHINE=wince-mips-palm-wce211
76#MACHINE=wince-sh3-palm-wce211
77#MACHINE=wince-x86em-palm-wce211
61b311ca 78#MACHINE=wince-x86-hpc-wce300
e4451f11
JH
79!endif
80
2e64bfdb
JH
81# set this to your email address
82#
83#EMAIL =
84
85##################### CHANGE THESE ONLY IF YOU MUST #####################
86
e4451f11
JH
87######################################################################
88# machines
89
90!if "$(MACHINE)" == "wince-sh3-hpc-wce211"
91CC = shcl.exe
92ARCH = SH3
93CPU = SH3
94TARGETCPU = SH3
95CEVersion = 211
96OSVERSION = WCE211
97PLATFORM = MS HPC Pro
98MCFLAGS = -MDd -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 -DPALM_SIZE \
99 -I $(CELIBDLLDIR)\inc
100SUBSYS = -subsystem:windowsce,2.11
101CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
102LDLIBPATH = -libpath:$(CELIBPATH)
103STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
104 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
105!endif
106
107!if "$(MACHINE)" == "wince-mips-hpc-wce211"
108CC = clmips.exe
109ARCH = MIPS
110CPU = MIPS
111TARGETCPU = MIPS
112CEVersion = 211
113OSVERSION = WCE211
114PLATFORM = MS HPC Pro
115MCFLAGS = -D _MT -D _DLL \
116 -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \
117 -D PALM_SIZE \
118 -I $(CELIBDLLDIR)\inc
119SUBSYS = -subsystem:windowsce,2.11
120CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
121LDLIBPATH = -libpath:$(CELIBPATH)
122STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
123 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
124!endif
125
126!if "$(MACHINE)" == "wince-mips-hpc-wce200"
127CC = clmips.exe
128ARCH = MIPS
129CPU = MIPS
130TARGETCPU = MIPS
131CEVersion = 200
132OSVERSION = WCE200
133PLATFORM = MS HPC
134# MUST USE -MD to get the right FPE stuff...
135MCFLAGS = -D _MT -D _DLL -MD \
136 -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \
137 -D PALM_SIZE \
138 -I $(CELIBDLLDIR)\inc
139SUBSYS = -subsystem:windowsce,2.00
140CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
141LDLIBPATH = -libpath:$(CELIBPATH)
142STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
143 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
144!endif
145
146!if "$(MACHINE)" == "wince-sh3-hpc-wce200"
147CC = shcl.exe
148ARCH = SH3
149CPU = SH3
150TARGETCPU = SH3
151CEVersion = 200
152OSVERSION = WCE200
153PLATFORM = MS HPC
154# MUST USE -MD to get the right FPE stuff...
155MCFLAGS = -D _MT -D _DLL -MD \
156 -D SH3 -D sh3 -D _SH3_ -D _sh3_ -D SHx -DPROCESSOR_SH3 \
157 -D PALM_SIZE \
158 -I $(CELIBDLLDIR)\inc
159SUBSYS = -subsystem:windowsce,2.00
160CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
161LDLIBPATH = -libpath:$(CELIBPATH)
162STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
163 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
164!endif
165
166!if "$(MACHINE)" == "wince-arm-hpc-wce211"
167CC = clarm.exe
168ARCH = ARM
169CPU = ARM
170TARGETCPU = ARM
171CEVersion = 211
172OSVERSION = WCE211
173PLATFORM = MS HPC Pro
174MCFLAGS = -D _MT -D _DLL -D ARM -D arm -D _arm_ -D _ARM_ \
175 -DPROCESSOR_ARM -DPALM_SIZE \
176 -I $(CELIBDLLDIR)\inc
177SUBSYS = -subsystem:windowsce,2.11
178CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
179LDLIBPATH = -libpath:$(CELIBPATH)
180STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
181 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
182!endif
183
184!if "$(MACHINE)" == "wince-arm-hpc-wce300"
185CC = clarm.exe
186ARCH = ARM
187CPU = ARM
188TARGETCPU = ARM
189CEVersion = 300
190OSVERSION = WCE300
c96f74ce 191#PLATFORM = HPC2000
e4451f11
JH
192MCFLAGS = -D _MT -D _DLL -D ARM -D arm -D _arm_ -D _ARM_ \
193 -DPROCESSOR_ARM -DPALM_SIZE \
194 -I $(CELIBDLLDIR)\inc
195SUBSYS = -subsystem:windowsce,3.00
196CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
197LDLIBPATH = -libpath:$(CELIBPATH)
198STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
199 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
200!endif
201
202!if "$(MACHINE)" == "wince-mips-palm-wce211"
203CC = clmips.exe
204ARCH = MIPS
205CPU = MIPS
206TARGETCPU = MIPS
207CEVersion = 211
208OSVERSION = WCE211
209PLATFORM = MS Palm Size PC
210MCFLAGS = -DMIPS -D_MIPS_ -DPROCESSOR_MIPS -D PALM_SIZE -D _DLL -D _MT \
211 -I $(CELIBDLLDIR)\inc
212SUBSYS = -subsystem:windowsce,2.11
213CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
214LDLIBPATH = -libpath:$(CELIBPATH)
215STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
216 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
217!endif
218
219!if "$(MACHINE)" == "wince-sh3-palm-wce211"
220CC = shcl.exe
221ARCH = SH3
222CPU = SH3
223TARGETCPU = SH3
224CEVersion = 211
225OSVERSION = WCE211
226PLATFORM = MS Palm Size PC
227MCFLAGS = -D _MT -D _DLL -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 -DPALM_SIZE \
228 -I $(CELIBDLLDIR)\inc
229SUBSYS = -subsystem:windowsce,2.11
230CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
231LDLIBPATH = -libpath:$(CELIBPATH)
232STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
233 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
234!endif
235
236!if "$(MACHINE)" == "wince-x86em-palm-wce211"
237CC = cl.exe
238ARCH = X86EM
239CPU = X86
240TARGETCPU = X86
241CEVersion = 211
242OSVERSION = WCE211
243PLATFORM = MS Palm Size PC
244MCFLAGS = -MDd -DX86 -D_X86_ -DPROCESSOR_X86 \
245 -D_WIN32_WCE_EMULATION -DPALM_SIZE \
246 -I $(CELIBDLLDIR)\inc
247MACH = -machine:x86
248SUBSYS = -subsystem:windows
249CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
250LDLIBPATH = -libpath:$(CELIBPATH)
251STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
252 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
253!endif
254
255!if "$(MACHINE)" == "wince-x86em-pocket-wce300"
256CC = cl.exe
257ARCH = X86EM
258CPU = X86
259TARGETCPU = X86
260CEVersion = 300
261OSVERSION = WCE300
262PLATFORM = MS Pocket PC
263MCFLAGS = -DX86 -D_X86_ -DPROCESSOR_X86 -D _MT -D _DLL \
264 -D_WIN32_WCE_EMULATION -DPALM_SIZE -DPOCKET_SIZE \
f4257e4d 265 -I $(CELIBDLLDIR)\inc
e4451f11
JH
266MACH = -machine:x86
267SUBSYS = -subsystem:windows
268CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
269LDLIBPATH = -libpath:$(CELIBPATH)
270STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
271 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
272!endif
273
274!if "$(MACHINE)" == "wince-mips-pocket-wce300"
275CC = clmips.exe
276ARCH = MIPS
277CPU = MIPS
278TARGETCPU = MIPS
279CEVersion = 300
280OSVERSION = WCE300
281PLATFORM = MS Pocket PC
282MCFLAGS = -D MIPS -D mips -D _MIPS_ -D _mips_ -DPROCESSOR_MIPS \
283 -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE \
f4257e4d 284 -I $(CELIBDLLDIR)\inc
e4451f11
JH
285MACH = -machine:mips
286SUBSYS = -subsystem:windowsce,3.00
287CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
216db7ee 288#STDLIBPATH = $(WCEROOT)\$(OSVERSION)\$(PLATFORM)\lib\$(CPU)
e4451f11 289LDLIBPATH = -libpath:$(CELIBPATH)
216db7ee 290#"-libpath:$(STDLIBPATH)"
e4451f11
JH
291STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
292 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
293!endif
294
295!if "$(MACHINE)" == "wince-sh3-pocket-wce300"
296CC = shcl.exe
297ARCH = SH3
298CPU = SH3
299TARGETCPU = SH3
300CEVersion = 300
301OSVERSION = WCE300
302PLATFORM = MS Pocket PC
303MCFLAGS = -D _MT -D _DLL -DSH3 -D_SH3_ -DSHx -DPROCESSOR_SH3 \
304 -DPALM_SIZE -DPOCKET_SIZE \
f4257e4d 305 -I $(CELIBDLLDIR)\inc
2e64bfdb 306MACH = -machine:sh3
e4451f11
JH
307SUBSYS = -subsystem:windowsce,3.00
308CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
309LDLIBPATH = -libpath:$(CELIBPATH)
310STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
311 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
312!endif
313
314!if "$(MACHINE)" == "wince-arm-pocket-wce300"
315CC = clarm.exe
316ARCH = ARM
317CPU = ARM
318TARGETCPU = ARM
319CEVersion = 300
320OSVERSION = WCE300
321PLATFORM = MS Pocket PC
322MCFLAGS = -D ARM -D arm -D _ARM_ -D _arm_ -DPROCESSOR_ARM \
323 -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE \
f4257e4d 324 -I $(CELIBDLLDIR)\inc
e4451f11
JH
325MACH = -machine:arm
326SUBSYS = -subsystem:windowsce,3.00
327CELIBPATH = $(CELIBDLLDIR)\$(MACHINE)-release
328LDLIBPATH = -libpath:$(CELIBPATH)
329STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
330 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
331!endif
332
61b311ca
DD
333!if "$(MACHINE)" == "wince-x86-hpc-wce300"
334CC = cl.exe
335ARCH = X86EM
336CPU = X86
337TARGETCPU = X86
338CEVersion = 400
339OSVERSION = WCE400
340PLATFORM = MS Pocket PC
341MCFLAGS = -DX86 -D_X86_ -Dx86 -DPROCESSOR_X86 -D _MT -D _DLL \
342 -DPALM_SIZE -DPOCKET_SIZE -I $(CELIBDLLDIR)\inc
343MACH = -machine:IX86
344SUBSYS = -subsystem:windowsce,2.0
345CELIBPATH = $(CELIBDLLDIR)\wince-x86-hpc-wce300-release
346LDLIBPATH = -libpath:$(CELIBPATH)
347STARTOBJS = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
348 $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
349!endif
350
e4451f11
JH
351######################################################################
352# common section
353
354CEDEFS = -D_WINDOWS -D_WIN32_WCE=$(CEVersion) -DUNDER_CE=$(CEVersion) \
58ff4bd0 355 $(MCFLAGS) -D PERL -GS-
ca6c63e1 356
e4451f11
JH
357CECFLAGS = $(CEDEFS)
358
359!if "$(CFG)" == "DEBUG"
360CECFLAGS = $(CECFLAGS) -Zi -Od
361!endif
362
363!if "$(CFG)" == "RELEASE"
364# -O2 and -Ot give internal compiler error in perl.c and lexer.
365# Also the dll cannot be loaded by perl.exe...
c96f74ce
JH
366!if "$(CPU)" == "SH3"
367!else
2e64bfdb 368CECFLAGS = $(CECFLAGS) -O2 -Ot
e4451f11
JH
369!endif
370
c96f74ce
JH
371!endif
372
e4451f11
JH
373RCDEFS = /l 0x407 /r /d "UNICODE" /d UNDER_CE=$(CEVersion) \
374 /d _WIN32_WCE=$(CEVersion)
375
376PATH=$(CEPATH);$(PATH)
377
61b311ca
DD
378# attention, for eVC 4, these paths are not generated correctly since the
379# WinCE SDK is organized differently from eVC 3, replace the next 2 macros
380# with absolute paths to the correct directories on your system
58ff4bd0
DD
381#INCLUDE=$(WCEROOT)\$(OSVERSION)\$(PLATFORM)\include
382#LIB=$(WCEROOT)\$(OSVERSION)\$(PLATFORM)\lib\$(ARCH)
e4451f11
JH
383
384######################################################################
385
386!message
387!message Compiling for $(MACHINE)
388!message LIB=$(LIB)
389!message INCLUDE=$(INCLUDE)
390!message PATH=$(CEPATH)
391!message
392
393######################################################################
394#
395# Additional compiler flags can be specified here.
396#
397
b0f06652 398BUILDOPT = $(BUILDOPT) $(CECFLAGS) -DUSE_CROSS_COMPILE
e4451f11 399
e4451f11
JH
400
401!IF "$(CRYPT_SRC)$(CRYPT_LIB)" == ""
402D_CRYPT = undef
403!ELSE
404D_CRYPT = define
405CRYPT_FLAG = -DHAVE_DES_FCRYPT
406!ENDIF
407
e4451f11
JH
408!IF "$(PERL_MALLOC)" == ""
409PERL_MALLOC = undef
410!ENDIF
411
e4451f11
JH
412!IF "$(USE_MULTI)" == ""
413USE_MULTI = undef
414!ENDIF
415
e4451f11
JH
416!IF "$(USE_ITHREADS)" == ""
417USE_ITHREADS = undef
418!ENDIF
419
420!IF "$(USE_IMP_SYS)" == ""
421USE_IMP_SYS = undef
422!ENDIF
423
18f68570
VK
424!IF "$(USE_PERLIO)" == ""
425USE_PERLIO = undef
426!ENDIF
427
e4451f11
JH
428!IF "$(USE_PERLCRT)" == ""
429USE_PERLCRT = undef
430!ENDIF
431
3db8f154 432!IF "$(USE_IMP_SYS)$(USE_MULTI)" == "defineundef"
e4451f11
JH
433USE_MULTI = define
434!ENDIF
435
acfe0abc 436!IF "$(USE_ITHREADS)$(USE_MULTI)" == "defineundef"
e4451f11 437USE_MULTI = define
e4451f11
JH
438!ENDIF
439
3db8f154 440!IF "$(USE_MULTI)" != "undef"
e4451f11
JH
441BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT
442!ENDIF
443
444!IF "$(USE_IMP_SYS)" != "undef"
445BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_SYS
446!ENDIF
447
18f68570
VK
448!IF "$(USE_PERLIO)" == "define"
449BUILDOPT = $(BUILDOPT) -DUSE_PERLIO
450!ENDIF
451
47bcb90d 452!IF "$(CROSS_NAME)" == ""
2e64bfdb 453CROSS_NAME = $(MACHINE)
47bcb90d
VK
454!ENDIF
455
e4451f11
JH
456# new option - automatically defined in perl.h...
457#BUILDOPT = $(BUILDOPT) -DUSE_ENVIRON_ARRAY
458
459PROCESSOR_ARCHITECTURE = $(TARGETCPU)
460ARCHNAME = $(PLATFORM)-$(OSVERSION)-$(PROCESSOR_ARCHITECTURE)
e4451f11
JH
461ARCHDIR = ..\lib\$(ARCHNAME)
462COREDIR = ..\lib\CORE
e2a02c1e 463XCOREDIR = ..\xlib\$(CROSS_NAME)\CORE
e4451f11
JH
464AUTODIR = ..\lib\auto
465LIBDIR = ..\lib
466EXTDIR = ..\ext
58ff4bd0
DD
467DISTDIR = ..\dist
468CPANDIR = ..\cpan
e4451f11
JH
469PODDIR = ..\pod
470EXTUTILSDIR = $(LIBDIR)\ExtUtils
471
472LINK32 = link
473LIB32 = $(LINK32) -lib
474RSC = rc
475
f4257e4d 476INCLUDES = -I.\include -I. -I..
e4451f11
JH
477DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT $(CRYPT_FLAG) $(CECFLAGS)
478LOCDEFS = -DPERLDLL -DPERL_CORE
216db7ee 479CXX_FLAG = -TP
e4451f11
JH
480
481PERLEXE_RES = perl.res
482PERLDLL_RES =
483
e4451f11
JH
484!if "$(CFG)" == "RELEASE"
485CELIB = celib.lib
486!endif
487
488!if "$(CFG)" == "DEBUG"
489CELIB = celib.lib
490!endif
491
61b311ca 492#use ws2.lib instead of winsock.lib for WSAGetLastError
e4451f11 493CELIBS = -nodefaultlib \
61b311ca 494 ws2.lib $(CELIB) coredll.lib
e4451f11
JH
495
496!if $(CEVersion) > 200
f4257e4d 497CELIBS = $(CELIBS) corelibc.lib
e4451f11 498!else
f4257e4d 499CELIBS = $(CELIBS) msvcrt.lib
e4451f11
JH
500!endif
501
502LIBBASEFILES = $(CRYPT_LIB) $(CELIBS)
503
504LIBFILES = $(LIBBASEFILES) $(LIBC)
505
58ff4bd0 506CFLAGS = -nologo -GF -W3 $(INCLUDES) $(DEFINES) $(LOCDEFS) \
e4451f11
JH
507 $(PCHFLAGS) $(OPTIMIZE)
508
61b311ca 509LINK_FLAGS = -nologo -opt:ref,icf -machine:$(PROCESSOR_ARCHITECTURE)
e4451f11
JH
510
511!if "$(CFG)" == "DEBUG"
61b311ca 512LINK_FLAGS = $(LINK_FLAGS) -debug
2e64bfdb 513!else
f4257e4d 514LINK_FLAGS = $(LINK_FLAGS) -release
e4451f11
JH
515!endif
516
517OBJOUT_FLAG = -Fo
518EXEOUT_FLAG = -Fe
519
520CFLAGS_O = $(CFLAGS) $(BUILDOPT)
521
522o = .obj
523
524#
525# Rules
f4257e4d 526#
e4451f11
JH
527
528.SUFFIXES : .c $(o) .dll .lib .exe .rc .res
529
530.c$(o):
531 $(CC) -c -I$(<D) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $<
532
61b311ca
DD
533.c.i:
534 $(CC) -c -I$(<D) $(CFLAGS_O) -P $(OBJOUT_FLAG)$@ $<
535
e4451f11
JH
536.y.c:
537 $(NOOP)
538
539$(o).dll:
540 $(LINK32) -dll $(SUBSYS) $(LDLIBPATH) \
541 -implib:$(*B).lib -def:$(*B).def \
f4257e4d 542 -out:$@ $(LINK_FLAGS) $(LIBFILES) $< $(LIBPERL)
e4451f11
JH
543
544.rc.res:
545 $(RSC) -i.. $<
546
547# This must be relative to ../lib/CORE, else the ext dll build fails...
e2a02c1e 548PERLIMPLIB_EXP = ..\..\..\xlib\$(CROSS_NAME)\CORE\perl$(PV).lib
e4451f11
JH
549PERLIMPLIB = $(PERLCEDIR)\$(MACHINE)\perl$(PV).lib
550PERLDLL = $(MACHINE)\perl$(PV).dll
551
552DLLDIR = $(MACHINE)\dll
553PERLEXE = $(MACHINE)\perl.exe
554
e2a02c1e 555CONFIGPM = ..\xlib\$(CROSS_NAME)\Config.pm
e4451f11
JH
556MINIMOD = ..\lib\ExtUtils\Miniperl.pm
557
42d1cefd 558# Unicode data files generated by mktables
517bb5c6 559FIRSTUNIFILE = ..\lib\unicore\Decomposition.pl
3df51b85 560UNIDATAFILES = ..\lib\unicore\Decomposition.pl \
42d1cefd 561 ..\lib\unicore\CombiningClass.pl ..\lib\unicore\Name.pl \
860054a8 562 ..\lib\unicore\Heavy.pl ..\lib\unicore\mktables.lst \
1a234f2b 563 ..\lib\unicore\UCD.pl ..\lib\unicore\Name.pm \
3e344d15 564 ..\lib\unicore\TestProp.pl
42d1cefd 565
517bb5c6
VK
566PERLEXE_MANIFEST= .\perlexe.manifest
567PERLEXE_ICO = .\perlexe.ico
568PERLEXE_RES = .\perlexe.res
569PERLDLL_RES =
570
42d1cefd
RGS
571# Directories of Unicode data files generated by mktables
572UNIDATADIR1 = ..\lib\unicore\To
573UNIDATADIR2 = ..\lib\unicore\lib
574
fefd7080
VK
575# Nominate a target which causes extensions to be re-built
576# This used to be $(PERLEXE), but at worst it is the .dll that they depend
577# on and really only the interface - i.e. the .def file used to export symbols
578# from the .dll
579PERLDEP = perldll.def
580
e4451f11 581MAKE = nmake -nologo
58ff4bd0 582MAKE_BARE = nmake
e4451f11
JH
583
584CFGSH_TMPL = config.ce
585CFGH_TMPL = config_H.ce
586
58ff4bd0
DD
587XCOPY = xcopy /f /r /i /d /y
588RCOPY = xcopy /f /r /i /e /d /y
589NOOP = @rem
590NULL =
591
592DEL = del
593
e4451f11
JH
594MICROCORE_SRC = \
595 ..\av.c \
596 ..\deb.c \
597 ..\doio.c \
598 ..\doop.c \
599 ..\dump.c \
600 ..\globals.c \
601 ..\gv.c \
e1a479c5 602 ..\mro.c \
e4451f11 603 ..\hv.c \
61b311ca 604 ..\locale.c \
26ea9e12 605 ..\keywords.c \
61b311ca 606 ..\mathoms.c \
e4451f11 607 ..\mg.c \
61b311ca 608 ..\numeric.c \
e4451f11 609 ..\op.c \
b475b3e6 610 ..\pad.c \
e4451f11
JH
611 ..\perl.c \
612 ..\perlapi.c \
613 ..\perly.c \
614 ..\pp.c \
615 ..\pp_ctl.c \
616 ..\pp_hot.c \
84d4ea48
JH
617 ..\pp_pack.c \
618 ..\pp_sort.c \
e4451f11 619 ..\pp_sys.c \
10bc17b6 620 ..\reentr.c \
e4451f11
JH
621 ..\regcomp.c \
622 ..\regexec.c \
623 ..\run.c \
624 ..\scope.c \
625 ..\sv.c \
626 ..\taint.c \
627 ..\toke.c \
628 ..\universal.c \
629 ..\utf8.c \
48462a74 630 ..\util.c
e4451f11
JH
631
632EXTRACORE_SRC = $(EXTRACORE_SRC) perllib.c
633
634!IF "$(PERL_MALLOC)" == "define"
635EXTRACORE_SRC = $(EXTRACORE_SRC) ..\malloc.c
636!ENDIF
637
42165d27 638EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c .\win32io.c
e4451f11
JH
639
640WIN32_SRC = \
641 .\wince.c \
642 .\wincesck.c \
f4257e4d 643 .\win32thread.c
e4451f11
JH
644
645!IF "$(CRYPT_SRC)" != ""
646WIN32_SRC = $(WIN32_SRC) .\$(CRYPT_SRC)
647!ENDIF
648
e4451f11
JH
649CORE_NOCFG_H = \
650 ..\av.h \
651 ..\cop.h \
652 ..\cv.h \
653 ..\dosish.h \
654 ..\embed.h \
655 ..\form.h \
656 ..\gv.h \
657 ..\handy.h \
658 ..\hv.h \
4d3a042d 659 ..\hv_func.h \
e4451f11
JH
660 ..\iperlsys.h \
661 ..\mg.h \
662 ..\nostdio.h \
663 ..\op.h \
664 ..\opcode.h \
665 ..\perl.h \
666 ..\perlapi.h \
667 ..\perlsdio.h \
668 ..\perlsfio.h \
669 ..\perly.h \
670 ..\pp.h \
671 ..\proto.h \
672 ..\regexp.h \
673 ..\scope.h \
674 ..\sv.h \
675 ..\thread.h \
676 ..\unixish.h \
677 ..\utf8.h \
678 ..\util.h \
679 ..\warnings.h \
680 ..\XSUB.h \
681 ..\EXTERN.h \
682 ..\perlvars.h \
683 ..\intrpvar.h \
e4451f11
JH
684 .\include\dirent.h \
685 .\include\netdb.h \
c44e86c9 686 .\include\sys\errno2.h \
e4451f11
JH
687 .\include\sys\socket.h \
688 .\win32.h
689
48462a74 690DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attributes B re \
e4451f11
JH
691 Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \
692 Sys/Hostname
693
694STATIC_EXT = DynaLoader
e4451f11
JH
695
696DYNALOADER = $(EXTDIR)\DynaLoader\DynaLoader
e4451f11
JH
697
698ERRNO_PM = $(LIBDIR)\Errno.pm
699
e4451f11
JH
700
701EXTENSION_PM = \
702 $(ERRNO_PM)
703
e4451f11 704CFG_VARS = \
e4451f11
JH
705 "INST_TOP=$(INST_TOP)" \
706 "INST_VER=$(INST_VER)" \
707 "INST_ARCH=$(INST_ARCH)" \
708 "archname=$(ARCHNAME)" \
58ff4bd0
DD
709 "cc=$(CC)" \
710 "ld=$(LINK32)" \
e4451f11 711 "ccflags=$(OPTIMIZE) $(DEFINES) $(BUILDOPT)" \
1829b0dc
VK
712 "cppflags=$(OPTIMIZE) $(DEFINES) $(BUILDOPT)" \
713 "cf_by=vkon" \
2e64bfdb 714 "cf_email=$(EMAIL)" \
58ff4bd0 715#9cef8306
e4451f11
JH
716 "d_mymalloc=$(PERL_MALLOC)" \
717 "libs=$(LIBFILES)" \
718 "incpath=$(CCINCDIR)" \
719 "libperl=$(PERLIMPLIB_EXP)" \
720 "libpth=$(LIBPATH)" \
721 "libc=$(LIBC)" \
58ff4bd0 722 "make=$(MAKE_BARE)" \
e4451f11
JH
723 "static_ext=$(STATIC_EXT)" \
724 "dynamic_ext=$(DYNAMIC_EXT)" \
58ff4bd0 725 "usethreads=$(USE_ITHREADS)" \
e4451f11 726 "useithreads=$(USE_ITHREADS)" \
e4451f11 727 "usemultiplicity=$(USE_MULTI)" \
18f68570 728 "useperlio=$(USE_PERLIO)" \
58ff4bd0
DD
729 "use64bitint=undef" \
730 "uselargefiles=undef" \
e4451f11 731 "LINK_FLAGS=$(LDLIBPATH) $(LINK_FLAGS) $(SUBSYS)" \
58ff4bd0
DD
732 "optimize=$(OPTIMIZE)" \
733 "WIN64=$(WIN64)"
e4451f11 734
517bb5c6
VK
735ICWD = -I..\dist\Cwd -I..\dist\Cwd\lib
736ICWD1 = -I..\..\dist\Cwd -I..\..\dist\Cwd\lib
737
738#
739# filenames given to xsubpp must have forward slashes (since it puts
740# full pathnames in #line strings)
741XSUBPP = $(HPERL) -I..\..\lib $(ICWD1) -MCross=$(CROSS_NAME) ..\$(EXTUTILSDIR)\xsubpp \
742 -C++ -prototypes
743
744
e4451f11
JH
745#
746# Top targets
747#
748
42e07562 749all: hostminiperl $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) MakePPPort Extensions
e4451f11 750
d8c3cb99 751$(DYNALOADER)$(o) : $(DYNALOADER).c xconfig.h $(EXTDIR)\DynaLoader\dlutils.c
e4451f11 752
58ff4bd0
DD
753#convenience target
754configpm_targ : $(CONFIGPM)
755
61b311ca 756$(CONFIGPM) : $(HPERL) ..\Cross\config-$(MACHINE).sh config_h.PL ..\minimod.pl
517bb5c6 757 cd .. && $(HPERL) -Ilib configpm --cross=$(CROSS_NAME) --no-glossary
e2a02c1e
VK
758 -mkdir $(XCOREDIR)
759 $(XCOPY) ..\*.h $(XCOREDIR)\*.*
760 $(XCOPY) *.h $(XCOREDIR)\*.*
e4451f11 761 $(XCOPY) ..\ext\re\re.pm $(LIBDIR)\*.*
e2a02c1e 762 $(RCOPY) include $(XCOREDIR)\*.*
e4451f11 763
f4257e4d
YO
764.\xconfig.h:
765 -del /f xconfig.h
608969de 766 -mkdir $(XCOREDIR)
517bb5c6 767 -$(HPERL) -I..\lib $(ICWD) -MCross=$(CROSS_NAME) config_h.PL "INST_VER=$(INST_VER)" "CORE_DIR=$(XCOREDIR)" "CONFIG_H=xconfig.h"
608969de 768 $(XCOPY) xconfig.h $(XCOREDIR)\config.h
e2a02c1e 769
61b311ca
DD
770..\Cross\config-$(MACHINE).sh: config.ce config_sh.PL
771 $(HPERL) -I..\lib -I. config_sh.PL $(CFG_VARS) config.ce > ..\Cross\config-$(MACHINE).sh
e4451f11
JH
772
773$(MINIMOD) : ..\minimod.pl
18f68570 774 cd .. && $(HPERL) minimod.pl > lib\ExtUtils\Miniperl.pm
e4451f11 775
42e07562 776MakePPPort: $(MINIPERL) $(CONFIGPM)
01e90026 777 $(HPERL) -I..\lib -MCross=$(CROSS_NAME) ..\mkppport
42e07562
MHM
778
779MakePPPort_clean:
01e90026 780 -if exist $(HPERL) $(HPERL) -I..\lib ..\mkppport --clean
42e07562 781
fefd7080 782#----------------------------------------------------------------------------------
94081db1
VK
783NOT_COMPILE_EXT =
784!if "$(MACHINE)" == "wince-sh3-palm-wce211"
785NOT_COMPILE_EXT = $(NOT_COMPILE_EXT) !XS/Typemap
786!endif
787!if "$(MACHINE)" == "wince-mips-palm-wce211"
788NOT_COMPILE_EXT = $(NOT_COMPILE_EXT) !XS/Typemap
789!endif
790
58ff4bd0
DD
791Extensions: ..\make_ext.pl $(CONFIGPM)
792 $(HPERL) -I..\lib -I. -MCross=$(CROSS_NAME) ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all \
793 !POSIX !Errno !Win32 !Win32API/File !Socket !Time/HiRes !Time/Piece !re $(NOT_COMPILE_EXT)
fefd7080 794
f4257e4d 795Extensions_clean:
58ff4bd0 796 -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --all --target=clean
fefd7080
VK
797
798#----------------------------------------------------------------------------------
799
517bb5c6
VK
800$(PERLEXE_RES): perlexe.rc perl.rc $(PERLEXE_MANIFEST) $(PERLEXE_ICO)
801 rc $(RCDEFS) perlexe.rc
e4451f11 802
f4257e4d 803clean:
58ff4bd0
DD
804 -if exist .\$(MACHINE)\dll rmdir /s /q .\$(MACHINE)\dll
805 -@$(DEL) .\$(MACHINE)\*.obj
806 -@$(DEL) .\$(MACHINE)\*.exe
807 -@$(DEL) .\$(MACHINE)\*.dll
808 -@$(DEL) .\$(MACHINE)\*.lib
809 -@$(DEL) .\$(MACHINE)\*.exp
810 -@$(DEL) .\$(MACHINE)\*.pdb
811 -@$(DEL) ..\Cross\config-$(MACHINE).sh ..\lib\Config.pm
812 -if exist ..\xlib rmdir /s /q ..\xlib
813 -@$(DEL) config.h xconfig.h perl.res
814 -@$(DEL) ..\t\test_state
e4451f11 815
e4451f11
JH
816XDLLOBJS = \
817$(DLLDIR)\av.obj \
818$(DLLDIR)\deb.obj \
819$(DLLDIR)\doio.obj \
820$(DLLDIR)\doop.obj \
821$(DLLDIR)\dump.obj \
822$(DLLDIR)\globals.obj \
823$(DLLDIR)\gv.obj \
e1a479c5 824$(DLLDIR)\mro.obj \
e4451f11
JH
825$(DLLDIR)\hv.obj \
826$(DLLDIR)\locale.obj \
517bb5c6 827$(DLLDIR)\keywords.obj \
7ee2227d 828$(DLLDIR)\mathoms.obj \
e4451f11
JH
829$(DLLDIR)\mg.obj \
830$(DLLDIR)\numeric.obj \
831$(DLLDIR)\op.obj \
b475b3e6 832$(DLLDIR)\pad.obj \
e4451f11
JH
833$(DLLDIR)\perl.obj \
834$(DLLDIR)\perlapi.obj \
835$(DLLDIR)\perlio.obj \
836$(DLLDIR)\perly.obj \
837$(DLLDIR)\pp.obj \
838$(DLLDIR)\pp_ctl.obj \
839$(DLLDIR)\pp_hot.obj \
840$(DLLDIR)\pp_pack.obj \
84d4ea48 841$(DLLDIR)\pp_sort.obj \
e4451f11 842$(DLLDIR)\pp_sys.obj \
10bc17b6 843$(DLLDIR)\reentr.obj \
e4451f11
JH
844$(DLLDIR)\regcomp.obj \
845$(DLLDIR)\regexec.obj \
846$(DLLDIR)\run.obj \
847$(DLLDIR)\scope.obj \
848$(DLLDIR)\sv.obj \
849$(DLLDIR)\taint.obj \
850$(DLLDIR)\toke.obj \
851$(DLLDIR)\universal.obj \
852$(DLLDIR)\utf8.obj \
853$(DLLDIR)\util.obj \
854$(DLLDIR)\win32thread.obj \
855$(DLLDIR)\wince.obj \
42165d27 856$(DLLDIR)\win32io.obj \
e4451f11 857$(DLLDIR)\wincesck.obj \
e4451f11
JH
858$(DLLDIR)\perllib.obj \
859$(DLLDIR)\DynaLoader.obj
2e64bfdb
JH
860!IF "$(PERL_MALLOC)" == "define"
861XDLLOBJS = $(XDLLOBJS) $(DLLDIR)\malloc.obj
862!ENDIF
81003058
VK
863!IF "$(CRYPT_SRC)" != ""
864XDLLOBJS = $(XDLLOBJS) $(DLLDIR)\fcrypt.obj
865!ENDIF
e4451f11
JH
866
867{$(SRCDIR)}.c{$(DLLDIR)}.obj:
216db7ee
VK
868 $(CC) -c $(CFLAGS_O) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<
869
870# compiler explains that it will optimize toke.c if we'll give it an
871# option -QMOb<num> with num>=4178
872$(DLLDIR)\toke.obj:
873 $(CC) -c $(CFLAGS_O) -QMOb9000 -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ ..\toke.c
e4451f11 874
247d8755 875{$(SRCDIR)/win32}.c{$(DLLDIR)}.obj:
216db7ee
VK
876 $(CC) -c $(CFLAGS_O) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ $<
877
878# -DPERL_IMPLICIT_SYS needs C++ for perllib.c
879# This is the only file that depends on perlhost.h, vmem.h, and vdir.h
880!IF "$(USE_IMP_SYS)" == "define"
8f33b42a 881$(DLLDIR)\perllib$(o) : perllib.c .\perlhost.h .\vdir.h .\vmem.h
216db7ee
VK
882 $(CC) -c -I. $(CFLAGS_O) $(CXX_FLAG) $(OBJOUT_FLAG)$@ perllib.c
883 rem (frustrated) mv perllib.obj $(DLLDIR)
884!ENDIF
e4451f11 885
61b311ca 886perldll.def : $(HPERL) $(CONFIGPM) ..\embed.fnc ..\makedef.pl create_perllibst_h.pl .\xconfig.h
517bb5c6
VK
887 $(HPERL) -I..\lib -MCross create_perllibst_h.pl
888 $(HPERL) -I..\lib -MCross -w ..\makedef.pl PLATFORM=wince $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \
080c3729 889 CCTYPE=$(CCTYPE) -DPERL_DLL=$(PERLDLL) TARG_DIR=..\ > perldll.def
18f68570 890
e4451f11 891$(PERLDLL) : $(DLLDIR) perldll.def $(XDLLOBJS) $(PERLDLL_RES)
61b311ca 892 $(LINK32) -dll -def:perldll.def -base:0x28000000 -out:$@ \
e4451f11
JH
893 $(SUBSYS) $(LDLIBPATH) \
894 $(LINK_FLAGS) $(LIBFILES) \
895 $(XDLLOBJS) $(PERLDLL_RES)
896
897$(DLLDIR) :
898 if not exist "$(DLLDIR)" mkdir "$(DLLDIR)"
899
58ff4bd0
DD
900$(EXTDIR)\DynaLoader\DynaLoader.c :
901 $(HPERL) -I..\lib -I. -MCross=$(CROSS_NAME) ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --dynaloader
902
e4451f11 903$(DLLDIR)\DynaLoader.obj: $(EXTDIR)\DynaLoader\DynaLoader.c
216db7ee 904 $(CC) -c $(CFLAGS_O) -DPERL_EXTERNAL_GLOB -Fo$(DLLDIR)\ \
e4451f11
JH
905 $(EXTDIR)\DynaLoader\DynaLoader.c
906
907XPERLEXEOBJS = \
247d8755 908$(MACHINE)\perlmaince.obj
e4451f11
JH
909
910$(PERLEXE) : $(PERLDLL) $(CONFIGPM) $(XPERLEXEOBJS) $(PERLEXE_RES) $(STARTOBJS)
e2a02c1e 911 $(XCOPY) $(MACHINE)\*.lib $(XCOREDIR)
2e64bfdb 912 $(LINK32) $(SUBSYS) $(LDLIBPATH) \
e4451f11
JH
913 -entry:wWinMainCRTStartup \
914 -out:$(MACHINE)\perl.exe \
915 -stack:0x100000 $(LINK_FLAGS) $(STARTOBJS) $(XPERLEXEOBJS) \
916 $(PERLIMPLIB) $(PERLEXE_RES) $(LIBFILES)
917
247d8755
VK
918$(MACHINE)\perlmaince.obj : perlmaince.c
919 $(CC) $(CFLAGS_O) -UPERLDLL -Fo$(MACHINE)\ -c perlmaince.c
e4451f11
JH
920
921iodll: $(IO_DLL)
922socketdll: $(SOCKET_DLL)
923dumperdll: $(DUMPER_DLL)
924
925dlls: socketdll iodll dumperdll
926 -xmkdir -p $(MACHINE)/lib/auto/IO
927 cp ../lib/auto/IO/IO.bs $(MACHINE)/lib/auto/IO
928 cp ../lib/auto/IO/IO.dll $(MACHINE)/lib/auto/IO
929 -xmkdir $(MACHINE)/lib/auto/Socket
930 cp ../lib/auto/Socket/Socket.bs $(MACHINE)/lib/auto/Socket
931 cp ../lib/auto/Socket/Socket.dll $(MACHINE)/lib/auto/Socket
932 -xmkdir -p $(MACHINE)/lib/auto/Data/Dumper
933 cp ../lib/auto/Data/Dumper/Dumper.bs $(MACHINE)/lib/auto/Data/Dumper
934 cp ../lib/auto/Data/Dumper/Dumper.dll $(MACHINE)/lib/auto/Data/Dumper
935
936makedist: all dlls
937 $(COPY) $(CELIBPATH)\celib.dll $(MACHINE)
938 cp perl.txt $(MACHINE)
939 cp registry.bat $(MACHINE)
940 cp ../lib/Config.pm $(MACHINE)/lib
941 cd $(MACHINE)
58ff4bd0 942 -@$(DEL) perl-$(MACHINE).tar.gz
e4451f11
JH
943 sh -c "tar cf perl-$(MACHINE).tar *.exe *.dll *.txt *.bat lib"
944 gzip -9 perl-$(MACHINE).tar
945 mv perl-$(MACHINE).tar.gz h:/freenet/new
946 cd ..
947
42165d27
VK
948install: all
949 -cemkdir "$(INSTALL_ROOT)"
950 -cemkdir "$(INSTALL_ROOT)\bin"
951 -cemkdir "$(INSTALL_ROOT)\lib"
952 $(CECOPY) "pc:$(MACHINE)/perl.exe" "ce:$(INSTALL_ROOT)/bin"
18f68570 953 $(CECOPY) "pc:$(MACHINE)/perl$(PV).dll" "ce:$(INSTALL_ROOT)/bin"
e2a02c1e 954 $(CECOPY) "pc:../xlib/$(CROSS_NAME)/Config.pm" "ce:$(INSTALL_ROOT)/lib"
42d1cefd
RGS
955
956$(UNIDATAFILES) : $(HPERL) $(CONFIGPM) ..\lib\unicore\mktables
957 cd ..\lib\unicore && \
517bb5c6 958 $(HPERL) -I.. -I..\..\lib $(ICWD1) -MCross=$(CROSS_NAME) mktables -P ..\..\pod -maketest -makelist -p -check $@ $(FIRSTUNIFILE)
e4451f11 959
2e64bfdb 960dist: all
284edc75 961 $(HPERL) -I..\lib -MCross=$(CROSS_NAME) ce-helpers\makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME)
c96f74ce
JH
962
963zipdist: all
284edc75
VK
964 $(HPERL) -I..\lib -MCross=$(CROSS_NAME) ce-helpers\makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME)
965 $(HPERL) -I..\lib -MCross=$(CROSS_NAME) ce-helpers\makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) --zip
c96f74ce
JH
966
967zip:
284edc75 968 $(HPERL) -I..\lib -MCross=$(CROSS_NAME) ce-helpers\makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME) --zip
2e64bfdb 969
18f68570 970hostminiperl: ..\miniperl.exe
e4451f11 971
18f68570 972..\miniperl.exe:
18f68570 973 set PATH=$(CCHOME)\bin;$(PATH)
47bcb90d 974 $(MAKE) -f Makefile "CCHOME=$(MSVCDIR)" "CCINCDIR=$(CCHOME)\include" "CCLIBDIR=$(CCHOME)\lib" "INCLUDE=$(CCHOME)\include" "LIB=$(CCHOME)\lib" "LINK_FLAGS=" .\config.h ..\miniperl.exe
476a6acb 975
47bcb90d
VK
976host-install:
977 perl -MConfig -MExtUtils::Install -we "install({'../lib/CORE', qq#$$Config{installprefixexp}/xlib/$(CROSS_NAME)/CORE#},1)"
978 perl -MConfig -MExtUtils::Install -we "install({'../xlib/$(CROSS_NAME)', qq#$$Config{installprefixexp}/xlib/$(CROSS_NAME)#},1)"
979 perl -MConfig -MFile::Copy -we "copy qq#./$(MACHINE)/perl$(PV).lib#, qq#$$Config{installprefixexp}/xlib/$(CROSS_NAME)/CORE#"
980 perl -MConfig -MFile::Copy -we "copy qq#../lib/Cross.pm#, qq#$$Config{installprefixexp}/lib#"
74a9a7e5
VK
981 perl -MConfig -we "system qq#perl -pi.bak -we \"s{((arch^|priv)libexp)='.*'}{\$$1='# . \
982 quotemeta($$Config{installprefixexp}) . \
983 qq#/xlib/$(CROSS_NAME)'}\" $$Config{installprefixexp}/xlib/$(CROSS_NAME)/Config.pm#"