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