import PULS_20160108
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / misc / mediatek / connectivity / combo / drv_wlan / mt6630 / wlan / os / windows / common / makefile.sd.ce42
CommitLineData
6fa3eb70
S
1!if 0
2Copyright (c) Microsoft Corporation. All rights reserved.
3!endif
4!if 0
5Use of this source code is subject to the terms of the Microsoft end-user
6license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
7If you did not accept the terms of the EULA, you are not authorized to use
8this source code. For a copy of the EULA, please see the LICENSE.RTF on your
9install media.
10!endif
11!IF 0
12
13
14Module Name:
15
16 makefile.def
17
18Abstract:
19
20 This is the standard makefile for the components of the WINCE project.
21 It includes the following files:
22
23 .\sources. - developer supplies this file. It defines required and
24 optional macros that control the compiler and linker.
25
26 $(_OBJDIR)\_objects.mac - built by BUILD.EXE from .\sources.
27
28Targets:
29
30 all - Builds all targets in this make file
31
32 clean - Erase all targets that can be produced by this make
33 file, ignoring errors. Also rebuilds the depend target.
34
35!ENDIF
36
37#
38# Pick a copy command to use
39#
40!IF "$(BUILDREL_USE_COPY)"=="1"
41#use real copy command
42__COPYCMD=copy
43!ELSE
44# use copylink instead
45__COPYCMD=copylink /S:a /D:f /E:a /R:n
46!ENDIF
47
48
49
50#
51# Include the developer supplied file that defines the TARGETNAME,
52# TARGETTYPE and SOURCES macros.
53#
54
55# Local variable which gets set to the tree being built currently
56WINCETREE=$(_CURSLMTREE)
57
58!IF "$(BUILDROOT)"==""
59!ERROR BUILDROOT must be defined
60!ENDIF
61!MESSAGE makefile.def: BUILDROOT is $(BUILDROOT)
62
63!IF EXIST($(BUILDROOT)\sources.cmn)
64!MESSAGE makefile.def: including $(BUILDROOT)\sources.cmn
65!INCLUDE $(BUILDROOT)\sources.cmn
66!ENDIF
67
68# Figure out the appropriate directory for public common. Do this before
69# including the sources file so they can be used in there. Note there are
70# OS & non-OS projects. OS projects are those that have WINCETREE explicitly
71# set in sources.cmn and where public\WINCETREE\cesysgen\makefile exists,
72#
73# There are 4 cases:
74# (1) OS projects during sysgen (2) OS projects during compile
75# (3) WINCEPROJ projects (4) Other projects.
76
77!if "$(_IN_CESYSGEN)" != ""
78# OS projects during SYSGEN (which get unsysgened input libs & build into projectroot\cesysgen)
79_COMMONPUBROOT=$(_PUBLICROOT)\common
80__PROJROOT = $(_PROJECTROOT)\cesysgen
81!else if ("$(WINCETREE)" == "winceos") || EXIST($(_PUBLICROOT)\$(WINCETREE)\cesysgen\makefile)
82# OS projects during compile (which always get the full unfiltered headers & build into their own public tree)
83_COMMONPUBROOT=$(_PUBLICROOT)\common
84__PROJROOT = $(_PUBLICROOT)\$(WINCEPROJ)
85!else if "$(WINCEPROJ)" != ""
86# WINCEPROJ projects (which want sysgened headers & libs, but want to build into their *own* public trees)
87_COMMONPUBROOT=$(_PROJECTROOT)\cesysgen
88__PROJROOT = $(_PUBLICROOT)\$(WINCEPROJ)
89!else
90# regular user projects (which get sysgened headers & libs & build into the final project public tree)
91_COMMONPUBROOT=$(_PROJECTROOT)\cesysgen
92__PROJROOT = $(_PROJECTROOT)
93!endif
94
95# Construct the CPU's qualified instruction set architecture name (e.g., ARMV4)
96TGTCPUISANAME=$(_TGTCPUFAMILY)$(_TGTCPUISA)
97
98# Build all binaries into cpu dependent dirs for simplicity
99_CPUINDPATH=$(_TGTCPU)\$(WINCEDEBUG)
100_CPUDEPPATH=$(_TGTCPU)\$(WINCEDEBUG)
101
102# Use these to get sysgened (or not sysgened) headers and libs as described above
103_COMMONSDKROOT=$(_COMMONPUBROOT)\sdk
104_COMMONOAKROOT=$(_COMMONPUBROOT)\oak
105_COMMONDDKROOT=$(_COMMONPUBROOT)\ddk
106
107# Use these to explicitly get sysgened headers and libs
108_SYSGENSDKROOT=$(_PROJECTROOT)\cesysgen\sdk
109_SYSGENOAKROOT=$(_PROJECTROOT)\cesysgen\oak
110_SYSGENDDKROOT=$(_PROJECTROOT)\cesysgen\ddk
111
112!INCLUDE .\sources.
113
114!IF EXIST($(_PROJECTROOT)\oak\misc\makefile.inc)
115!MESSAGE makefile.def: including $(_PROJECTROOT)\oak\misc\makefile.inc
116!INCLUDE $(_PROJECTROOT)\oak\misc\makefile.inc
117!ENDIF
118
119!IFNDEF TARGETNAME
120!ERROR Your .\sources. file must define the TARGETNAME= macro
121!ENDIF
122
123!IFNDEF TARGETTYPE
124!ERROR Your .\sources. file must define the TARGETTYPE= macro
125!ENDIF
126
127# TARGETTHREADMODEL should be ST for single-threaded, MT for multi-threaded
128!IFNDEF TARGETTHREADMODEL
129TARGETTHREADMODEL=ST
130!ENDIF
131
132!IFNDEF SOURCES
133!ERROR Your .\sources. file must define the SOURCES= macro
134!ENDIF
135
136# Recalculate the appropriate directory for public common. We are redoing
137# this in case they tried to override something in their sources file.
138# (See detailed notes above)
139
140!if "$(_IN_CESYSGEN)" != ""
141# OS projects during SYSGEN (which get unsysgened input libs & build into projectroot\cesysgen)
142_COMMONPUBROOT=$(_PUBLICROOT)\common
143__PROJROOT = $(_PROJECTROOT)\cesysgen
144!else if ("$(WINCETREE)" == "winceos") || EXIST($(_PUBLICROOT)\$(WINCETREE)\cesysgen\makefile)
145# OS projects during compile (which always get the full unfiltered headers & build into their own public tree)
146_COMMONPUBROOT=$(_PUBLICROOT)\common
147__PROJROOT = $(_PUBLICROOT)\$(WINCEPROJ)
148!else if "$(WINCEPROJ)" != ""
149# WINCEPROJ projects (which want sysgened headers & libs, but want to build into their *own* public trees)
150_COMMONPUBROOT=$(_PROJECTROOT)\cesysgen
151__PROJROOT = $(_PUBLICROOT)\$(WINCEPROJ)
152!else
153# regular user projects (which get sysgened headers & libs & build into the final project public tree)
154_COMMONPUBROOT=$(_PROJECTROOT)\cesysgen
155__PROJROOT = $(_PROJECTROOT)
156!endif
157
158#!ERROR Paths are commonpubroot=$(_COMMONPUBROOT) and projroot=$(__PROJROOT)
159
160# Include generated source variables
161!IF !EXIST($(BUILDROOT)\sources.gen)
162!IF [call srcgen $(BUILDROOT) $(WINCETREE) $(_COMMONPUBROOT)]
163!ENDIF
164!ENDIF
165!INCLUDE $(BUILDROOT)\sources.gen
166
167!IFNDEF _ISVINCPATH
168!ERROR Sources.gen did not include an ISV include path
169!ENDIF
170
171# validate WINCEDEBUG since it's used for paths
172!IF (("$(WINCEDEBUG)" != "retail") && ("$(WINCEDEBUG)" != "debug"))
173!ERROR You must set WINCEDEBUG to retail or debug
174!ENDIF
175
176#
177# Set up the release directories.
178#
179_SRCDIR = $(_TGTCPUFAMILY)
180
181!IF "$(WINCECPU)" == ""
182__CPUDIR = $(_CPUINDPATH)
183!ELSE
184__CPUDIR = $(_CPUDEPPATH)
185!ENDIF
186_OBJDIR = obj\$(__CPUDIR)
187
188!IF "$(RELEASETYPE)" == "SDK"
189_RELEASEDIR=$(__PROJROOT)\oak\target\$(__CPUDIR)
190_RELEASELIBDIR=$(__PROJROOT)\sdk\lib\$(__CPUDIR)
191!ELSEIF "$(RELEASETYPE)" == "DDK"
192_RELEASEDIR=$(__PROJROOT)\oak\target\$(__CPUDIR)
193_RELEASELIBDIR=$(__PROJROOT)\ddk\lib\$(__CPUDIR)
194!ELSEIF "$(RELEASETYPE)" == "PLATFORM"
195_RELEASEDIR=$(_TARGETPLATROOT)\target\$(__CPUDIR)
196_RELEASELIBDIR=$(_TARGETPLATROOT)\lib\$(__CPUDIR)
197!ELSEIF "$(RELEASETYPE)" == "LOCAL"
198_RELEASEDIR=$(_OBJDIR)
199_RELEASELIBDIR=$(_OBJDIR)
200!ELSEIF "$(RELEASETYPE)" == "CUSTOM"
201_RELEASEDIR=$(TARGETPATH)
202_RELEASELIBDIR=$(TARGETPATH)
203!ELSE
204_RELEASEDIR=$(__PROJROOT)\oak\target\$(__CPUDIR)
205_RELEASELIBDIR=$(__PROJROOT)\oak\lib\$(__CPUDIR)
206!ENDIF
207
208
209#
210# Include the list of object files (defined as the OBJECTS macro) that was
211# built by BUILD program, using the SOURCES= macro defined in the sources.
212# file. Use macro substitution to build the supported target objects.
213#
214
215!IFNDEF NOINCLUDEOBJMAC
216!INCLUDE $(_OBJDIR)\_objects.mac
217!ENDIF
218
219!IF "$(_TGTOS)"=="CE"
220!IFNDEF LINKER_SUBSYSTEM
221LINKER_SUBSYSTEM=-subsystem:windowsce,4.20
222!ENDIF
223!ENDIF
224
225!IFDEF RCADDNULL
226RCFLAGS=-n
227!ELSE
228RCFLAGS=
229!ENDIF
230
231!IFDEF DLLENTRY
232DLLENTRYOPTION=-entry:$(DLLENTRY)
233!ELSE
234# Default DLLENTRY for CE is broken. Provide a correct default entry
235!IF "$(_TGTOS)"=="CE"
236DLLENTRYOPTION=-entry:_DllMainCRTStartup
237!ELSE
238DLLENTRYOPTION=
239!ENDIF
240!ENDIF
241
242!IFDEF EXEENTRY
243EXEENTRYOPTION=-entry:$(EXEENTRY)
244!ELSE
245# Default EXEENTRY for CE is broken. Provide a correct default entry
246!IF "$(_TGTOS)"=="CE"
247EXEENTRYOPTION=-entry:WinMainCRTStartup
248!ELSE
249EXEENTRYOPTION=
250!ENDIF
251!ENDIF
252
253!IFDEF NODLLENTRY
254DLLENTRYOPTION=-NOENTRY
255!ENDIF
256
257
258#
259# If BUILDMSG is not defined, the define it as the empty string to make
260# the conditionals easier to write.
261#
262
263!IFNDEF BUILDMSG
264BUILDMSG=
265!ENDIF
266
267!IF "$(_TGTCPUFAMILY)"=="x86"
268TARGETOBJFILES=$(x86_OBJECTS)
269!ELSEIF "$(_TGTCPUFAMILY)"=="MIPS"
270TARGETOBJFILES=$(MIPS_OBJECTS)
271!ELSEIF "$(_TGTCPUFAMILY)"=="SH"
272TARGETOBJFILES=$(SH_OBJECTS)
273!ELSEIF "$(_TGTCPUFAMILY)"=="ARM"
274TARGETOBJFILES=$(ARM_OBJECTS)
275!ENDIF
276
277!IF DEFINED(LINT_TYPE)
278
279!IF "$(LINT_TYPE)" == "all"
280!ELSEIF "$(LINT_TYPE)" == "lob"
281!ELSEIF "$(LINT_TYPE)" == "ind"
282!ELSE
283!ERROR LINT_TYPE must be all | lob | ind
284!ENDIF
285
286!IF !DEFINED(LINT_PATH)
287!ERROR LINT_PATH not set
288!ENDIF
289
290!IF !DEFINED(LINT_APP)
291!ERROR LINT_APP not set
292!ENDIF
293
294!IF !DEFINED(LINT_OUTPUT)
295LINT_OUTPUT=$(TARGETNAME)
296!ENDIF
297
298!IF !DEFINED(LINT_EXT)
299LINT_EXT=Lint
300!ENDIF
301
302!IF "$(LINT_TYPE)" == "all"
303LINT_TARGETLOBFILES=$(_OBJDIR)\$(LINT_OUTPUT).$(LINT_EXT)
304!ELSE
305# Don't use TARGETOBJFILES because that'll pull in the precompiled
306# header object file which will cause an error because there's
307# no inference rule that matches
308
309!IF "$(_TGTCPUFAMILY)"=="x86"
310LINT_TARGETLOBFILES=$(x86_OBJECTS:.obj=.lob)
311!ELSEIF "$(_TGTCPUFAMILY)"=="MIPS"
312LINT_TARGETLOBFILES=$(MIPS_OBJECTS:.obj=.lob)
313!ELSEIF "$(_TGTCPUFAMILY)"=="SH"
314LINT_TARGETLOBFILES=$(SH_OBJECTS:.obj=.lob)
315!ELSEIF "$(_TGTCPUFAMILY)"=="ARM"
316LINT_TARGETLOBFILES=$(ARM_OBJECTS:.obj=.lob)
317!ENDIF
318!ENDIF
319!ELSE
320LINT_TARGETLOBFILES=
321!ENDIF
322
323
324!IF ("$(TARGETTYPE)" == "LIBRARY") || ("$(TARGETTYPE)" == "DYNLINK")
325TARGETLIBFILES=$(_RELEASELIBDIR)\$(TARGETNAME).lib
326!ENDIF
327
328TARGETEXEFILES=
329!IF "$(NOLINK)" == ""
330! IF "$(TARGETTYPE)" == "DYNLINK"
331TARGETEXEFILES=$(_RELEASEDIR)\$(TARGETNAME).dll
332! ELSE
333! IF "$(TARGETTYPE)" == "PROGRAM"
334TARGETEXEFILES=$(_RELEASEDIR)\$(TARGETNAME).exe
335! ENDIF
336! ENDIF
337!ENDIF
338
339#
340# Standard inference rules for C files that produce object files.
341#
342.SUFFIXES: .cxx .cpp .c .asm .s .src .rc .obj .ire .res .h .odl .tlb .i
343
344!IFDEF PASS0ONLY
345# Clear the suffixes list so we can ensure only pass zero stuff will be built
346.SUFFIXES:
347!ENDIF
348
349!IFNDEF NOPASS0
350# Pass Zero Inference Rules: IDL files (MIDL) and MC files
351.SUFFIXES: .idl .mc .odl .tdl .asn .thk
352
353!IF "$(_TGTCPUFAMILY)"=="x86"
354PASS0_OBJECTS=$(PASS0_x86_OBJECTS)
355!ELSEIF "$(_TGTCPUFAMILY)"=="MIPS"
356PASS0_OBJECTS=$(PASS0_MIPS_OBJECTS)
357!ELSEIF "$(_TGTCPUFAMILY)"=="SH"
358PASS0_OBJECTS=$(PASS0_SH_OBJECTS)
359!ELSEIF "$(_TGTCPUFAMILY)"=="ARM"
360PASS0_OBJECTS=$(PASS0_ARM_OBJECTS)
361!ENDIF
362
363!ENDIF # IFNDEF NOPASS0
364
365!IFDEF USE_OLE_MC
366MC = mc -o
367!ELSE
368MC = mc
369!ENDIF
370
371!IF "$(PRECOMPILED_OPTION)" == ""
372! IF "$(PRECOMPILED_INCLUDE)" != ""
373! IF "$(PRECOMPILED_INCLUDE)" != "$(PRECOMPILED_INCLUDE:.hxx=)"
374PRECOMPILED_CXX=1
375! ENDIF
376! IF "$(PRECOMPILED_INCLUDE)" != "$(PRECOMPILED_INCLUDE:.cxx=)"
377PRECOMPILED_CXX=1
378! ENDIF
379! IF "$(PRECOMPILED_INCLUDE)" != "$(PRECOMPILED_INCLUDE:.cpp=)"
380PRECOMPILED_CXX=1
381! ENDIF
382! IF "$(PRECOMPILED_PCH)" == ""
383PRECOMPILED_PCH=$(PRECOMPILED_INCLUDE:.hxx=.pch)
384PRECOMPILED_PCH=$(PRECOMPILED_PCH:.h=.pch)
385PRECOMPILED_PCH=$(PRECOMPILED_PCH:.cxx=.pch)
386PRECOMPILED_PCH=$(PRECOMPILED_PCH:.cpp=.pch)
387PRECOMPILED_PCH=$(PRECOMPILED_PCH:.c=.pch)
388PRECOMPILED_PCH=$(PRECOMPILED_PCH:..\=)
389! ENDIF
390! IF "$(PRECOMPILED_OBJ)" == ""
391PRECOMPILED_OBJ=$(PRECOMPILED_PCH:.pch=.obj)
392! ENDIF
393! ENDIF
394!ENDIF
395
396!IF "$(PRECOMPILED_OPTION)" == ""
397! IF "$(PRECOMPILED_INCLUDE)" != ""
398! IF "$(PRECOMPILED_PCH)" != ""
399HEADERFILE=/Fp$(_OBJDIR)\$(PRECOMPILED_PCH)
400! ENDIF
401! IF "$(PRECOMPILED_OBJ)" != ""
402HEADEROBJNAME=$(_OBJDIR)\$(PRECOMPILED_OBJ)
403HEADEROBJ=/Fo$(MAKEDIR)\$(HEADEROBJNAME)
404! ENDIF
405! IF "$(PRECOMPILED_CXX)" == ""
406PRECOMPILED=/Yu$(PRECOMPILED_INCLUDE:..\=) $(HEADERFILE)
407PRECOMPILED_CXX=
408! ELSE
409PRECOMPILED=
410PRECOMPILED_CXX=/Yu$(PRECOMPILED_INCLUDE:..\=) $(HEADERFILE)
411! ENDIF
412PRECOMPILED_TARGET=$(_OBJDIR)\$(PRECOMPILED_PCH)
413! ELSE
414! IF "$(PRECOMPILED_INCLUDE)" != ""
415! IF "$(PRECOMPILED_CXX)" == ""
416PRECOMPILED=/Yu$(PRECOMPILED_INCLUDE)
417PRECOMPILED_CXX=
418! ELSE
419PRECOMPILED=
420PRECOMPILED_CXX=/Yu$(PRECOMPILED_INCLUDE)
421! ENDIF
422! ENDIF
423! ENDIF
424!ELSE
425! IF "$(PRECOMPILED_CXX)" == ""
426PRECOMPILED=$(PRECOMPILED_OPTION)
427PRECOMPILED_CXX=
428! ELSE
429PRECOMPILED=
430PRECOMPILED_CXX=$(PRECOMPILED_OPTION)
431! ENDIF
432PRECOMPILED_TARGET=$(PRECOMPILED_TARGET)
433! IF "$(PRECOMPILED_TARGET)" != ""
434HEADERFILE=/Fp$(PRECOMPILED_TARGET)
435! ENDIF
436! IF "$(PRECOMPILED_OBJ)" != ""
437HEADEROBJNAME=$(PRECOMPILED_OBJ)
438HEADEROBJ=/Fo$(HEADEROBJNAME)
439! ENDIF
440!ENDIF
441
442!IF ("$(PRECOMPILED_CXX)" == "") && ("$(USECXX_FLAG)" == "")
443PRECOMPILED_FLAG=$(PRECOMPILED_FLAG) /Tc
444!ELSE
445PRECOMPILED_FLAG=$(PRECOMPILED_FLAG) /Tp
446!ENDIF
447
448!IF "$(NTNOPCH)" != ""
449PRECOMPILED=
450PRECOMPILED_CXX=
451!ENDIF
452
453# make sure we include the precompiled object if we have one
454TARGETOBJFILES=$(TARGETOBJFILES) $(HEADEROBJNAME)
455
456#
457# Standard list of targets: all, clean and loc. all is the default target.
458#
459
460!IF "$(SKIPBUILD)" != ""
461
462#empty all: target to not build anything for the current subdir
463all:
464
465
466!ELSE IFNDEF PASS0ONLY
467
468all: \
469!IFNDEF NOINCLUDEOBJMAC
470 $(_OBJDIR)\_objects.mac \
471!ENDIF
472 $(WINCETARGETFILE0) \
473 $(PASS0_OBJECTS) \
474 $(PRECOMPILED_TARGET) \
475 $(HEADEROBJNAME) \
476 $(TARGETOBJFILES) \
477!IF DEFINED(LINT_TYPE) && ( "$(LINT_TYPE)" == "lob" )
478 $(LINT_TARGETLOBFILES) \
479!ENDIF
480 $(TARGETLIBFILES) \
481!IF DEFINED(LINT_TYPE) && ( "$(LINT_TYPE)" != "lob" )
482 $(LINT_TARGETLOBFILES) \
483!ENDIF
484 $(TARGETEXEFILES) \
485 $(WINCETARGETFILES)
486!IF "$(BUILDMSG)" != ""
487 -@echo $(BUILDMSG)
488!ENDIF
489
490!ELSE # PASS0ONLY
491
492all: \
493 $(WINCETARGETFILE0) \
494 $(PASS0_OBJECTS)
495!IF "$(BUILDMSG)" != ""
496 -@echo $(BUILDMSG)
497!ENDIF
498
499!ENDIF # PASS0ONLY
500
501
502!IFNDEF PASS0_HEADERDIR
503PASS0_HEADERDIR=.
504!ENDIF
505
506! IFNDEF PASS0_SOURCEDIR
507PASS0_SOURCEDIR=.
508! ENDIF
509
510! IFNDEF MIDL_UUIDDIR
511MIDL_UUIDDIR=$(PASS0_SOURCEDIR)
512! ENDIF
513
514!IFNDEF MIDL_OPTIMIZATION
515MIDL_OPTIMIZATION=-Oicf
516!ENDIF
517
518dummy:
519 -@echo .
520
521expunge: cleantgt
522 delnode /q obj
523!IF "$(BUILDMSG)" != ""
524 -@echo $(BUILDMSG)
525!ENDIF
526
527clean: cleantgt cleanobj
528!IF "$(BUILDMSG)" != ""
529 -@echo $(BUILDMSG)
530!ENDIF
531
532cleanobj:
533 -@del /q $(_OBJDIR)\*.obj
534 -@del /q $(_OBJDIR)\*.cod
535!IFDEF LINT_TYPE
536 -@del /q $(_OBJDIR)\*.lob
537 -@del /q $(_OBJDIR)\$(LINT_OUTPUT).$(LINT_EXT)
538!ENDIF
539
540cleantgt:
541!IF "$(TARGETTYPE)" == "DYNLINK"
542 -@del $(_RELEASELIBDIR)\$(TARGETNAME).lib
543 -@del $(_RELEASELIBDIR)\$(TARGETNAME).exp
544 -@del $(_RELEASEDIR)\$(TARGETNAME).map
545 -@del $(_RELEASEDIR)\$(TARGETNAME).dll
546!ELSEIF "$(TARGETTYPE)" == "PROGRAM"
547 -@del $(_RELEASEDIR)\$(TARGETNAME).map
548 -@del $(_RELEASEDIR)\$(TARGETNAME).exe
549!ELSEIF "$(TARGETTYPE)" == "LIBRARY"
550 -@del $(_RELEASELIBDIR)\$(TARGETNAME).lib
551!ENDIF
552
553#
554# Added for internationalization
555#
556!IF "$(IRC_DEPENDENT)" != "0" && "$(IRC_DEPENDENT)" != ""
557!IF "$(LOCALE)" != "0411"
558$(_CPUINDPATH)\$(TARGETNAME).ire : resource\0409\internl.irc
559 echo > $(_CPUINDPATH)\$(TARGETNAME).ire
560!ELSE
561
562$(_CPUINDPATH)\$(TARGETNAME).ire : resource\0411\internl.irc
563 echo > $(_CPUINDPATH)\$(TARGETNAME).ire
564!ENDIF
565!ENDIF
566
567#
568# Figure out the include path
569#
570
571# Get default sdk library and include path
572!IF "$(_TGTOS)" == "NTANSI" || "$(_TGTOS)" == "NT"
573INCLUDEPATH=$(_SDKROOT)\NT\inc;$(_SDKROOT)\MFC\include
574LIBPATH=$(_SDKROOT)\NT\lib;$(_SDKROOT)\MFC\lib
575!ELSE
576INCLUDEPATH=$(_SDKROOT)\$(_TGTOS)\inc
577LIBPATH=$(_SDKROOT)\$(_TGTOS)\lib
578!ENDIF
579
580# Add atl if the user asked for it (defaults to ATL 2.1)
581!IF "$(WINCEATL)" == "1"
582INCLUDEPATH=$(_SDKROOT)\atl\inc;$(INCLUDEPATH)
583!ENDIF
584
585# Add ATL 3.0 if user asked for it
586!IF "$(WINCEATL30)" == "1"
587INCLUDEPATH=$(_WINCEROOT)\others\atl\include;$(INCLUDEPATH)
588!ENDIF
589
590# Add MFC if user asked for it
591!IF "$(WINCEMFC)" == "1"
592INCLUDEPATH=$(_WINCEROOT)\others\mfc\include;$(INCLUDEPATH)
593!ENDIF
594
595# Add in any specific additions in the sources file
596!IF "$(EXT_INCLUDES)" != ""
597EXT_INCLUDES = $(EXT_INCLUDES: =)
598INCLUDEPATH=$(EXT_INCLUDES);$(INCLUDEPATH)
599!ENDIF
600
601# Add in the dependent tree based includes from sources.gen
602!IF "$(_TGTOS)"=="CE"
603!IF "$(WINCEOEM)" == "1"
604INCLUDEPATH=$(_OEMINCPATH);$(INCLUDEPATH)
605!ELSE
606INCLUDEPATH=$(_ISVINCPATH);$(INCLUDEPATH)
607!ENDIF
608!ENDIF
609
610# Add in any specific additions in the sources file
611!IF "$(INCLUDES)" != ""
612INCLUDES = $(INCLUDES: =)
613INCLUDEPATH=$(INCLUDES);$(INCLUDEPATH)
614!ENDIF
615
616INCLUDEPATH=$(INCLUDEPATH:;;=;)
617
618!IF ("$(WINCEDEBUG)" == "retail")
619!IFDEF DISABLE_OPTIMIZER
620CDEBUG_FLAGS=-Od
621!ELSE
622CDEBUG_DEFINES=
623CDEBUG_FLAGS=-Oxs
624!ENDIF
625!ELSE
626CDEBUG_DEFINES=-DDEBUG=1
627!IF "$(_TGTOS)" == "NT" || "$(_TGTOS)" == "NTANSI"
628CDEBUG_DEFINES=$(CDEBUG_DEFINES) -D_DEBUG=1
629!ENDIF
630CDEBUG_FLAGS=-Od
631!ENDIF
632
633!IF "$(WINCE_LMEM_DEBUG)" != ""
634CDEBUG_DEFINES=$(CDEBUG_DEFINES) -DLMEM_DEBUG=1
635!ENDIF
636
637!IF "$(TARGET_PDB_NAME)" == ""
638!IF "$(TARGETTYPE)" == "LIBRARY"
639TARGET_PDB_NAME = $(_RELEASELIBDIR)\$(TARGETNAME).pdb
640!ELSE
641TARGET_PDB_NAME = $(_RELEASEDIR)\$(TARGETNAME).pdb
642!ENDIF
643!ENDIF
644
645# Pass name of PDB file to both compiler and linker
646CDEBUG_FLAGS=$(CDEBUG_FLAGS) -GF -Zi -Fd$(TARGET_PDB_NAME)
647
648!IF "$(WINCEPROFILE)" == "1"
649LINKER_DEBUG=-debug -debugtype:both -incremental:no
650CDEBUG_DEFINES=$(CDEBUG_DEFINES) -DWINCEPROFILE
651!ELSE
652LINKER_DEBUG=-debug -debugtype:cv -incremental:no
653!ENDIF
654
655!IF "$(TGTCPUISANAME)"=="ARMV4"
656LINKER_DEBUG=$(LINKER_DEBUG) /ARMPADCODE
657!ENDIF
658
659!IF "$(WINCEMEMTRACK)" == "1"
660CDEFINES=$(CDEFINES) -DMEMTRACKING=1
661!ENDIF
662
663!IF "$(WINCESHIP)" != ""
664CDEBUG_DEFINES=$(CDEBUG_DEFINES) -DSHIP_BUILD
665!ENDIF
666
667!IF "$(WINCE_OVERRIDE_CFLAGS)" != ""
668CDEBUG_FLAGS=$(WINCE_OVERRIDE_CFLAGS)
669!ENDIF
670
671!IF "$(WINCE_LINKER_DEBUG)" != ""
672LINKER_DEBUG=$(WINCE_LINKER_DEBUG)
673!ENDIF
674
675!IFNDEF EXEBASE
676!IF "$(_TGTOS)"=="CE"
677EXEBASE=0x00010000
678!ELSE
679EXEBASE=0x01000000
680!ENDIF
681!ENDIF
682
683!IFNDEF DLLBASE
684DLLBASE=0x10000000
685!ENDIF
686
687!IFDEF CPPBROWSE
688#!IFNDEF NO_AUTOMATIC_BSC
689!message Build Browse Files
690CDEBUG_FLAGS=$(CDEBUG_FLAGS) /FR$(TEMP)\$(@B).sbr
691#!ENDIF
692!ENDIF
693
694!IF "$(WINCE_ELIM_DEAD_CODE)" == "1" || "$(WINCEDEBUG)" == "retail"
695CONLY_FLAGS=$(CONLY_FLAGS) /Gy
696LINKER_DEBUG=$(LINKER_DEBUG) /opt:ref
697!ENDIF
698
699!IF "$(WINCE_VERBOSE_LINK)" == "1"
700LINKER_DEBUG=$(LINKER_DEBUG) /verbose
701!ENDIF
702
703TGTCPUDEFINES=-D$(_TGTCPUFAMILY)
704!IF "$(TGTCPUISANAME)" != "$(_TGTCPUFAMILY)"
705TGTCPUDEFINES = $(TGTCPUDEFINES) -D$(TGTCPUISANAME)
706!ENDIF
707!IF "$(_TGTCPU)" != "$(TGTCPUISANAME)"
708TGTCPUDEFINES=$(TGTCPUDEFINES) -D$(_TGTCPU)
709!ENDIF
710
711# MIPS16 is also a MIPSII
712!IF "$(_TGTCPU)" == "MIPS16"
713TGTCPUDEFINES=$(TGTCPUDEFINES) -DMIPSII
714!ENDIF
715
716!IF "$(_TGTCPUFAMILY)" == "x86"
717TGTCPUDEFINES=$(TGTCPUDEFINES) -D_X86_
718
719!ELSEIF "$(_TGTCPUFAMILY)" == "SH"
720TGTCPUDEFINES=$(TGTCPUDEFINES) -D_SHX_ -DSHx
721
722!ELSEIF "$(_TGTCPUFAMILY)" == "ARM"
723TGTCPUDEFINES=$(TGTCPUDEFINES) -D_ARM_
724!IF "$(TGTCPUISANAME)"=="ARMV4T"
725TGTCPUDEFINES=$(TGTCPUDEFINES) -D_THUMB_
726!ENDIF
727
728!ELSEIF "$(_TGTCPUFAMILY)"=="MIPS"
729TGTCPUDEFINES=$(TGTCPUDEFINES) -D_MIPS_ -DR4000
730
731!IF "$(_TGTCPUOPTIONS)" == "_FP"
732MIPS_HAS_FPU=1
733!ENDIF
734
735!IFDEF MIPS_HAS_FPU
736CDEFINES=$(CDEFINES) $(CFPUDEFINES)
737ADEFINES=$(ADEFINES) $(AFPUDEFINES)
738!ENDIF
739
740!ENDIF # _TGTCPUFAMILY == MIPS
741
742#collect all the defines together
743CDEFINES=-DWIN32 -DSTRICT $(TGTCPUDEFINES) $(CDEBUG_DEFINES) $(CDEFINES)
744!IF "$(WINCEOEM)"=="1"
745CDEFINES=-DWINCEOEM -DWINCEINTERNAL $(CDEFINES)
746!ENDIF
747!IF "$(TARGETTHREADMODEL)" == "MT"
748CDEFINES=-D_MT $(CDEFINES)
749!ENDIF
750!IF "$(WINCEEMULATION)"=="1"
751CDEFINES=-D_WIN32_WCE_EMULATION $(CDEFINES)
752!ENDIF
753!IF "$(_TGTOS)" == "NTANSI"
754CDEFINES=-DUNDER_NT $(CDEFINES)
755!ELSEIF "$(_TGTOS)" == "NT"
756CDEFINES=-DUNDER_NT $(CDEFINES)
757!ELSEIF "$(_TGTOS)" == "CE"
758CDEFINES=-DUNDER_CE -D_WIN32_WCE=420 $(CDEFINES)
759!ENDIF
760!IF "$(NOT_UNICODE)" != "1" && "$(_TGTOS)" != "NTANSI"
761CDEFINES=-DUNICODE -D_UNICODE $(CDEFINES)
762!ENDIF
763
764#collect all include paths together
765!IF "$(INCLUDEPATH)" == "" || "$(INCLUDEPATH)" == " "
766CINCLUDES=-I$(_TGTCPUFAMILY)\ -I.
767!ELSE
768CINCLUDES=-I$(_TGTCPUFAMILY)\ -I. -I$(INCLUDEPATH:;= -I)
769!ENDIF
770
771!IFDEF LINT_TYPE
772LINT_INCLUDES=$(CINCLUDES:-I=-i)
773!ENDIF
774
775
776# -- Added for WINCE-INTERNATIONAL
777#
778# set some flags for INTERNATIONAL module
779!IF "$(LOCALE)" != ""
780#
781# For keyboard module.
782#
783!IF "$(LOCALE)" == "0411"
784!IF "$(_TGTKEYBOARD)" == "JAPAN"
785CDEFINES=$(CDEFINES) -DKEYBD_JAPAN
786RDEFINES=$(RDEFINES) -DKEYBD_JAPAN
787!ELSEIF "$(_TGTKEYBOARD)" == "NONE"
788CDEFINES=$(CDEFINES) -DKEYBD_NONE
789RDEFINES=$(RDEFINES) -DKEYBD_NONE
790!ENDIF
791!ENDIF
792#
793# For LOCALE specific flag. Default code page is 437
794#
795!IF "$(LOCALE)" == "0411"
796CODEPAGE=932
797!ELSE
798CODEPAGE=1252
799!ENDIF
800#
801# set CFLAGS,CINLUDE and RDEFINES for INTERNATIONAL module
802#
803CDEFINES=$(CDEFINES) -DINTERNATIONAL -DL$(LOCALE) -DINTLMSG_CODEPAGE=$(CODEPAGE)
804CINCLUDES=$(CINCLUDES) -I.\Resource\$(LOCALE)
805RDEFINES=$(RDEFINES) -DINTERNATIONAL -DL$(LOCALE) -l 409 -c $(CODEPAGE)
806!ENDIF
807#
808# End WINCE-INTERNATIONAL stuff
809#
810
811
812# set CFLAGS
813!IF "$(WARNLEVEL)" != ""
814CFLAGS=-W$(WARNLEVEL) -c $(CINCLUDES) $(CDEBUG_FLAGS) $(CDEFINES)
815!ELSE
816CFLAGS=-W3 -c $(CINCLUDES) $(CDEBUG_FLAGS) $(CDEFINES)
817!ENDIF
818!IF "$(WINCECOD)" != ""
819CFLAGS=$(CFLAGS) -FAsc -Fa$(@R).cod
820!ENDIF
821!IF "$(WARNISERROR)"=="1"
822# Turn off WX when running prefast, it throws some warnings.
823!IF "$(PREFAST_ADD_PATH)" == ""
824CFLAGS=$(CFLAGS) -WX
825!ENDIF
826!ENDIF
827
828# setup host compiler
829!IF "$(_HOSTCPUTYPE)"=="i386"
830!IF "$(_TGTCPUFAMILY)"=="SH"
831HOSTCOMPILER=clsh
832!ELSEIF "$(_TGTCPUFAMILY)"=="MIPS"
833HOSTCOMPILER=clmips
834!ELSEIF "$(_TGTCPUFAMILY)"=="ARM"
835!IF "$(TGTCPUISANAME)"!="ARMV4T"
836HOSTCOMPILER=clarm
837!ELSE
838HOSTCOMPILER=clthumb
839!ENDIF
840!ELSE
841HOSTCOMPILER=cl386
842!ENDIF
843!ELSEIF "$(_HOSTCPUTYPE)"=="mips"
844HOSTCOMPILER=clmips
845!ENDIF
846
847#resource compiler stuff
848!IF "$(_TGTOS)" == "CE"
849RDEFINES=$(_TGTCPUDEFINES) -DUNDER_CE $(RDEFINES)
850!IF "$(WINCEDEBUG)"=="debug"
851RDEFINES=$(RDEFINES) -DDEBUG
852!ENDIF
853!IF "$(WINCEOEM)"=="1"
854RDEFINES=-DWINCEINTERNAL $(RDEFINES)
855!ENDIF
856!ELSE
857RDEFINES=$(_TGTCPUDEFINES) -DUNDER_NT $(RDEFINES)
858!ENDIF
859RCOMPILER=rc -r $(CINCLUDES) $(RDEFINES)
860
861#midl compiler stuff
862MIDLCOMPILER=midl -nologo
863MKTYPLIBFLAGS=/win32 /mktyplib203
864
865# preprocessing is always done on the host
866DEFPREPROCESS=$(HOSTCOMPILER) -EP $(CDEFINES) $(CINCLUDES)
867
868!IF "$(_TGTOS)" == "NT" || "$(_TGTOS)" == "NTANSI"
869!IF "$(TARGETTYPE)" == "PROGRAM"
870!IF "$(TARGETTHREADMODEL)" != "MT"
871!IF ("$(WINCEDEBUG)" == "retail")
872STARTLIB=libc.lib
873!ELSE
874STARTLIB=libcd.lib
875!ENDIF
876!ELSE
877!IF ("$(WINCEDEBUG)" == "retail")
878STARTLIB=libcmt.lib
879!ELSE
880STARTLIB=libcmtd.lib
881!ENDIF
882!ENDIF
883!ELSE
884!IF ("$(WINCEDEBUG)" == "retail")
885STARTLIB=msvcrt.lib
886!ELSE
887STARTLIB=msvcrtd.lib
888!ENDIF
889!ENDIF
890TARGETLIBS=$(TARGETLIBS) \
891 $(_SDKROOT)\NT\lib\$(_TGTCPUFAMILY)\$(STARTLIB) \
892 $(_SDKROOT)\NT\lib\$(_TGTCPUFAMILY)\oldnames.lib \
893 $(_SDKROOT)\NT\lib\$(_TGTCPUFAMILY)\kernel32.lib \
894 $(_SDKROOT)\NT\lib\$(_TGTCPUFAMILY)\advapi32.lib \
895 $(_SDKROOT)\NT\lib\$(_TGTCPUFAMILY)\gdi32.lib \
896 $(_SDKROOT)\NT\lib\$(_TGTCPUFAMILY)\user32.lib \
897 $(_SDKROOT)\NT\lib\$(_TGTCPUFAMILY)\winmm.lib
898!ELSE
899!IFNDEF NOLIBC
900TARGETLIBS=$(TARGETLIBS) $(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\corelibc.lib
901!ENDIF
902!ENDIF
903
904!IF "$(TGTCPUISANAME)"=="SH4"
905MACHINEOPTION=-machine:SH4
906!ELSEIF "$(_TGTCPUFAMILY)"=="SH"
907!IF "$(ENABLEDSP)"=="1" || "$(_TGTCPUOPTIONS)"=="_DSP"
908MACHINEOPTION=-machine:SH3DSP
909!ELSE
910MACHINEOPTION=-machine:SH3
911!ENDIF
912!ELSEIF "$(TGTCPUISANAME)" == "MIPSII"
913MACHINEOPTION=-machine:MIPS
914!ELSEIF "$(TGTCPUISANAME)" == "MIPS16"
915MACHINEOPTION=-machine:MIPS16
916!ELSEIF "$(TGTCPUISANAME)" == "MIPSIV"
917MACHINEOPTION=-machine:MIPSFPU
918!ELSEIF "$(TGTCPUISANAME)" == "ARMV4T" || "$(TGTCPUISANAME)" == "ARMV4I"
919MACHINEOPTION=-machine:thumb
920!ELSE
921MACHINEOPTION=-machine:$(_TGTCPUFAMILY)
922!ENDIF
923
924# Setup CeCAP
925!IF "$(WINCECALLCAP)"!="" && "$(WINCEFASTCAP)"!=""
926!ERROR Error: WINCECALLCAP and WINCEFASTCAP are both defined. Please choose one.
927!ENDIF
928
929!IF "$(WINCECALLCAP)"!=""
930!IF "$(_TGTCPUFAMILY)"=="x86"
931CFLAGS=$(CFLAGS) /Gh
932!ELSE
933CFLAGS=$(CFLAGS) /callcap
934!ENDIF
935!ENDIF
936
937!IF "$(WINCEFASTCAP)"!=""
938!IF "$(_TGTCPUFAMILY)"=="x86"
939!ERROR Error: WINCEFASTCAP is currently not supported on x86. Please choose WINCECALLCAP.
940!ELSE
941CFLAGS=$(CFLAGS) /fastcap
942!ENDIF
943!ENDIF
944
945!IF "$(WINCECALLCAP)"!="" || "$(WINCEFASTCAP)"!=""
946TARGETLIBS=$(TARGETLIBS) $(_COMMONOAKROOT)\lib\$(_TGTCPU)\$(WINCEDEBUG)\cecap.lib
947!ENDIF
948
949#
950# Now for special CPU dependent defines
951#
952!IF "$(_TGTCPUFAMILY)"=="x86"
953CCOMPILER=cl386 -nologo
954CXXCOMPILER=$(CCOMPILER)
955ASSEMBLER=ml -nologo
956CVTRES=cvtres -machine:iX86
957CFLAGS=$(CFLAGS) /QIfdiv-
958AFLAGS=-c -coff -Cx $(ADEFINES) $(CINCLUDES) -Zm
959!IF "$(WINCECOD)" != ""
960AFLAGS=$(AFLAGS) -Sn -Fl$(@R).lst
961!ENDIF
962
963!ELSEIF "$(_TGTCPUFAMILY)"=="SH"
964CCOMPILER=clsh -nologo
965CXXCOMPILER=$(CCOMPILER)
966ASSEMBLER=shasm
967CFLAGS=$(CFLAGS) -DSH3_CACHE=1
968ALIGNMENT=4096
969!IF "$(TGTCPUISANAME)"=="SH4"
970AFLAGS=$(ADEFINES) -Qsh4r5
971CFLAGS=$(CFLAGS) -Qsh4r5
972CVTRES=cvtres -machine:sh4
973!ELSE
974AFLAGS=$(ADEFINES) -Qsh3 -Qdsp
975CVTRES=cvtres -machine:sh3
976!IF "$(ENABLEDSP)"=="1" || "$(_TGTCPUOPTIONS)"=="_DSP"
977CFLAGS=$(CFLAGS) -Qdsp
978!ENDIF
979!ENDIF
980!IF "$(WINCEPROFILE)" == "1"
981ADEFINES=$(ADEFINES) -DPROFILE=1
982!ELSE
983ADEFINES=$(ADEFINES) -DPROFILE=0
984!ENDIF
985!IFDEF WINCECOD
986AFLAGS=$(AFLAGS) -LIST=$(@R).lst
987!ENDIF
988
989!ELSEIF "$(_TGTCPUFAMILY)"=="MIPS"
990
991ASSEMBLER=mipsasm
992CCOMPILER=clmips -nologo
993ALIGNMENT=4096
994!IF "$(TGTCPU)"=="MIPSII"
995CFLAGS=$(CFLAGS) -QMmips2 -D_M_MRX000=4000 -QMFPE
996!ELSEIF "$(_TGTCPU)"=="MIPSII_FP"
997CFLAGS=$(CFLAGS) -QMmips2 -D_M_MRX000=4000 -QMFPE-
998!ELSEIF "$(_TGTCPU)"=="MIPS16"
999CFLAGS=$(CFLAGS) -DMIPS16SUPPORT
1000LDEFINES=-merge:.text16=.text $(LDEFINES)
1001!IF "$(NOMIPS16CODE)"=="1"
1002CONLY_FLAGS=-QMmips2 -D_M_MRX000=4000 -DNOMIPS16CODE
1003!ELSE
1004CONLY_FLAGS=-ase16
1005!ENDIF
1006ADEFINES=-QMmips2 -D_M_MRX000=4000 $(ADEFINES)
1007!ELSEIF "$(_TGTCPU)" == "MIPSIV"
1008CFLAGS=$(CFLAGS) -D_MIPS64 -QMmips4 -QMn32 -QMFPE
1009CCOMPILER=clmips -nologo
1010ASSEMBLER=mipsasm -QMmips4
1011!ELSEIF "$(_TGTCPU)" == "MIPSIV_FP"
1012CFLAGS=$(CFLAGS) -D_MIPS64 -QMmips4 -QMn32 -QMFPE-
1013CCOMPILER=clmips -nologo
1014ASSEMBLER=mipsasm -QMmips4
1015!ENDIF
1016CXXCOMPILER=$(CCOMPILER)
1017!IF "$(_TGTCPU)" == "MIPSIV_FP"
1018CVTRES=cvtres -machine:mipsfpu
1019!ELSE
1020CVTRES=cvtres -machine:mips
1021!ENDIF
1022AFLAGS=$(CFLAGS) $(ADEFINES)
1023
1024!ELSEIF "$(_TGTCPUFAMILY)"=="ARM"
1025!IF "$(TGTCPUISANAME)"!="ARMV4T"
1026CCOMPILER=clarm -nologo
1027CXXCOMPILER=$(CCOMPILER)
1028ASSEMBLER=armasm -coff
1029CVTRES=cvtres -machine:arm
1030
1031!IF "$(NOMIPS16CODE)"=="1"
1032CFLAGS=$(CFLAGS) -QRimplicit-import-
1033!ENDIF
1034
1035!IF "$(TGTCPUISANAME)"=="ARMV4I"
1036CFLAGS=$(CFLAGS) -QRarch4T -QRinterwork-return
1037CDEFINES=$(CDEFINES) -DTHUMBSUPPORT
1038ADEFINES=$(ADEFINES) -pd "Thumbing SETL {FALSE}" -pd "Interworking SETL {TRUE}"
1039AFLAGS=-arch 4t
1040!ELSEIF "$(TGTCPUISANAME)"=="ARMV4"
1041ADEFINES=$(ADEFINES) -pd "Thumbing SETL {FALSE}" -pd "Interworking SETL {FALSE}"
1042AFLAGS=-arch 4
1043!ENDIF
1044
1045!IF "$(WINCEPROFILE)" == "1"
1046ADEFINES=$(ADEFINES) -pd "PROFILE SETA 1"
1047!ENDIF
1048AFLAGS=$(AFLAGS) -cr $(ADEFINES) -i $(INCLUDEPATH:;=,) -i arm
1049!IFDEF WINCECOD
1050AFLAGS=$(AFLAGS) -list $(@R).lst -wi 150 -l 0
1051!ENDIF
1052!IF ("$(WINCEDEBUG)" == "debug")
1053AFLAGS=$(AFLAGS) -pd "DEBUG SETA 1"
1054!ENDIF
1055LDEFINES=-merge:.astart=.text $(LDEFINES)
1056ALIGNMENT=4096
1057
1058!ELSEIF "$(TGTCPUISANAME)"=="ARMV4T"
1059!IFDEF BUILDASARM
1060CCOMPILER=clarm -nologo
1061!ELSE
1062CCOMPILER=clthumb -nologo
1063!ENDIF
1064CXXCOMPILER=$(CCOMPILER)
1065ASSEMBLER=armasm -coff
1066_SRCDIR=ARM
1067CVTRES=cvtres -machine:thumb
1068
1069!IF "$(NOMIPS16CODE)"=="1"
1070CFLAGS=$(CFLAGS) -QRimplicit-import-
1071!ENDIF
1072
1073CFLAGS=$(CFLAGS) -QRarch4T -QRinterwork-return
1074CDEFINES=$(CDEFINES) -DTHUMBSUPPORT
1075ADEFINES=$(ADEFINES) -pd "Thumbing SETL {TRUE}" -pd "Interworking SETL {TRUE}"
1076!IF "$(WINCEPROFILE)" == "1"
1077ADEFINES=$(ADEFINES) -pd "PROFILE SETA 1"
1078!ENDIF
1079AFLAGS=-cr $(ADEFINES) -i $(INCLUDEPATH:;=,) -i arm -arch 4t
1080!IFDEF WINCECOD
1081AFLAGS=$(AFLAGS) -list $(@R).lst -wi 150 -l 0
1082!ENDIF
1083!IF ("$(WINCEDEBUG)" == "debug")
1084AFLAGS=$(AFLAGS) -pd "DEBUG SETA 1"
1085!ENDIF
1086LDEFINES=-merge:.astart=.text $(LDEFINES)
1087ALIGNMENT=4096
1088
1089!ENDIF
1090!ENDIF
1091
1092
1093# Warn user about potential license violation building private sources
1094!IF !DEFINED(SKIPBUILD) && !DEFINED(PASS0ONLY) && EXIST($(_SDKROOT)\bin\i386\SrcCheck.exe)
1095!IF [$(_SDKROOT)\bin\i386\SrcCheck -nodlg] == 1
1096CFLAGS=$(CFLAGS) -FI$(_COMMONOAKROOT)\inc\PrivateBuild.h
1097!ENDIF
1098!ENDIF
1099
1100
1101LINKER=link /LARGEADDRESSAWARE
1102LIBRARIAN=link -lib
1103
1104!IF "$(_TGTOS)" == "CE"
1105CVTRES=$(CVTRES) /WINDOWSCE
1106!ENDIF
1107
1108!IFDEF ALIGNMENT
1109LDEFINES=$(LDEFINES) -align:$(ALIGNMENT)
1110!ENDIF
1111
1112LDEFINES=$(LDEFINES) -ignore:4001,4070,4078,4086,4089,4096,4099,4108
1113!IFNDEF NORDATAMERGE
1114LDEFINES=-MERGE:.rdata=.text $(LDEFINES)
1115!ENDIF
1116!IF "$(_TGTOS)" == "CE"
1117!IFNDEF LDEFSTACK
1118LDEFSTACK=/STACK:65536,4096
1119!ENDIF
1120!ENDIF
1121
1122!IFDEF LDEFSTACK
1123LDEFINES=$(LDEFINES) $(LDEFSTACK)
1124!ENDIF
1125
1126!IFNDEF DEFFILE
1127DEFFILE=$(TARGETNAME).def
1128!ENDIF
1129
1130!IFNDEF TARGETDEFNAME
1131TARGETDEFNAME=$(TARGETNAME)
1132!ENDIF
1133
1134!IFDEF PREPROCESSDEFFILE
1135!IF "$(_TGTOS)"=="CE"
1136DEFPREPROCINC=-FI$(_COMMONOAKROOT)\inc\deffile.inc
1137!ELSE
1138DEFPREPROCINC=
1139!ENDIF
1140!ENDIF
1141
1142!IF "$(WINCECOVER)" == "1"
1143CFLAGS=$(CFLAGS) -Zi
1144AFLAGS=$(AFLAGS) -Zi
1145LDEFINES=$(LDEFINES) -debug:full -debugtype:cv,fixup -dbgimplib -incremental:no
1146!ENDIF
1147
1148# make sure the compiler knows about the precompiled header
1149CCOMPILER = $(CCOMPILER) $(PRECOMPILED)
1150CXXCOMPILER = $(CXXCOMPILER) $(PRECOMPILED_CXX)
1151
1152ECHO_PRECOMPILED_MSG=$(CCOMPILER) $(PRECOMPILE_FLAG) \
1153 $(CFLAGS) /Yl$(TARGETNAME) /Yc$(?F) $(HEADERFILE) $(HEADEROBJ)
1154
1155!IF "$(PRECOMPILED_INCLUDE)" != ""
1156$(PRECOMPILED_TARGET) $(HEADEROBJNAME): $(PRECOMPILED_INCLUDE)
1157 @type <<
1158$(ECHO_PRECOMPILED_MSG)
1159<<NOKEEP
1160 @$(CCOMPILER) @<< $(CONLY_FLAGS) $(PRECOMPILED_FLAG)<<
1161$(CFLAGS: =
1162) /Yl$(TARGETNAME) /Yc$(?F) $(HEADERFILE) $(HEADEROBJ)
1163<<NOKEEP
1164#include "$(?F)"
1165<<NOKEEP
1166!ENDIF
1167
1168ECHO_CXX_MSG=$(CXXCOMPILER) $(CONLY_FLAGS) -Fo$@ $(CFLAGS) $(MAKEDIR)\$<
1169ECHO_C_MSG=$(CCOMPILER) $(CONLY_FLAGS) -Fo$@ $(CFLAGS) $(MAKEDIR)\$<
1170
1171######################################################################
1172#
1173# LINT
1174#
1175# Required environment variables:
1176# LINT_TYPE=all | lob | ind
1177# all - processes all $(SOURCES) files at once
1178# lob - processes $(SOURCES) individually and then consolidates
1179# ind - processes $(SOURCES) individually
1180# LINT_PATH=path to PC-lint directory
1181# LINT_APP=name of PC-lint executable (default=lint-nt)
1182#
1183#
1184# Other env. vars:
1185# LINT_EXT=extension of output files (default=Lint)
1186# LINT_OUTPUT=base name of lint output file (default=$(TARGETNAME))
1187# LINT_OPTS=options passed to PC-lint (default=+v -zero)
1188# LINT_COPY2SRC=1 to copy lint output file to sources file directory
1189#
1190#
1191#
1192# LINT_PRECOMPPATH=paths that were used for precompiled header.
1193# - some components generate a pch in
1194# a separate step and use the pch amongst several
1195# subdirs. This env. var. lets one specify the
1196# include paths used for the pch.
1197#
1198######################################################################
1199!IFDEF LINT_TYPE
1200# Convert CDEFINES which may contain /DSYMBOL1, -DSYMBOL2 to
1201# -dSYMBOL1 and -dSYMBOL2 which PC-Lint wants
1202LINT_DEFS=$(CDEFINES:-D=-d)
1203LINT_DEFINES=$(LINT_DEFS:/D=-d)
1204
1205!IF !DEFINED(LINT_OPTS)
1206LINT_OPTS=+v -zero
1207!ENDIF
1208
1209!IF "$(LINT_TYPE)" == "all"
1210LINT_ALL_CMD=$(LINT_APP) $(LINT_OPTS) $(LINT_INCLUDES) $(LINT_DEFINES) -i$(LINT_PATH)\ Wince.lnt -os($(_OBJDIR)\$(LINT_OUTPUT).$(LINT_EXT))
1211LINT_ALL_CMD_MSG=$(LINT_ALL_CMD) $(SOURCES)
1212!ELSEIF "$(LINT_TYPE)" == "lob"
1213LINT_CMD=$(LINT_APP) -u $(LINT_OPTS) $(LINT_INCLUDES) $(LINT_DEFINES) -i$(LINT_PATH)\ Wince.lnt +os($(_OBJDIR)\$(LINT_OUTPUT).$(LINT_EXT)) -oo($@)
1214LINT_CMD_MSG=$(LINT_CMD) $<
1215
1216LINT_CMD2=$(LINT_APP) $(LINT_OPTS) -i$(LINT_PATH)\ Wince.lnt +os($(_OBJDIR)\$(LINT_OUTPUT).$(LINT_EXT))
1217LINT_CMD2_MSG=$(LINT_CMD2)
1218
1219!ELSE
1220LINT_CMD=$(LINT_APP) $(LINT_OPTS) $(LINT_INCLUDES) $(LINT_DEFINES) -i$(LINT_PATH)\ Wince.lnt +os($(_OBJDIR)\$(LINT_OUTPUT).$(LINT_EXT))
1221LINT_CMD_MSG=$(LINT_CMD) $<
1222!ENDIF
1223!ENDIF
1224
1225
1226#
1227# All the implicit rules
1228#
1229{}.cxx{$(_OBJDIR)\}.obj:
1230 @type <<
1231$(ECHO_CXX_MSG)
1232<<NOKEEP
1233 @$(CXXCOMPILER) @<< $(CONLY_FLAGS) -Fo$@
1234$(CFLAGS: =
1235) $(MAKEDIR)\$<
1236<<NOKEEP
1237!IF "$(_XREF_GEN_DATA)" != ""
1238 XrefCppfile $(_TGTCPU) $(WINCEDEBUG) $(MAKEDIR)\$< @<< -DXREF_CPP_FILE $(CONLY_FLAGS) -Fo$@
1239$(CFLAGS: =
1240) $(MAKEDIR)\$<
1241<<NOKEEP
1242!ENDIF
1243
1244
1245
1246{$(_SRCDIR)\}.cxx{$(_OBJDIR)\}.obj:
1247 @type <<
1248$(ECHO_CXX_MSG)
1249<<NOKEEP
1250 @$(CXXCOMPILER) @<< $(CONLY_FLAGS) -Fo$@
1251$(CFLAGS: =
1252) $(MAKEDIR)\$<
1253<<NOKEEP
1254!IF "$(_XREF_GEN_DATA)" != ""
1255 XrefCppfile $(_TGTCPU) $(WINCEDEBUG) $(MAKEDIR)\$< @<< -DXREF_CPP_FILE $(CONLY_FLAGS) -Fo$@
1256$(CFLAGS: =
1257) $(MAKEDIR)\$<
1258<<NOKEEP
1259!ENDIF
1260
1261{..\}.cxx{$(_OBJDIR)\}.obj:
1262 @type <<
1263$(ECHO_CXX_MSG)
1264<<NOKEEP
1265 @$(CXXCOMPILER) @<< $(CONLY_FLAGS) -Fo$@
1266$(CFLAGS: =
1267) $(MAKEDIR)\$<
1268<<NOKEEP
1269!IF "$(_XREF_GEN_DATA)" != ""
1270 XrefCppfile $(_TGTCPU) $(WINCEDEBUG) $(MAKEDIR)\$< @<< -DXREF_CPP_FILE $(CONLY_FLAGS) -Fo$@
1271$(CFLAGS: =
1272) $(MAKEDIR)\$<
1273<<NOKEEP
1274!ENDIF
1275
1276{..\$(_SRCDIR)\}.cxx{$(_OBJDIR)\}.obj:
1277 @type <<
1278$(ECHO_CXX_MSG)
1279<<NOKEEP
1280 @$(CXXCOMPILER) @<< $(CONLY_FLAGS) -Fo$@
1281$(CFLAGS: =
1282) $(MAKEDIR)\$<
1283<<NOKEEP
1284!IF "$(_XREF_GEN_DATA)" != ""
1285 XrefCppfile $(_TGTCPU) $(WINCEDEBUG) $(MAKEDIR)\$< @<< -DXREF_CPP_FILE $(CONLY_FLAGS) -Fo$@
1286$(CFLAGS: =
1287) $(MAKEDIR)\$<
1288<<NOKEEP
1289!ENDIF
1290
1291{}.cpp{$(_OBJDIR)\}.obj:
1292 @type <<
1293$(ECHO_CXX_MSG)
1294<<NOKEEP
1295 @$(CXXCOMPILER) @<< $(CONLY_FLAGS) -Fo$@
1296$(CFLAGS: =
1297) $(MAKEDIR)\$<
1298<<NOKEEP
1299!IF "$(_XREF_GEN_DATA)" != ""
1300 XrefCppfile $(_TGTCPU) $(WINCEDEBUG) $(MAKEDIR)\$< @<< -DXREF_CPP_FILE $(CONLY_FLAGS) -Fo$@
1301$(CFLAGS: =
1302) $(MAKEDIR)\$<
1303<<NOKEEP
1304!ENDIF
1305
1306
1307{$(_SRCDIR)\}.cpp{$(_OBJDIR)\}.obj:
1308 @type <<
1309$(ECHO_CXX_MSG)
1310<<NOKEEP
1311 @$(CXXCOMPILER) @<< $(CONLY_FLAGS) -Fo$@
1312$(CFLAGS: =
1313) $(MAKEDIR)\$<
1314<<NOKEEP
1315!IF "$(_XREF_GEN_DATA)" != ""
1316 XrefCppfile $(_TGTCPU) $(WINCEDEBUG) $(MAKEDIR)\$< @<< -DXREF_CPP_FILE $(CONLY_FLAGS) -Fo$@
1317$(CFLAGS: =
1318) $(MAKEDIR)\$<
1319<<NOKEEP
1320!ENDIF
1321
1322{..\}.cpp{$(_OBJDIR)\}.obj:
1323 @type <<
1324$(ECHO_CXX_MSG)
1325<<NOKEEP
1326 @$(CXXCOMPILER) @<< $(CONLY_FLAGS) -Fo$@
1327$(CFLAGS: =
1328) $(MAKEDIR)\$<
1329<<NOKEEP
1330!IF "$(_XREF_GEN_DATA)" != ""
1331 XrefCppfile $(_TGTCPU) $(WINCEDEBUG) $(MAKEDIR)\$< @<< -DXREF_CPP_FILE $(CONLY_FLAGS) -Fo$@
1332$(CFLAGS: =
1333) $(MAKEDIR)\$<
1334<<NOKEEP
1335!ENDIF
1336
1337{..\$(_SRCDIR)\}.cpp{$(_OBJDIR)\}.obj:
1338 @type <<
1339$(ECHO_CXX_MSG)
1340<<NOKEEP
1341 @$(CXXCOMPILER) @<< $(CONLY_FLAGS) -Fo$@
1342$(CFLAGS: =
1343) $(MAKEDIR)\$<
1344<<NOKEEP
1345!IF "$(_XREF_GEN_DATA)" != ""
1346 XrefCppfile $(_TGTCPU) $(WINCEDEBUG) $(MAKEDIR)\$< @<< -DXREF_CPP_FILE $(CONLY_FLAGS) -Fo$@
1347$(CFLAGS: =
1348) $(MAKEDIR)\$<
1349<<NOKEEP
1350!ENDIF
1351
1352{}.c{$(_OBJDIR)\}.obj:
1353 @type <<
1354$(ECHO_C_MSG)
1355<<NOKEEP
1356 @$(CCOMPILER) @<< $(CONLY_FLAGS) -Fo$@
1357$(CFLAGS: =
1358) $(MAKEDIR)\$<
1359<<NOKEEP
1360!IF "$(_XREF_GEN_DATA)" != ""
1361 XrefCppfile $(_TGTCPU) $(WINCEDEBUG) $(MAKEDIR)\$< @<< -DXREF_CPP_FILE $(CONLY_FLAGS) -Fo$@
1362$(CFLAGS: =
1363) $(MAKEDIR)\$<
1364<<NOKEEP
1365!ENDIF
1366
1367{$(_SRCDIR)\}.c{$(_OBJDIR)\}.obj:
1368 @type <<
1369$(ECHO_C_MSG)
1370<<NOKEEP
1371 @$(CCOMPILER) @<< $(CONLY_FLAGS) -Fo$@
1372$(CFLAGS: =
1373) $(MAKEDIR)\$<
1374<<NOKEEP
1375!IF "$(_XREF_GEN_DATA)" != ""
1376 XrefCppfile $(_TGTCPU) $(WINCEDEBUG) $(MAKEDIR)\$< @<< -DXREF_CPP_FILE $(CONLY_FLAGS) -Fo$@
1377$(CFLAGS: =
1378) $(MAKEDIR)\$<
1379<<NOKEEP
1380!ENDIF
1381
1382{..\}.c{$(_OBJDIR)\}.obj:
1383 @type <<
1384$(ECHO_C_MSG)
1385<<NOKEEP
1386 @$(CCOMPILER) @<< $(CONLY_FLAGS) -Fo$@ $(MAKEDIR)\$<
1387$(CFLAGS: =
1388)
1389<<NOKEEP
1390!IF "$(_XREF_GEN_DATA)" != ""
1391 XrefCppfile $(_TGTCPU) $(WINCEDEBUG) $(MAKEDIR)\$< @<< -DXREF_CPP_FILE $(CONLY_FLAGS) -Fo$@
1392$(CFLAGS: =
1393) $(MAKEDIR)\$<
1394<<NOKEEP
1395!ENDIF
1396
1397{..\$(_SRCDIR)\}.c{$(_OBJDIR)\}.obj:
1398 @type <<
1399$(ECHO_C_MSG)
1400<<NOKEEP
1401 @$(CCOMPILER) @<< $(CONLY_FLAGS) -Fo$@ $(MAKEDIR)\$<
1402$(CFLAGS: =
1403)
1404<<NOKEEP
1405!IF "$(_XREF_GEN_DATA)" != ""
1406 XrefCppfile $(_TGTCPU) $(WINCEDEBUG) $(MAKEDIR)\$< @<< -DXREF_CPP_FILE $(CONLY_FLAGS) -Fo$@
1407$(CFLAGS: =
1408) $(MAKEDIR)\$<
1409<<NOKEEP
1410!ENDIF
1411
1412
1413#
1414# LINT dependency rules start
1415#
1416
1417!IF DEFINED(LINT_TYPE) && ( "$(LINT_TYPE)" != "all" )
1418
1419{}.cxx{$(_OBJDIR)\}.lob:
1420!IF "$(LINT_TYPE)" != "lob"
1421 @echo done >$@
1422!ENDIF
1423 @type <<
1424$(LINT_CMD) $<
1425<<NOKEEP
1426 @$(LINT_CMD) $<
1427
1428{$(_SRCDIR)\}.cxx{$(_OBJDIR)\}.lob:
1429!IF "$(LINT_TYPE)" != "lob"
1430 @echo done >$@
1431!ENDIF
1432 @type <<
1433$(LINT_CMD) $<
1434<<NOKEEP
1435 @$(LINT_CMD) $<
1436
1437{..\}.cxx{$(_OBJDIR)\}.lob:
1438!IF "$(LINT_TYPE)" != "lob"
1439 @echo done >$@
1440!ENDIF
1441 @type <<
1442$(LINT_CMD) $<
1443<<NOKEEP
1444 @$(LINT_CMD) $<
1445
1446{..\$(_SRCDIR)\}.cxx{$(_OBJDIR)\}.lob:
1447!IF "$(LINT_TYPE)" != "lob"
1448 @echo done >$@
1449!ENDIF
1450 @type <<
1451$(LINT_CMD) $<
1452<<NOKEEP
1453 @$(LINT_CMD) $<
1454
1455{}.cpp{$(_OBJDIR)\}.lob:
1456!IF "$(LINT_TYPE)" != "lob"
1457 @echo done >$@
1458!ENDIF
1459 @type <<
1460$(LINT_CMD) $<
1461<<NOKEEP
1462 @$(LINT_CMD) $<
1463
1464{$(_SRCDIR)\}.cpp{$(_OBJDIR)\}.lob:
1465!IF "$(LINT_TYPE)" != "lob"
1466 @echo done >$@
1467!ENDIF
1468 @type <<
1469$(LINT_CMD) $<
1470<<NOKEEP
1471 @$(LINT_CMD) $<
1472
1473{..\}.cpp{$(_OBJDIR)\}.lob:
1474!IF "$(LINT_TYPE)" != "lob"
1475 @echo done >$@
1476!ENDIF
1477 @type <<
1478$(LINT_CMD) $<
1479<<NOKEEP
1480 @$(LINT_CMD) $<
1481
1482{..\$(_SRCDIR)\}.cpp{$(_OBJDIR)\}.lob:
1483!IF "$(LINT_TYPE)" != "lob"
1484 @echo done >$@
1485!ENDIF
1486 @type <<
1487$(LINT_CMD) $<
1488<<NOKEEP
1489 @$(LINT_CMD) $<
1490
1491{}.c{$(_OBJDIR)\}.lob:
1492!IF "$(LINT_TYPE)" != "lob"
1493 @echo done >$@
1494!ENDIF
1495 @type <<
1496$(LINT_CMD) $<
1497<<NOKEEP
1498 @$(LINT_CMD) $<
1499
1500{$(_SRCDIR)\}.c{$(_OBJDIR)\}.lob:
1501!IF "$(LINT_TYPE)" != "lob"
1502 @echo done >$@
1503!ENDIF
1504 @type <<
1505$(LINT_CMD) $<
1506<<NOKEEP
1507 @$(LINT_CMD) $<
1508
1509{..\}.c{$(_OBJDIR)\}.lob:
1510!IF "$(LINT_TYPE)" != "lob"
1511 @echo done >$@
1512!ENDIF
1513 @type <<
1514$(LINT_CMD) $<
1515<<NOKEEP
1516 @$(LINT_CMD) $<
1517
1518{..\$(_SRCDIR)\}.c{$(_OBJDIR)\}.lob:
1519!IF "$(LINT_TYPE)" != "lob"
1520 @echo done >$@
1521!ENDIF
1522 @type <<
1523$(LINT_CMD) $<
1524<<NOKEEP
1525 @$(LINT_CMD) $<
1526
1527!ENDIF
1528
1529#
1530# LINT dependency rules end
1531#
1532
1533
1534
1535.cxx.i:
1536 @type <<
1537$(ECHO_CXX_MSG)
1538<<NOKEEP
1539 @$(CXXCOMPILER) @<< $(CONLY_FLAGS) -P -Fo$@
1540$(CFLAGS: =
1541) $(MAKEDIR)\$<
1542<<NOKEEP
1543
1544.cpp.i:
1545 @type <<
1546$(ECHO_CXX_MSG)
1547<<NOKEEP
1548 @$(CXXCOMPILER) @<< $(CONLY_FLAGS) -P -Fo$@
1549$(CFLAGS: =
1550) $(MAKEDIR)\$<
1551<<NOKEEP
1552
1553.c.i:
1554 @type <<
1555$(ECHO_C_MSG)
1556<<NOKEEP
1557 @$(CCOMPILER) @<< $(CONLY_FLAGS) -P -Fo$@
1558$(CFLAGS: =
1559) $(MAKEDIR)\$<
1560<<NOKEEP
1561
1562
1563{}.odl.tlb:
1564 $(MIDLCOMPILER) \
1565 -Zp8 \
1566 $(CINCLUDES) \
1567 /tlb $@ \
1568 /h $(PASS0_HEADERDIR)\$(<:.odl=.h) \
1569 $(MKTYPLIBFLAGS) \
1570 -cpp_cmd $(HOSTCOMPILER) \
1571 $(CDEFINES) \
1572 $(MIDL_MKTYPLIB_FLAGS) \
1573 $(MAKEDIR)\$<
1574
1575{$(_TGTCPUFAMILY)\}.odl.tlb:
1576 $(MIDLCOMPILER) \
1577 -Zp8 \
1578 $(CINCLUDES) \
1579 /tlb $@ \
1580 /h $(PASS0_HEADERDIR)\$(<:.odl=.h) \
1581 $(MKTYPLIBFLAGS) \
1582 -cpp_cmd $(HOSTCOMPILER) \
1583 $(CDEFINES) \
1584 $(MIDL_MKTYPLIB_FLAGS) \
1585 $(MAKEDIR)\$<
1586
1587{..\}.odl.tlb:
1588 $(MIDLCOMPILER) \
1589 -Zp8 \
1590 $(CINCLUDES) \
1591 /tlb $@ \
1592 /h $(PASS0_HEADERDIR)\$(<:.odl=.h) \
1593 $(MKTYPLIBFLAGS) \
1594 -cpp_cmd $(HOSTCOMPILER) \
1595 $(CDEFINES) \
1596 $(MIDL_MKTYPLIB_FLAGS) \
1597 $(MAKEDIR)\$<
1598
1599{..\$(_TGTCPUFAMILY)\}.odl.tlb:
1600 $(MIDLCOMPILER) \
1601 -Zp8 \
1602 $(CINCLUDES) \
1603 /tlb $@ \
1604 /h $(PASS0_HEADERDIR)\$(<:.odl=.h) \
1605 $(MKTYPLIBFLAGS) \
1606 -cpp_cmd $(HOSTCOMPILER) \
1607 $(CDEFINES) \
1608 $(MIDL_MKTYPLIB_FLAGS) \
1609 $(MAKEDIR)\$<
1610
1611! IFNDEF NO_PASS0_RULES
1612
1613{}.idl{$(PASS0_HEADERDIR)}.h:
1614 $(MIDLCOMPILER) \
1615 -Zp8 \
1616 $(CINCLUDES) \
1617 -char unsigned \
1618 -ms_ext -c_ext \
1619 -proxy $(PASS0_SOURCEDIR)\$(<:.idl=_p.c) \
1620 -dlldata $(PASS0_SOURCEDIR)\dlldata.c \
1621 -iid $(MIDL_UUIDDIR)\$(<:.idl=_i.c) \
1622 -header $@ \
1623 -cpp_cmd $(HOSTCOMPILER) \
1624 $(CDEFINES) \
1625 $(MIDL_FLAGS) \
1626 $(MIDL_OPTIMIZATION) \
1627 $<
1628
1629{..\}.idl{$(PASS0_HEADERDIR)}.h:
1630 $(MIDLCOMPILER) \
1631 -Zp8 \
1632 $(CINCLUDES) \
1633 -char unsigned \
1634 -ms_ext -c_ext \
1635 -proxy $(PASS0_SOURCEDIR)\$(<F:.idl=_p.c) \
1636 -dlldata $(PASS0_SOURCEDIR)\dlldata.c \
1637 -iid $(MIDL_UUIDDIR)\$(<F:.idl=_i.c) \
1638 -header $@ \
1639 -cpp_cmd $(HOSTCOMPILER) \
1640 $(CDEFINES) \
1641 $(MIDL_FLAGS) \
1642 $(MIDL_OPTIMIZATION) \
1643 $<
1644
1645! IFDEF PASS0_SOURCEDIR
1646MC_SOURCEDIR=$(PASS0_SOURCEDIR)
1647! ELSE
1648MC_SOURCEDIR=$(PASS0_CLIENTDIR)
1649! ENDIF
1650
1651{..\}.mc{$(PASS0_HEADERDIR)}.h:
1652 $(MC) -h $(PASS0_HEADERDIR) -r $(MC_SOURCEDIR) $(MC_FLAGS) $<
1653
1654.mc{$(PASS0_HEADERDIR)}.h:
1655 $(MC) -h $(PASS0_HEADERDIR) -r $(MC_SOURCEDIR) $(MC_FLAGS) $<
1656
1657
1658! ENDIF
1659
1660!IF "$(_TGTCPUFAMILY)"=="MIPS"
1661{}.s{$(_OBJDIR)\}.obj:
1662 $(ASSEMBLER) $(MAKEDIR)\$< -Fo$@ $(AFLAGS)
1663
1664{$(_SRCDIR)\}.s{$(_OBJDIR)\}.obj:
1665 $(ASSEMBLER) -Fo$@ $(AFLAGS) $(MAKEDIR)\$<
1666
1667{..\}.s{$(_OBJDIR)\}.obj:
1668 $(ASSEMBLER) $(MAKEDIR)\$< -Fo$@ $(AFLAGS)
1669
1670{..\$(_SRCDIR)\}.s{$(_OBJDIR)\}.obj:
1671 $(ASSEMBLER) -Fo$@ $(AFLAGS) $(MAKEDIR)\$<
1672
1673!ELSEIF "$(_TGTCPUFAMILY)"=="x86"
1674{}.asm{$(_OBJDIR)\}.obj:
1675 $(ASSEMBLER) -Fo$@ $(AFLAGS) $(MAKEDIR)\$<
1676
1677{$(_SRCDIR)\}.asm{$(_OBJDIR)\}.obj:
1678 $(ASSEMBLER) -Fo$@ $(AFLAGS) $(MAKEDIR)\$<
1679
1680{..\}.asm{$(_OBJDIR)\}.obj:
1681 $(ASSEMBLER) -Fo$@ $(AFLAGS) $(MAKEDIR)\$<
1682
1683{..\$(_SRCDIR)\}.asm{$(_OBJDIR)\}.obj:
1684 $(ASSEMBLER) -Fo$@ $(AFLAGS) $(MAKEDIR)\$<
1685
1686!ELSEIF "$(_TGTCPUFAMILY)"=="SH"
1687{}.src{$(_OBJDIR)\}.obj:
1688 @set INCLUDE=$(INCLUDEPATH);shx;sh
1689 $(ASSEMBLER) -Fo$@ $(AFLAGS) $(MAKEDIR)\$<
1690
1691{$(_SRCDIR)\}.src{$(_OBJDIR)\}.obj:
1692 @set INCLUDE=$(INCLUDEPATH);shx;sh
1693 $(ASSEMBLER) -Fo$@ $(AFLAGS) $(MAKEDIR)\$<
1694
1695{..\}.src{$(_OBJDIR)\}.obj:
1696 @set INCLUDE=$(INCLUDEPATH);shx;sh
1697 $(ASSEMBLER) -Fo$@ $(AFLAGS) $(MAKEDIR)\$<
1698
1699{..\$(_SRCDIR)\}.src{$(_OBJDIR)\}.obj:
1700 @set INCLUDE=$(INCLUDEPATH);shx;sh
1701 $(ASSEMBLER) -Fo$@ $(AFLAGS) $(MAKEDIR)\$<
1702
1703!ELSEIF ("$(_TGTCPUFAMILY)"=="ARM") || ("$(_TGTCPUFAMILY)"=="THUMB")
1704{}.s{$(_OBJDIR)\}.obj:
1705 $(ASSEMBLER) $(AFLAGS) $(MAKEDIR)\$< $@
1706
1707{$(_SRCDIR)\}.s{$(_OBJDIR)\}.obj:
1708 $(ASSEMBLER) $(AFLAGS) $(MAKEDIR)\$< $@
1709
1710{..\}.s{$(_OBJDIR)\}.obj:
1711 $(ASSEMBLER) $(AFLAGS) $(MAKEDIR)\$< $@
1712
1713{..\$(_SRCDIR)\}.s{$(_OBJDIR)\}.obj:
1714 $(ASSEMBLER) $(AFLAGS) $(MAKEDIR)\$< $@
1715
1716!ENDIF
1717
1718!IF ("$(IRC_DEPENDENT)" != "0" && "$(IRC_DEPENDENT)" != "") || ("$(SPECIAL_IRC_DEPENDENT)" != "0" && "$(SPECIAL_IRC_DEPENDENT)" != "")
1719#
1720# Added for internationalization
1721#
1722{}.rc{$(_OBJDIR)\}.ire:
1723 echo > $(_OBJDIR)\$(@R).ire
1724
1725{..\}.rc{$(_OBJDIR)\}.ire:
1726 echo > $(_OBJDIR)\$(@R).ire
1727
1728{$(_OBJDIR)\}.ire{$(_OBJDIR)\}.res:
1729 $(RCOMPILER) $(RCFLAGS) -fo$(@R).tmp $(<B).rc
1730 $(CVTRES) $(@R).tmp -readonly -out:$@
1731 @-erase $(@R).tmp
1732
1733.res.rbj:
1734 $(CVTRES) $< -readonly -out:$@
1735
1736!ELSE
1737
1738.res.rbj:
1739 $(CVTRES) $< -readonly -out:$@
1740
1741{}.rc{$(_OBJDIR)\}.res:
1742 $(RCOMPILER) $(RCFLAGS) -fo$@ $(MAKEDIR)\$<
1743
1744{..\}.rc{$(_OBJDIR)\}.res:
1745 $(RCOMPILER) $(RCFLAGS) -fo$@ $(MAKEDIR)\$<
1746
1747!ENDIF
1748
1749#
1750# And explicit rules for the targets
1751# the -map line here used to be conditional on WINCEMAP but now
1752# we always want to generate map files since they are useful, and in particular romimage
1753# reads them for some (nk*) to find some symbols
1754#
1755# -savebaserelocations will only generate a .REL file in the case where a
1756# .RELOC section is also being emitted into the PE (when /FIXED:NO is set)
1757#
1758$(_RELEASEDIR)\$(TARGETNAME).exe: $(TARGETOBJFILES) $(TARGETLIBS)
1759 set LIB=$(LIBPATH)
1760 $(LINKER) -out:$(_RELEASEDIR)\$(TARGETNAME).exe $(MACHINEOPTION) @<<
1761-nodefaultlib
1762$(EXEENTRYOPTION)
1763$(LINKER_DEBUG) -pdb:$(TARGET_PDB_NAME)
1764-map:$(_RELEASEDIR)\$(TARGETNAME).map
1765!IF "$(_TGTOS)"=="CE"
1766-savebaserelocations:$(_RELEASEDIR)\$(TARGETNAME).rel
1767!ENDIF
1768$(LDEFINES)
1769$(LINKER_SUBSYSTEM)
1770-base:$(EXEBASE)
1771$(TARGETOBJFILES)
1772$(TARGETLIBS)
1773<<NOKEEP
1774!IF "$(BUILD_SIGN)" == "1"
1775 signbin $(_RELEASEDIR)\$(TARGETNAME).exe
1776!ENDIF
1777
1778!IF DEFINED(LINT_TYPE)
1779!IF "$(LINT_TYPE)" == "lob"
1780 @type <<
1781$(LINT_CMD2_MSG) $(_OBJDIR)\*.lob
1782<<NOKEEP
1783 @echo $(LINT_CMD2)
1784 @$(LINT_CMD2) $(_OBJDIR)\*.lob
1785!ENDIF
1786!IFDEF LINT_COPY2SRC
1787 copy $(_OBJDIR)\$(LINT_OUTPUT).$(LINT_EXT) .
1788!ENDIF
1789!ENDIF
1790
1791
1792!IF "$(WINCEREL)" == "1"
1793 -$(__COPYCMD) $(_RELEASEDIR)\$(TARGETNAME).exe $(_FLATRELEASEDIR)\$(TARGETNAME).exe
1794 -$(__COPYCMD) $(_RELEASEDIR)\$(TARGETNAME).map $(_FLATRELEASEDIR)\$(TARGETNAME).map
1795 -$(__COPYCMD) $(TARGET_PDB_NAME) $(_FLATRELEASEDIR)
1796 -if exist $(_RELEASEDIR)\$(TARGETNAME).rel $(__COPYCMD) $(_RELEASEDIR)\$(TARGETNAME).rel $(_FLATRELEASEDIR)\$(TARGETNAME).rel
1797!ENDIF
1798!IFDEF CPPBROWSE
1799!IFNDEF NO_AUTOMATIC_BSC
1800 bscmake /n /o $(_RELEASEDIR)\$(TARGETNAME).bsc $(TEMP)\*.sbr
1801!ENDIF
1802!ENDIF
1803
1804!IF "$(NOEXPORTS)" != "1"
1805EXPORTFILE=$(_RELEASELIBDIR)\$(TARGETNAME).exp
1806DEFFILEFLAG=-def:$(DEFFILE)
1807!ELSE
1808EXPORTFILE=
1809DEFFILEFLAG=
1810!ENDIF
1811
1812# the -map line here used to be conditional on WINCEMAP but now
1813# we always want to generate map files since they are useful, and in particular romimage
1814# reads them for some (nk*) to find some symbols
1815!IF "$(DEFFILE)" == "NO_DEF_FILE"
1816$(_RELEASEDIR)\$(TARGETNAME).dll: $(TARGETOBJFILES) $(TARGETLIBS) $(SOURCELIBS)
1817 set LIB=$(LIBPATH)
1818 $(LINKER) -out:$(_RELEASEDIR)\$(TARGETNAME).dll -dll $(MACHINEOPTION) @<<
1819-nodefaultlib
1820$(DLLENTRYOPTION)
1821$(LINKER_DEBUG) -pdb:$(TARGET_PDB_NAME)
1822-map:$(_RELEASEDIR)\$(TARGETNAME).map
1823!IF "$(_TGTOS)"=="CE"
1824-savebaserelocations:$(_RELEASEDIR)\$(TARGETNAME).rel
1825!ENDIF
1826$(LDEFINES)
1827$(LINKER_SUBSYSTEM)
1828/base:$(DLLBASE)
1829$(TARGETOBJFILES)
1830$(SOURCELIBS)
1831$(TARGETLIBS)
1832<<NOKEEP
1833!ELSE
1834$(_RELEASEDIR)\$(TARGETNAME).dll: $(TARGETOBJFILES) $(TARGETLIBS) $(_RELEASELIBDIR)\$(TARGETNAME).lib $(EXPORTFILE) $(SOURCELIBS)
1835 set LIB=$(LIBPATH)
1836 $(LINKER) -out:$(_RELEASEDIR)\$(TARGETNAME).dll -dll $(MACHINEOPTION) @<<
1837-nodefaultlib
1838$(DLLENTRYOPTION)
1839$(LINKER_DEBUG) -pdb:$(TARGET_PDB_NAME)
1840-map:$(_RELEASEDIR)\$(TARGETNAME).map
1841!IF "$(_TGTOS)"=="CE"
1842-savebaserelocations:$(_RELEASEDIR)\$(TARGETNAME).rel
1843!ENDIF
1844$(LDEFINES)
1845$(LINKER_SUBSYSTEM)
1846/base:$(DLLBASE)
1847$(TARGETOBJFILES)
1848$(SOURCELIBS)
1849$(TARGETLIBS)
1850$(EXPORTFILE)
1851<<NOKEEP
1852!ENDIF
1853!IF "$(BUILD_SIGN)" == "1"
1854 signbin $(_RELEASEDIR)\$(TARGETNAME).dll
1855!ENDIF
1856
1857!IF "$(CPL)"=="1"
1858 copy $(_RELEASEDIR)\$(TARGETNAME).dll $(_RELEASEDIR)\$(TARGETNAME).cpl
1859 @del $(_RELEASEDIR)\$(TARGETNAME).dll
1860!ELSEIF "$(MUI)"=="1"
1861 copy $(_RELEASEDIR)\$(TARGETNAME).dll $(_RELEASEDIR)\$(TARGETNAME).mui
1862 @del $(_RELEASEDIR)\$(TARGETNAME).dll
1863!ENDIF
1864!IF "$(WINCEREL)" == "1"
1865 -$(__COPYCMD) $(_RELEASEDIR)\$(TARGETNAME).map $(_FLATRELEASEDIR)\$(TARGETNAME).map
1866 -$(__COPYCMD) $(TARGET_PDB_NAME) $(_FLATRELEASEDIR)
1867 -if exist $(_RELEASEDIR)\$(TARGETNAME).rel $(__COPYCMD) $(_RELEASEDIR)\$(TARGETNAME).rel $(_FLATRELEASEDIR)\$(TARGETNAME).rel
1868!IF "$(CPL)"=="1"
1869 -$(__COPYCMD) $(_RELEASEDIR)\$(TARGETNAME).cpl $(_FLATRELEASEDIR)\$(TARGETNAME).cpl
1870!ELSEIF "$(MUI)"=="1"
1871 -$(__COPYCMD) $(_RELEASEDIR)\$(TARGETNAME).mui $(_FLATRELEASEDIR)\$(TARGETNAME).mui
1872!ELSE
1873 -$(__COPYCMD) $(_RELEASEDIR)\$(TARGETNAME).dll $(_FLATRELEASEDIR)\$(TARGETNAME).dll
1874!ENDIF
1875!ENDIF
1876
1877!IF "$(TARGETTYPE)" == "LIBRARY"
1878$(_RELEASELIBDIR)\$(TARGETNAME).lib: $(TARGETOBJFILES) $(SOURCELIBS)
1879 $(LIBRARIAN) -ignore:4001 -out:$(_RELEASELIBDIR)\$(TARGETNAME).lib $(MACHINEOPTION) @<<
1880$(LIBDEFINES)
1881-nologo
1882-nodefaultlib
1883$(LINKER_SUBSYSTEM)
1884$(TARGETOBJFILES)
1885$(SOURCELIBS)
1886<<NOKEEP
1887!IF "$(SOURCEPDBS)" != ""
1888 -@for %%a in ($(SOURCEPDBS)) do @copy %%a $(_RELEASELIBDIR)
1889!ENDIF
1890!IF "$(SOURCELIBS)" != ""
1891!IF "$(NOCOPYSOURCELIBPDB)" == ""
1892 -@for %%a in ($(SOURCELIBS:.lib=.pdb)) do @copy %%a $(_RELEASELIBDIR)
1893!ENDIF
1894!ENDIF
1895
1896!IF DEFINED(LINT_TYPE)
1897!IF "$(LINT_TYPE)" == "lob"
1898 @type <<
1899$(LINT_CMD2_MSG) $(_OBJDIR)\*.lob
1900<<NOKEEP
1901 @$(LINT_CMD2) $(_OBJDIR)\*.lob
1902!ENDIF
1903!IFDEF LINT_COPY2SRC
1904 copy $(_OBJDIR)\$(LINT_OUTPUT).$(LINT_EXT) .
1905!ENDIF
1906!ENDIF
1907
1908!ENDIF
1909!if "$(_XREF_GEN_DATA)" != ""
1910 XrefSourcesFile $(_TGTCPU) $(WINCEDEBUG)
1911 XrefSlib $(_TGTCPU) $(WINCEDEBUG) $(TARGETNAME) $(_RELEASELIBDIR)\$(TARGETNAME).lib $(TARGETOBJFILES) $(SOURCELIBS)
1912!endif
1913
1914!IF "$(TARGETTYPE)" == "DYNLINK"
1915!IFDEF PREPROCESSDEFFILE
1916$(_RELEASELIBDIR)\$(TARGETNAME).lib $(EXPORTFILE): $(_RELEASELIBDIR)\$(TARGETDEFNAME).def $(TARGETOBJFILES) $(SOURCELIBS)
1917 $(LIBRARIAN) -nodefaultlib -ignore:4001 -out:$(_RELEASELIBDIR)\$(TARGETNAME).lib \
1918 -def:$(_RELEASELIBDIR)\$(TARGETDEFNAME).def $(MACHINEOPTION) @<<
1919$(LIBDEFINES)
1920$(LINKER_SUBSYSTEM)
1921$(TARGETOBJFILES)
1922$(SOURCELIBS) ..\ce\hif\sdio\obj\$(_TGTCPU)\$(WINCEDEBUG)\ndisload.obj
1923<<NOKEEP
1924!if "$(_XREF_GEN_DATA)" != ""
1925 XrefDefFile $(_OBJDIR)\$(TARGETNAME).def
1926!endif
1927!ELSE
1928$(_RELEASELIBDIR)\$(TARGETNAME).lib $(EXPORTFILE): $(DEFFILE) $(TARGETOBJFILES) $(SOURCELIBS)
1929 $(LIBRARIAN) -nodefaultlib -ignore:4001 -out:$(_RELEASELIBDIR)\$(TARGETNAME).lib \
1930 $(DEFFILEFLAG) $(MACHINEOPTION) @<<
1931$(LIBDEFINES)
1932$(LINKER_SUBSYSTEM)
1933$(TARGETOBJFILES)
1934$(SOURCELIBS)
1935<<NOKEEP
1936!if "$(_XREF_GEN_DATA)" != ""
1937 XrefDefFile $(DEFFILE)
1938!endif
1939
1940!IFDEF LINT_TYPE
1941!IF "$(LINT_TYPE)" == "lob"
1942 @type <<
1943$(LINT_CMD2_MSG) $(_OBJDIR)\*.lob
1944<<NOKEEP
1945 @$(LINT_CMD2) $(_OBJDIR)\*.lob
1946!ENDIF
1947!IFDEF LINT_COPY2SRC
1948 copy $(_OBJDIR)\$(LINT_OUTPUT).$(LINT_EXT) .
1949!ENDIF
1950!ENDIF
1951
1952!ENDIF
1953
1954!IFDEF CPPBROWSE
1955!IFNDEF NO_AUTOMATIC_BSC
1956 bscmake /n /o $(_RELEASEDIR)\$(TARGETNAME).bsc $(TEMP)\*.sbr
1957!ENDIF
1958!ENDIF
1959!ENDIF
1960
1961!IFDEF PREPROCESSDEFFILE
1962$(_RELEASELIBDIR)\$(TARGETDEFNAME).def: $(_OBJDIR)\$(TARGETDEFNAME).def
1963 $(DEFPREPROCESS) $(DEFPREPROCINC) -Tc$(DEFFILE) > $@
1964$(_OBJDIR)\$(TARGETDEFNAME).def: $(DEFFILE)
1965 $(DEFPREPROCESS) $(DEFPREPROCINC) -Tc$(DEFFILE) > $@
1966!if "$(_XREF_GEN_DATA)" != ""
1967 XrefDefFile $@
1968!endif
1969!ELSE
1970$(_RELEASELIBDIR)\$(TARGETDEFNAME).def:
1971 copy $(DEFFILE) $@ > nul
1972!if "$(_XREF_GEN_DATA)" != ""
1973 XrefDefFile $@
1974!endif
1975!ENDIF
1976
1977!IFDEF COPYRES
1978!IF "$(TARGETRESNAME)" == ""
1979!IF "$(RESFILE)" == ""
1980$(_RELEASELIBDIR)\$(TARGETNAME).res: $(_OBJDIR)\$(TARGETNAME).res
1981 copy $? $@
1982!ELSE
1983$(_RELEASELIBDIR)\$(TARGETNAME).res: $(_OBJDIR)\$(RESFILE)
1984 copy $? $@
1985!ENDIF
1986!ELSE
1987!IF "$(RESFILE)" == ""
1988$(_RELEASELIBDIR)\$(TARGETRESNAME).res: $(_OBJDIR)\$(TARGETNAME).res
1989 copy $? $@
1990!ELSE
1991$(_RELEASELIBDIR)\$(TARGETRESNAME).res: $(_OBJDIR)\$(RESFILE)
1992 copy $? $@
1993!ENDIF
1994!ENDIF
1995!ENDIF
1996
1997!IF DEFINED(LINT_TYPE) && ( "$(LINT_TYPE)" == "all" )
1998$(_OBJDIR)\$(LINT_OUTPUT).$(LINT_EXT): $(TARGETOBJFILES)
1999 @type <<
2000$(LINT_ALL_CMD) $(SOURCES)
2001<<NOKEEP
2002 @$(LINT_ALL_CMD) $(SOURCES)
2003!IFDEF LINT_COPY2SRC
2004 copy $(_OBJDIR)\$(LINT_OUTPUT).$(LINT_EXT) .
2005!ENDIF
2006!ENDIF
2007
2008
2009!IFDEF WINCETARGETFILES
2010!IF EXIST(.\makefile.inc)
2011!INCLUDE .\makefile.inc
2012!ENDIF
2013!ELSE
2014!IFDEF WINCETARGETFILE0
2015!IF EXIST(.\makefile.inc)
2016!INCLUDE .\makefile.inc
2017!ENDIF
2018!ELSE
2019#
2020# Added for internationalization
2021#
2022!IF "$(SPECIAL_IRC_DEPENDENT)" != "0" && "$(SPECIAL_IRC_DEPENDENT)" != ""
2023!IF EXIST(.\makefile.inc)
2024!INCLUDE .\makefile.inc
2025!ENDIF
2026!ENDIF
2027!ENDIF
2028!ENDIF
2029
2030!IF EXIST($(_PROJECTROOT)\oak\misc\makefilepost.inc)
2031!INCLUDE $(_PROJECTROOT)\oak\misc\makefilepost.inc
2032!ENDIF
2033