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