|
|
1.1 root 1: !IF 0
2:
3: Copyright (c) 1989 Microsoft Corporation
4:
5: Module Name:
6:
7: makefile.def
8:
9: Abstract:
10:
11: This is the standard makefile for the components of the NT project.
12: It includes the following files:
13:
14: .\sources. - developer supplies this file. It defines the
15: required TARGETNAME, TARGETPATH, TARGETTYPE and
16: SOURCES as well as optional macros that control
17: the behavior of the compiler and linker:
18:
19: obj\_objects.mac - built by BUILD.EXE from .\sources.
20:
21:
22: Targets:
23:
24: all - Builds all targets in this make file
25:
26: clean - Erase all targets that can be produced by this make
27: file, ignoring errors. Also rebuilds the depend target.
28:
29: depend - Rebuilts source file dependencies, using BUILD.EXE tool
30:
31:
32: Useful Variables Set:
33:
34: CPUTYPE={I386|MIPS|ALPHA}
35:
36: Optional Controls Variables (partial list), these are environment variables,
37: remember they can be set with env=value on the command line as well:
38:
39: NOTE: xxx_... is {MSC|386|mips|alpha} where MSC_ applies to the C8 compiler
40: independent of the cpu type. Specific cpu_ will take precedence
41: over the equivalent MSC_ variable.
42:
43: EXAMPLE: To compile with codeview symbols for windbg:
44:
45: set NTDEBUG=NTSD
46: set NTDEBUGTYPE=WINDBG
47: set MSC_OPTIMIZATION=/Od
48:
49:
50: nttest=filename
51:
52: umtest=filename
53:
54: umappl=filename
55:
56: NT_UP
57: Define as 0 in environment to turn on MP.
58: If undefined or equal to 1, you get UP.
59:
60: HalType
61: SystemPro, MCA, Wyse7000i
62:
63: ABIOS Enable kernel abios support
64:
65: xxx_warning_level
66:
67: xxx_optimization
68:
69: xxx_STDCALL = 1 use _stdcall calling convention
70: 0 use _cdecl calling convention
71:
72: ntdebug
73:
74: browser_info
75:
76: xxx_cppflags
77:
78: ntcppflags
79:
80: NT_INST - set to turn on instrumentation
81:
82: BASEDIR - \nt or \ntrel (default \nt)
83:
84: SGI
85:
86: COMPAQ
87:
88: !ENDIF
89:
90: #
91: # Determine which targets are being built for (i386, Mips or Alpha)
92: # Make sure all target variables are defined.
93: #
94:
95: # mods for n386 build {
96:
97: N386_TCFLG = /Tc
98:
99: # }
100:
101:
102: !IFNDEF NTSDK
103: NTSDK=0
104: !ENDIF
105:
106: !IFNDEF 386
107: 386=0
108: !ENDIF
109:
110: !IFNDEF MIPS
111: MIPS=0
112: !ENDIF
113:
114: !IFNDEF ALPHA
115: ALPHA=0
116: !ENDIF
117:
118: !IFNDEF _AXPACC_
119: _AXPACC_=0
120: !ENDIF
121:
122: #
123: # Default to building for i386 target, if no targets specified.
124: #
125:
126: !IF !$(386)
127: ! IF !$(MIPS)
128: ! IF !$(ALPHA)
129: ! IFDEF NTMIPSDEFAULT
130: MIPS=1
131: ! IFNDEF TARGETCPU
132: TARGETCPU=MIPS
133: ! ENDIF
134: ! ELSE
135: ! IFDEF NTALPHADEFAULT
136: ALPHA=1
137: ! IFNDEF TARGETCPU
138: TARGETCPU=ALPHA
139: ! ENDIF
140: ! ELSE
141: 386=1
142: ! IFNDEF TARGETCPU
143: TARGETCPU=I386
144: ! ENDIF
145: ! ENDIF
146: ! ENDIF
147: ! ENDIF
148: ! ENDIF
149: !ENDIF
150:
151: #
152: # specify where to get incs and libs from
153: #
154:
155: !IFNDEF _NTDRIVE
156: _NTDRIVE=c:
157: !ENDIF
158:
159: !IFNDEF _NTROOT
160: _NTROOT=\nt
161: !ENDIF
162:
163: !IFNDEF BASEDIR
164: BASEDIR=$(_NTDRIVE)$(_NTROOT)
165: !ENDIF
166:
167: #
168: # Include the developer supplied file that defines the TARGETNAME, TARGETPATH,
169: # TARGETTYPE and SOURCES macros. Make sure it defines them.
170: #
171:
172: !INCLUDE .\sources.
173:
174: !IFNDEF TARGETNAME
175: !ERROR Your .\sources. file must define the TARGETNAME= macro
176: !ENDIF
177:
178: !IFNDEF TARGETPATH
179: !ERROR Your .\sources. file must define the TARGETPATH= macro
180: !ENDIF
181:
182: !IFNDEF TARGETTYPE
183: !ERROR Your .\sources. file must define the TARGETTYPE= macro
184: !ENDIF
185:
186: !IFNDEF SOURCES
187: !ERROR Your .\sources. file must define the SOURCES= macro
188: !ENDIF
189:
190: MIP2COFF=mip2coff $(MIP2COFF_SWITCHES)
191: A2COFF=a2coff $(A2COFF_SWITCHES)
192:
193: !IFNDEF UMTYPE
194: UMTYPE=nt
195: !ENDIF
196:
197: !IFNDEF UMLIBS
198: UMLIBS=
199: !ENDIF
200:
201: !IFNDEF UMRES
202: UMRES=
203: !ENDIF
204:
205: !IFNDEF NTRES
206: NTRES=
207: !ENDIF
208:
209: !IFNDEF UMBASE
210: ! IFDEF COFFBASE
211: UMBASE=@$(BASEDIR)\LIB\coffbase.txt,$(COFFBASE)
212: ! ELSE
213: UMBASE=@$(BASEDIR)\LIB\coffbase.txt,usermode
214: ! ENDIF
215: !ENDIF
216:
217: !IFNDEF 386_UMBASE
218: 386_UMBASE=$(UMBASE:*=i386)
219: !ENDIF
220:
221: !IFNDEF MIPS_UMBASE
222: MIPS_UMBASE=$(UMBASE:*=mips)
223: !ENDIF
224:
225: !IFNDEF ALPHA_UMBASE
226: ALPHA_UMBASE=$(UMBASE:*=alpha)
227: !ENDIF
228:
229: 386_UMOBJS=$(UMOBJS:*=i386)
230: MIPS_UMOBJS=$(UMOBJS:*=mips)
231: ALPHA_UMOBJS=$(UMOBJS:*=alpha)
232:
233: 386_UMLIBS=$(UMLIBS:*=i386)
234: MIPS_UMLIBS=$(UMLIBS:*=mips)
235: ALPHA_UMLIBS=$(UMLIBS:*=alpha)
236:
237: 386_UMRES=$(UMRES:*=i386)
238: MIPS_UMRES=$(UMRES:*=mips)
239: ALPHA_UMRES=$(UMRES:*=alpha)
240:
241: 386_NTRES=$(NTRES:*=i386)
242: MIPS_NTRES=$(NTRES:*=mips)
243: ALPHA_NTRES=$(NTRES:*=alpha)
244:
245: 386_LINKLIBS=$(LINKLIBS:*=i386) $(PERFLIBS:*=i386)
246: MIPS_LINKLIBS=$(LINKLIBS:*=mips) $(PERFLIBS:*=mips)
247: ALPHA_LINKLIBS=$(LINKLIBS:*=alpha) $(PERFLIBS:*=alpha)
248:
249: !IFDEF 386_USE_LIBCMT
250: USE_LIBCMT=1
251: !ENDIF
252:
253: !IFDEF USE_CRTDLL
254:
255: LIBC_LIB=crtdll.lib
256: LIBC_DEFINES=-D_DLL=1 -D_MT=1
257:
258: !ELSE
259:
260: ! IFDEF USE_LIBCMT
261: LIBC_LIB=libcmt.lib
262: LIBC_DEFINES=-D_MT=1
263:
264: ! ELSE
265:
266: LIBC_LIB=libc.lib
267: LIBC_DEFINES=
268:
269: ! ENDIF
270: !ENDIF
271:
272: !IFDEF NTLIBPATH
273: CRT_LIBS=$(NTLIBPATH)\*\lib\libcnt.lib
274: NT_LIBS=$(NTLIBPATH)\*\lib\ntdll.lib
275: NT_CRT=$(NTLIBPATH)\*\lib\nt.lib
276: WIN32_LIBS=$(NTLIBPATH)\*\lib\kernel32.lib \
277: $(NTLIBPATH)\*\lib\advapi32.lib \
278: $(NTLIBPATH)\*\lib\$(LIBC_LIB) \
279: $(NT_LIBS)
280: GUI32_LIBS=$(NTLIBPATH)\*\lib\gdi32.lib \
281: $(NTLIBPATH)\*\lib\user32.lib
282: !ELSE
283: CRT_LIBS=$(BASEDIR)\lib\*\$(DDKBUILDENV)\libcnt.lib
284: NT_LIBS=$(BASEDIR)\lib\*\$(DDKBUILDENV)\ntdll.lib
285: NT_CRT=$(BASEDIR)\lib\*\$(DDKBUILDENV)\nt.lib
286: WIN32_LIBS=$(BASEDIR)\lib\*\$(DDKBUILDENV)\kernel32.lib \
287: $(BASEDIR)\lib\*\$(DDKBUILDENV)\advapi32.lib \
288: $(BASEDIR)\lib\*\$(DDKBUILDENV)\$(LIBC_LIB) \
289: $(NT_LIBS)
290: GUI32_LIBS=$(BASEDIR)\lib\*\$(DDKBUILDENV)\gdi32.lib \
291: $(BASEDIR)\lib\*\$(DDKBUILDENV)\user32.lib
292: !ENDIF
293:
294: NTSS_LIBS=$(NT_LIBS) $(NT_CRT) $(BASEDIR)\lib\*\$(DDKBUILDENV)\smdll.lib
295:
296: OS2_LIBS=$(NT_LIBS) $(BASEDIR)\lib\*\$(DDKBUILDENV)\os2dll.lib \
297: $(CRT_LIBS)
298:
299: POSIX_LIBS=$(NT_LIBS) $(BASEDIR)\lib\*\$(DDKBUILDENV)\libcpsx.lib \
300: $(BASEDIR)\lib\*\$(DDKBUILDENV)\psxdll.lib \
301: $(BASEDIR)\lib\*\$(DDKBUILDENV)\psxrtl.lib
302:
303: !IF "$(UMTYPE)" == "nt"
304: SUBSYSTEM=native
305: UMINCL=$(BASEDIR)\inc\crt
306:
307: 386_UMENTRY=-entry:NtProcessStartup@4
308: MIPS_UMENTRY=-entry:NtProcessStartup
309: ALPHA_UMENTRY=-entry:NtProcessStartup
310:
311: 386_UMLIBS=$(386_UMLIBS) $(NT_LIBS:*=i386) $(NT_CRT:*=i386) $(CRT_LIBS:*=i386)
312: MIPS_UMLIBS=$(MIPS_UMLIBS) $(CRT_LIBS:*=mips) $(NT_LIBS:*=mips) $(NT_CRT:*=mips)
313: ALPHA_UMLIBS=$(ALPHA_UMLIBS) $(CRT_LIBS:*=alpha) $(NT_LIBS:*=alpha) $(NT_CRT:*=alpha)
314:
315: !ELSE
316: ! IF "$(UMTYPE)" == "windows"
317: SUBSYSTEM=windows
318: UMINCL=$(BASEDIR)\inc\crt
319:
320: ! IF "$(UMENTRY)" == "winmain"
321: 386_UMENTRY=-entry:WinMainCRTStartup
322: MIPS_UMENTRY=-entry:WinMainCRTStartup
323: ALPHA_UMENTRY=-entry:WinMainCRTStartup
324: ! ELSE
325: 386_UMENTRY=-entry:mainCRTStartup
326: MIPS_UMENTRY=-entry:mainCRTStartup
327: ALPHA_UMENTRY=-entry:mainCRTStartup
328: ! ENDIF
329:
330: 386_UMLIBS=$(386_UMLIBS) $(WIN32_LIBS:*=i386) $(GUI32_LIBS:*=i386)
331: MIPS_UMLIBS=$(MIPS_UMLIBS) $(WIN32_LIBS:*=mips) $(GUI32_LIBS:*=mips)
332: ALPHA_UMLIBS=$(ALPHA_UMLIBS) $(WIN32_LIBS:*=alpha) $(GUI32_LIBS:*=alpha)
333:
334: ! ELSE
335: ! IF "$(UMTYPE)" == "console"
336: SUBSYSTEM=console
337: UMINCL=$(BASEDIR)\inc\crt
338:
339: ! IF "$(UMENTRY)" == "winmain"
340: 386_UMENTRY=-entry:WinMainCRTStartup
341: MIPS_UMENTRY=-entry:WinMainCRTStartup
342: ALPHA_UMENTRY=-entry:WinMainCRTStartup
343: ! ELSE
344: 386_UMENTRY=-entry:mainCRTStartup
345: MIPS_UMENTRY=-entry:mainCRTStartup
346: ALPHA_UMENTRY=-entry:mainCRTStartup
347: ! ENDIF
348:
349: 386_UMLIBS=$(386_UMLIBS) $(WIN32_LIBS:*=i386)
350: MIPS_UMLIBS=$(MIPS_UMLIBS) $(WIN32_LIBS:*=mips)
351: ALPHA_UMLIBS=$(ALPHA_UMLIBS) $(WIN32_LIBS:*=alpha)
352:
353: ! ELSE
354: ! IF "$(UMTYPE)" == "ntss"
355: SUBSYSTEM=native
356: UMINCL=$(BASEDIR)\inc\crt
357:
358: 386_UMENTRY=-entry:NtProcessStartup@4
359: MIPS_UMENTRY=-entry:NtProcessStartup
360: ALPHA_UMENTRY=-entry:NtProcessStartup
361:
362: 386_UMLIBS=$(386_UMLIBS) $(NTSS_LIBS:*=i386) $(CRT_LIBS:*=i386)
363: MIPS_UMLIBS=$(MIPS_UMLIBS) $(NTSS_LIBS:*=mips) $(CRT_LIBS:*=mips)
364: ALPHA_UMLIBS=$(ALPHA_UMLIBS) $(NTSS_LIBS:*=alpha) $(CRT_LIBS:*=alpha)
365:
366: ! ELSE
367: ! IF "$(UMTYPE)" == "os2"
368: SUBSYSTEM=os2
369: UMINCL=$(BASEDIR)\inc\os2;$(BASEDIR)\inc\crt
370:
371: 386_UMENTRY=-entry:NtProcessStartup@4
372: MIPS_UMENTRY=-entry:NtProcessStartup
373: ALPHA_UMENTRY=-entry:NtProcessStartup
374:
375: 386_UMLIBS=$(386_UMLIBS) $(OS2_LIBS:*=i386)
376: MIPS_UMLIBS=$(MIPS_UMLIBS) $(OS2_LIBS:*=mips)
377: ALPHA_UMLIBS=$(ALPHA_UMLIBS) $(OS2_LIBS:*=alpha)
378:
379: ! ELSE
380: ! IF "$(UMTYPE)" == "posix"
381: SUBSYSTEM=posix
382: UMINCL=$(BASEDIR)\inc\posix;$(BASEDIR)\inc\crt
383:
384: 386_UMENTRY=-entry:__PosixProcessStartup
385: MIPS_UMENTRY=-entry:__PosixProcessStartup
386: ALPHA_UMENTRY=-entry:__PosixProcessStartup
387:
388: 386_UMLIBS=$(386_UMLIBS) $(POSIX_LIBS:*=i386)
389: MIPS_UMLIBS=$(MIPS_UMLIBS) $(POSIX_LIBS:*=mips)
390: ALPHA_UMLIBS=$(ALPHA_UMLIBS) $(POSIX_LIBS:*=alpha)
391:
392: ! ELSE
393: ! ERROR Invalid UMTYPE value - $(UMTYPE)
394: ! ENDIF # UMTYPE == posix
395: ! ENDIF # UMTYPE == os2
396: ! ENDIF # UMTYPE == ntss
397: ! ENDIF # UMTYPE == console
398: ! ENDIF # UMTYPE == windows
399: !ENDIF # UMTYPE == nt
400:
401:
402: #
403: # Define BINPLACE flags as needed if separate .DBG file requested.
404: #
405:
406: !IFDEF NTDBGFILES
407: ! IF $(386)
408: BINPLACE_FLAGS=-s $(_NT386TREE)\Symbols
409: ! ELSE
410: ! IF $(MIPS)
411: BINPLACE_FLAGS=-s $(_NTMIPSTREE)\Symbols
412: ! ELSE
413: ! IF $(ALPHA)
414: BINPLACE_FLAGS=-s $(_NTALPHATREE)\Symbols
415: ! ENDIF
416: ! ENDIF
417: ! ENDIF
418: !ELSE
419: BINPLACE_FLAGS=
420: !ENDIF
421:
422: #
423: # If you edit this line you need to modify $(BASEDIR)\private\sdktools\build\build.c
424: #
425:
426: !IFDEF NTINCPATH
427: ! IF $(386)
428: NTINCLUDES=$(BASEDIR)\inc;$(NTINCPATH)\i386\inc
429: ! ELSE
430: ! IF $(MIPS)
431: NTINCLUDES=$(BASEDIR)\inc;$(NTINCPATH)\mips\inc
432: ! ELSE
433: ! IF $(ALPHA)
434: NTINCLUDES=$(BASEDIR)\inc;$(NTINCPATH)\alpha\inc
435: ! ENDIF
436: ! ENDIF
437: ! ENDIF
438: !ELSE
439: NTINCLUDES=$(BASEDIR)\inc;$(BASEDIR)\inc
440: !ENDIF
441:
442: !IFDEF USER_INCLUDES
443: USER_INCL0=-I$(USER_INCLUDES:;= -I)
444: USER_INCL1=-I $(USER_INCLUDES:;= -I )
445: !ELSE
446: USER_INCL0=
447: USER_INCL1=
448: !ENDIF
449:
450: !IFDEF INCLUDES
451:
452: INCL=$(INCLUDES)
453: INCPATH0=-I$(INCL:;= -I) -I$(NTINCLUDES:;= -I) -I$(UMINCL:;= -I) $(USER_INCL0)
454: INCPATH1=-I $(INCL:;= -I ) -I $(NTINCLUDES:;= -I ) -I $(UMINCL:;= -I ) $(USER_INCL1)
455: !ELSE
456: INCPATH0=-I$(NTINCLUDES:;= -I) -I$(UMINCL:;= -I) $(USER_INCL0)
457: INCPATH1=-I $(NTINCLUDES:;= -I ) -I $(UMINCL:;= -I ) $(USER_INCL1)
458: !ENDIF
459:
460: !IFNDEF RELATIVE_DEPTH
461: RELATIVE_DEPTH=..
462: !ENDIF
463:
464: !IFNDEF TARGETLIBS
465: TARGETLIBS=
466: !ENDIF
467:
468: !IFNDEF DLLENTRY
469: DLLENTRY=
470: ! IF $(386)
471: ! IF !$(NTSDK)
472: DLLENTRY=-noentry
473: ! ENDIF
474: ! ENDIF
475: !ELSE
476: ! IF $(386)
477: DLLENTRY=-entry:$(DLLENTRY)@12
478: ! ELSE
479: DLLENTRY=-entry:$(DLLENTRY)
480: ! ENDIF
481: !ENDIF
482:
483: !IFNDEF DLLBASE
484: DLLBASE=@$(BASEDIR)\LIB\coffbase.txt,$(TARGETNAME)
485: !ENDIF
486:
487: !IFNDEF 386_DLLBASE
488: 386_DLLBASE=$(DLLBASE:*=i386)
489: !ENDIF
490:
491: !IFNDEF MIPS_DLLBASE
492: MIPS_DLLBASE=$(DLLBASE:*=mips)
493: !ENDIF
494:
495: !IFNDEF ALPHA_DLLBASE
496: ALPHA_DLLBASE=$(DLLBASE:*=alpha)
497: !ENDIF
498:
499: !IFNDEF DLLDEF
500: DLLDEF=$(@B).def
501: !ENDIF
502:
503: !IFNDEF 386_DLLDEF
504: 386_DLLDEF=$(DLLDEF:*=i386)
505: !ENDIF
506:
507: !IFNDEF MIPS_DLLDEF
508: MIPS_DLLDEF=$(DLLDEF:*=mips)
509: !ENDIF
510:
511: !IFNDEF ALPHA_DLLDEF
512: ALPHA_DLLDEF=$(DLLDEF:*=alpha)
513: !ENDIF
514:
515: !IFNDEF BOOTBASE
516: ! IFDEF FRAZZLE
517: BOOTBASE=0xd0100000,0xd0104000
518: ! ELSE
519: BOOTBASE=0xd0ff0000,0xd0ff4000
520: ! ENDIF
521: !ENDIF
522:
523: DRIVERBASE=0x10000
524: HALBASE=0x80400000
525: !IFNDEF 386_BOOTBASE
526: 386_BOOTBASE=$(BOOTBASE)
527: !ENDIF
528:
529: !IFNDEF MIPS_BOOTBASE
530: MIPS_BOOTBASE=$(BOOTBASE)
531: !ENDIF
532:
533: !IFNDEF ALPHA_BOOTBASE
534: ALPHA_BOOTBASE=$(BOOTBASE)
535: !ENDIF
536:
537: #
538: # Map lower case to upper case for variables that can be specified from the
539: # command line.
540: #
541:
542: !IFDEF nttest
543: NTTEST=$(nttest)
544: !ENDIF
545:
546: !IFDEF makedll
547: MAKEDLL=$(makedll)
548: !ENDIF
549:
550: !IFDEF umtest
551: UMTEST=$(umtest)
552: !ENDIF
553:
554:
555: #
556: # Include the list of object files (defined as the OBJECTS macro) that was
557: # built by BUILD program, using the SOURCES= macro defined in the sources.
558: # file. Use macro substitution to build the supported target objects.
559: #
560:
561: !INCLUDE obj\_objects.mac
562:
563:
564: #
565: # BUILD.EXE defines the NOLINK variable to disable the building of any
566: # test executables when it is recursing on a dirs. file to build components
567: # in subdirectories.
568: #
569:
570: !IF "$(BUILDMSG)" != "Stop."
571: ! IFDEF NOLINK
572: ! UNDEF NTTEST
573: ! UNDEF MAKEDLL
574: ! ELSE
575: ! IFDEF nolink
576: ! UNDEF NTTEST
577: ! UNDEF MAKEDLL
578: ! ENDIF
579: ! ENDIF # DEF NOLINK
580: !ENDIF # BUILDMSG != "Stop."
581:
582:
583:
584: #
585: # If NTTEST is not defined, then define it as the empty string to make
586: # the conditionals easier to write.
587: #
588:
589: !IFNDEF NTTEST
590: NTTEST=
591: !ENDIF
592:
593: #
594: # If UMAPPL is not defined, then define it as the empty string to make
595: # the conditionals easier to write.
596: #
597:
598: !IFNDEF UMAPPL
599: UMAPPL=
600: !ENDIF
601:
602: #
603: # If UMTEST is not defined, then define it as the empty string to make
604: # the conditionals easier to write.
605: #
606:
607: !IFNDEF UMTEST
608: UMTEST=
609: !ENDIF
610:
611: #
612: # If MAKEDLL is not defined, then define it as the empty string to make
613: # the conditionals easier to write.
614: #
615:
616: !IFNDEF MAKEDLL
617: MAKEDLL=
618: !ENDIF
619:
620:
621: #
622: # If BUILDMSG is not defined, the define it as the empty string to make
623: # the conditionals easier to write.
624: #
625:
626: !IFNDEF BUILDMSG
627: BUILDMSG=
628: !ENDIF
629:
630:
631: #
632: # Determine type of target link we are doing
633: #
634: !IF "$(TARGETTYPE)" == "PROGLIB"
635: TARGETEXT=exe
636: TARGETLIB=
637: !ELSE
638: ! IF "$(TARGETTYPE)" == "PROGRAM"
639: TARGETEXT=exe
640: TARGETLIB=
641: ! ELSE
642: ! IF "$(TARGETTYPE)" == "DYNLINK"
643: ! IF "$(MAKEDLL)" != ""
644: ! IF "$(TARGETEXT)" == ""
645: TARGETEXT=dll
646: ! ENDIF
647: ! IF "$(UMTYPE)" == "os2"
648: TARGETLIB=$(BASEDIR)\lib\*\$(DDKBUILDENV)\ntdll.lib
649: ! ELSE
650: ! IF "$(UMTYPE)" == "posix"
651: TARGETLIB=$(BASEDIR)\lib\*\$(DDKBUILDENV)\libcpsx.lib $(BASEDIR)\lib\*\$(DDKBUILDENV)\libcnt.lib $(BASEDIR)\lib\*\$(DDKBUILDENV)\ntdll.lib
652: ! ELSE
653: ! IF "$(TARGETNAME)" == "ntdll"
654: TARGETLIB=$(BASEDIR)\lib\*\$(DDKBUILDENV)\libcnt.lib
655: ! ELSE
656: ! IFDEF USE_CRTDLL
657: TARGETLIB=$(BASEDIR)\lib\*\$(DDKBUILDENV)\crtdll.lib $(BASEDIR)\lib\*\$(DDKBUILDENV)\ntdll.lib
658: ! ELSE
659: TARGETLIB=$(BASEDIR)\lib\*\$(DDKBUILDENV)\libcnt.lib $(BASEDIR)\lib\*\$(DDKBUILDENV)\ntdll.lib
660: ! ENDIF
661: ! ENDIF
662: ! ENDIF
663: ! ENDIF
664: ! ELSE
665: TARGETEXT=lib
666: TARGETLIB=
667: ! ENDIF
668: ! ELSE
669: ! IF "$(TARGETTYPE)" == "LIBRARY"
670: TARGETEXT=lib
671: TARGETLIB=
672: ! ELSE
673: ! IF "$(TARGETTYPE)" == "DRIVER"
674: TARGETEXT=sys
675: TARGETLIB=$(BASEDIR)\lib\*\$(DDKBUILDENV)\ntoskrnl.lib $(BASEDIR)\lib\*\$(DDKBUILDENV)\libcnt.lib $(BASEDIR)\lib\*\$(DDKBUILDENV)\hal.lib
676: ! ELSE
677: ! IF "$(TARGETTYPE)" == "EXPORT_DRIVER"
678: ! IF "$(MAKEDLL)" != ""
679: TARGETEXT=sys
680: TARGETLIB=$(BASEDIR)\lib\*\$(DDKBUILDENV)\ntoskrnl.lib $(BASEDIR)\lib\*\$(DDKBUILDENV)\libcnt.lib $(BASEDIR)\lib\*\$(DDKBUILDENV)\hal.lib
681: ! ELSE
682: TARGETEXT=lib
683: TARGETLIB=
684: ! ENDIF
685: ! ELSE
686: ! IF "$(TARGETTYPE)" == "HAL"
687: ! IF "$(MAKEDLL)" != ""
688: TARGETEXT=dll
689: TARGETLIB=$(BASEDIR)\lib\*\$(DDKBUILDENV)\ntoskrnl.lib $(BASEDIR)\lib\*\$(DDKBUILDENV)\libcnt.lib
690: ! ELSE
691: TARGETEXT=lib
692: TARGETLIB=
693: ! ENDIF
694: ! ELSE
695: ! IF "$(TARGETTYPE)" == "BOOTPGM"
696: TARGETEXT=sys
697: ! IFDEF MIPS
698: TARGETLIB=
699: ! ELSE
700: ! IFDEF ALPHA
701: TARGETLIB=
702: ! ELSE
703: TARGETLIB=$(NT_LIBS)
704: ! ENDIF
705: ! ENDIF
706: ! ENDIF # TARGETTYPE == BOOTPGM
707: ! ENDIF # TARGETTYPE == HAL
708: ! ENDIF # TARGETTYPE == EXPORT_DRIVER
709: ! ENDIF # TARGETTYPE == DRIVER
710: ! ENDIF # TARGETTYPE == LIBRARY
711: ! ENDIF # TARGETTYPE == DYNLINK
712: ! ENDIF # TARGETTYPE == PROGRAM
713: !ENDIF # TARGETTYPE == PROGLIB
714:
715: 386TARGET=
716: MIPSTARGET=
717: ALPHATARGET=
718: !IF "$(TARGETTYPE)" != "UMAPPL_NOLIB"
719:
720: ! IF "$(386_OBJECTS)" != ""
721: 386TARGET=$(TARGETPATH)\i386\$(DDKBUILDENV)\$(TARGETNAME).$(TARGETEXT)
722: ! ENDIF
723:
724: ! IF "$(MIPS_OBJECTS)" != ""
725: MIPSTARGET=$(TARGETPATH)\mips\$(DDKBUILDENV)\$(TARGETNAME).$(TARGETEXT)
726: ! ENDIF
727:
728: ! IF "$(ALPHA_OBJECTS)" != ""
729: ALPHATARGET=$(TARGETPATH)\alpha\$(DDKBUILDENV)\$(TARGETNAME).$(TARGETEXT)
730: ! ENDIF
731: !ENDIF # TARGETTYPE != UMAPPL_NOLIB
732:
733: !IFNDEF 386_TARGETLIBS
734: 386_TARGETLIBS=$(TARGETLIB:*=i386) $(TARGETLIBS:*=i386)
735: !ENDIF
736:
737: !IFNDEF MIPS_TARGETLIBS
738: MIPS_TARGETLIBS=$(TARGETLIB:*=mips) $(TARGETLIBS:*=mips)
739: !ENDIF
740:
741: !IFNDEF ALPHA_TARGETLIBS
742: ALPHA_TARGETLIBS=$(TARGETLIB:*=alpha) $(TARGETLIBS:*=alpha)
743: !ENDIF
744:
745: !IF $(386)
746: TARGETOBJFILES=$(TARGETOBJFILES) $(386_OBJECTS)
747: !ENDIF
748:
749: !IF $(MIPS)
750: TARGETOBJFILES=$(TARGETOBJFILES) $(MIPS_OBJECTS)
751: !ENDIF
752:
753: !IF $(ALPHA)
754: TARGETOBJFILES=$(TARGETOBJFILES) $(ALPHA_OBJECTS)
755: !ENDIF
756:
757: !IF "$(NOLINK)" == "" || \
758: ("$(NOLINK)" != "" && ("$(TARGETTYPE)"=="LIBRARY" || \
759: ( ("$(TARGETTYPE)"=="DYNLINK" || \
760: "$(TARGETTYPE)"=="EXPORT_DRIVER" || \
761: "$(TARGETTYPE)"=="HAL") && \
762: "$(MAKEDLL)" == "") \
763: ) \
764: )
765:
766: ! IF $(386)
767: ! IF "$(NOLINK)" != ""
768: TARGETLIBFILES=$(TARGETLIBFILES) $(TARGETPATH)\i386\$(DDKBUILDENV)\$(TARGETNAME).lib
769: ! ELSE
770: TARGETEXEFILES=$(TARGETEXEFILES) $(386TARGET)
771: ! ENDIF
772: ! ENDIF
773:
774: ! IF $(MIPS)
775: TARGETEXEFILES=$(TARGETEXEFILES) $(MIPSTARGET)
776: ! ENDIF
777:
778: ! IF $(ALPHA)
779: TARGETEXEFILES=$(TARGETEXEFILES) $(ALPHATARGET)
780: ! ENDIF
781: !ENDIF # NOLINK == "" || building .lib file for dll
782:
783: !IF "$(NTTEST)" != ""
784:
785: ! IF $(386)
786: TARGETOBJFILES=$(TARGETOBJFILES) obj\i386\$(NTTEST).obj
787: ! ENDIF
788:
789: ! IF $(MIPS)
790: TARGETOBJFILES=$(TARGETOBJFILES) obj\mips\$(NTTEST).obj
791: ! ENDIF
792:
793: ! IF $(ALPHA)
794: TARGETOBJFILES=$(TARGETOBJFILES) obj\alpha\$(NTTEST).obj
795: ! ENDIF
796:
797: ! IFNDEF NOLINK
798: ! IF $(386)
799: TARGETEXEFILES=$(TARGETEXEFILES) obj\i386\$(NTTEST).exe
800: ! ENDIF
801:
802: ! IF $(MIPS)
803: TARGETEXEFILES=$(TARGETEXEFILES) obj\mips\$(NTTEST).exe
804: ! ENDIF
805:
806: ! IF $(ALPHA)
807: TARGETEXEFILES=$(TARGETEXEFILES) obj\alpha\$(NTTEST).exe
808: ! ENDIF
809: ! ENDIF # NDEF NOLINK
810: !ENDIF # NTTEST != ""
811:
812: 386_UMOBJFILES=
813: 386_UMEXEFILES=
814: 386_UMCOMFILES=
815:
816: MIPS_UMOBJFILES=
817: MIPS_UMEXEFILES=
818: MIPS_UMCOMFILES=
819:
820: ALPHA_UMOBJFILES=
821: ALPHA_UMEXEFILES=
822: ALPHA_UMCOMFILES=
823:
824: !IF "$(UMAPPLEXT)" == ""
825: ! IFDEF _DOT_COM_FILE
826: UMAPPLEXT=.com
827: ! ELSE
828: UMAPPLEXT=.exe
829: ! ENDIF
830: !ENDIF
831:
832: !IF "$(UMAPPL)" != ""
833: ! IF $(386)
834: 386_UMOBJFILES=obj\i386\$(UMAPPL:*=.obj obj\i386\).obj
835: ! ENDIF
836:
837: ! IF $(MIPS)
838: MIPS_UMOBJFILES=obj\mips\$(UMAPPL:*=.obj obj\mips\).obj
839: ! ENDIF
840:
841: ! IF $(ALPHA)
842: ALPHA_UMOBJFILES=obj\alpha\$(UMAPPL:*=.obj obj\alpha\).obj
843: ! ENDIF
844:
845: ! IF "$(UMAPPLEXT)" == ".com"
846: ! IFNDEF NOLINK
847: ! IF $(386)
848: 386_UMEXEFILES=obj\i386\$(UMAPPL:*=.com obj\i386\).com
849: ! ENDIF
850:
851: ! IF $(MIPS)
852: MIPS_UMEXEFILES=obj\mips\$(UMAPPL:*=.com obj\mips\).com
853: ! ENDIF
854:
855: ! IF $(ALPHA)
856: ALPHA_UMEXEFILES=obj\alpha\$(UMAPPL:*=.com obj\alpha\).com
857: ! ENDIF
858: ! ENDIF
859:
860: ! ELSE
861: ! IF "$(UMAPPLEXT)" == ".exe"
862: ! IFNDEF NOLINK
863: ! IF $(386)
864: 386_UMEXEFILES=obj\i386\$(UMAPPL:*=.exe obj\i386\).exe
865: ! ENDIF
866:
867: ! IF $(MIPS)
868: MIPS_UMEXEFILES=obj\mips\$(UMAPPL:*=.exe obj\mips\).exe
869: ! ENDIF
870:
871: ! IF $(ALPHA)
872: ALPHA_UMEXEFILES=obj\alpha\$(UMAPPL:*=.exe obj\alpha\).exe
873: ! ENDIF
874: ! ENDIF
875:
876: ! ELSE
877:
878: ! IF "$(UMAPPLEXT)" == ".scr"
879: ! IFNDEF NOLINK
880: ! IF $(386)
881: 386_UMEXEFILES=obj\i386\$(UMAPPL:*=.scr obj\i386\).scr
882: ! ENDIF
883:
884: ! IF $(MIPS)
885: MIPS_UMEXEFILES=obj\mips\$(UMAPPL:*=.scr obj\mips\).scr
886: ! ENDIF
887:
888: ! IF $(ALPHA)
889: ALPHA_UMEXEFILES=obj\alpha\$(UMAPPL:*=.scr obj\alpha\).scr
890: ! ENDIF
891: ! ENDIF
892:
893: ! ELSE
894:
895: ! ERROR Unsupport UMAPPLEXT = $(UMAPPLEXT)
896:
897: ! ENDIF # UMAPPLEXT == .scr
898: ! ENDIF # UMAPPLEXT == .exe
899: ! ENDIF # UMAPPLEXT == .com
900: !ENDIF # UMAPPL != ""
901:
902: !IF "$(UMTEST)" != ""
903: ! IF $(386)
904: 386_UMOBJFILES=$(386_UMOBJFILES) obj\i386\$(UMTEST:*=.obj obj\i386\).obj
905: ! ENDIF
906:
907: ! IF $(MIPS)
908: MIPS_UMOBJFILES=$(MIPS_UMOBJFILES) obj\mips\$(UMTEST:*=.obj obj\mips\).obj
909: ! ENDIF
910:
911: ! IF $(ALPHA)
912: ALPHA_UMOBJFILES=$(ALPHA_UMOBJFILES) obj\alpha\$(UMTEST:*=.obj obj\alpha\).obj
913: ! ENDIF
914:
915: ! IFNDEF NOLINK
916: ! IF $(386)
917: 386_UMEXEFILES=$(386_UMEXEFILES) obj\i386\$(UMTEST:*=.exe obj\i386\).exe
918: ! ENDIF
919:
920: ! IF $(MIPS)
921: MIPS_UMEXEFILES=$(MIPS_UMEXEFILES) obj\mips\$(UMTEST:*=.exe obj\mips\).exe
922: ! ENDIF
923:
924: ! IF $(ALPHA)
925: ALPHA_UMEXEFILES=$(ALPHA_UMEXEFILES) obj\alpha\$(UMTEST:*=.exe obj\alpha\).exe
926: ! ENDIF
927: ! ENDIF
928: !ENDIF
929:
930: #
931: # Define NT_UP as 0 in environment to turn on MP.
932: # If undefined or equal to 1, you get UP.
933: #
934:
935: !IFNDEF NT_UP
936: NT_UP=1
937: !ENDIF
938:
939: !IF "$(NT_UP)"=="0"
940: NT_UP_DEFINES=
941: !ELSE
942: NT_UP_DEFINES=-DNT_UP=1
943: !ENDIF
944:
945: !IFNDEF NT_INST
946: NT_INST=0
947: !ENDIF
948:
949: #
950: # User defined variables (environment variables or command line).
951: # A cpu specific definition will take precedence over the MSC definition.
952: #
953: # xxx_WARNING_LEVEL
954: # xxx_OPTIMIZATION
955: # xxx_STDCALL
956: # xxx_CPPFLAGS
957: #
958:
959: !IF "$(386_STDCALL)" == "0"
960: MSC_CALL_TYPE=/Gd
961: MSC_CALL_DEFINE=
962: !ELSE
963: MSC_CALL_TYPE=/Gz
964: MSC_CALL_DEFINE=-DSTD_CALL
965: !ENDIF
966:
967: !IF $(386)
968: ! IFDEF 386_WARNING_LEVEL
969: MSC_WARNING_LEVEL=$(386_WARNING_LEVEL)
970: ! ENDIF
971: ! IFDEF 386_OPTIMIZATION
972: MSC_OPTIMIZATION=$(386_OPTIMIZATION)
973: ! ENDIF
974: ! IF "$(386_STDCALL)" == "0"
975: MSC_CALL_TYPE=/Gd
976: MSC_CALL_DEFINE=
977: ! ELSE
978: ! IF "$(386_STDCALL)" == "1"
979: MSC_CALL_TYPE=/Gz
980: MSC_CALL_DEFINE=-DSTD_CALL
981: ! ENDIF
982: ! ENDIF
983: ! IFDEF MIPS_CPPFLAGS
984: MSC_CPPFLAGS=$(MIPS_CPPFLAGS)
985: ! ENDIF
986: !ELSE
987: ! IF $(MIPS)
988: ! IFNDEF MIPS_CC
989: # MS_MIPS is for historical reasons only.
990: MS_MIPS=1
991: ! IFDEF MIPS_WARNING_LEVEL
992: MSC_WARNING_LEVEL=$(MIPS_WARNING_LEVEL)
993: ! ENDIF
994: ! IFDEF MIPS_OPTIMIZATION
995: MSC_OPTIMIZATION=$(MIPS_OPTIMIZATION)
996: ! ENDIF
997: ! IFDEF MIPS_CPPFLAGS
998: MSC_CPPFLAGS=$(MIPS_CPPFLAGS)
999: ! ENDIF
1000: ! ENDIF
1001: ! IF "$(MIPS_STDCALL)" == "0"
1002: MSC_CALL_TYPE=/Gd
1003: MSC_CALL_DEFINE=
1004: ! ELSE
1005: ! IF "$(MIPS_STDCALL)" == "1"
1006: MSC_CALL_TYPE=/Gz
1007: MSC_CALL_DEFINE=-DSTD_CALL
1008: ! ENDIF
1009: ! ENDIF
1010: ! ELSE
1011: ! IF $(ALPHA)
1012: ! IFDEF ALPHA_WARNING_LEVEL
1013: MSC_WARNING_LEVEL=$(ALPHA_WARNING_LEVEL)
1014: ! ENDIF
1015: ! IFDEF ALPHA_OPTIMIZATION
1016: MSC_OPTIMIZATION=$(ALPHA_OPTIMIZATION)
1017: ! ENDIF
1018: ! IFDEF ALPHA_CPPFLAGS
1019: MSC_CPPFLAGS=$(ALPHA_CPPFLAGS)
1020: ! ENDIF
1021: ! ENDIF
1022: ! ENDIF
1023: !ENDIF
1024:
1025: !IFNDEF MSC_WARNING_LEVEL
1026: MSC_WARNING_LEVEL=/W3
1027: !ENDIF
1028:
1029: !IFNDEF MSC_OPTIMIZATION
1030: MSC_OPTFLAGS=/Ox
1031: !IF "$(MIPS)" == "1"
1032: MSC_OPTFLAGS=/Ox /QmipsOb2000
1033: !ENDIF
1034: !ELSE
1035: MSC_OPTFLAGS=$(MSC_OPTIMIZATION)
1036: !ENDIF
1037:
1038: !IFNDEF MSC_CALL_TYPE
1039: ! IF "$(MSC_STDCALL)" == "0"
1040: MSC_CALL_TYPE=/Gd
1041: MSC_CALL_DEFINE=
1042: ! ELSE
1043: ! IF "$(MSC_STDCALL)" == "1"
1044: MSC_CALL_TYPE=/Gz
1045: MSC_CALL_DEFINE=-DSTD_CALL
1046: ! ENDIF
1047: ! ENDIF
1048: !ENDIF
1049:
1050: #
1051: # End of user defined variables.
1052: #
1053:
1054: #
1055: # 386 option control
1056: #
1057:
1058: 386_ENV_DEFINES= $(MSC_CPPFLAGS) $(NTCPPFLAGS)
1059:
1060: !IF "$(HALTYPE)" == ""
1061: HALDEF=
1062: !ELSE
1063: HALDEF=-D$(HALTYPE)=1
1064: !ENDIF
1065:
1066: !IFNDEF ABIOS
1067: ABIOS=0
1068: !ENDIF
1069:
1070: !IFNDEF SCSIBOOT
1071: SCSIBOOT=0
1072: !ENDIF
1073:
1074: !IF "$(ABIOS)" == "0"
1075: ABIOS_DEFINE=
1076: !ELSE
1077: ABIOS_DEFINE= -DABIOS=1
1078: !ENDIF
1079:
1080: !IF "$(SCSIBOOT)" == "0"
1081: SCSIBOOT_DEFINE=
1082: !ELSE
1083: SCSIBOOT_DEFINE= -DSCSIBOOT=1
1084: !ENDIF
1085:
1086: 386_MACHINE_TYPE= $(HALDEF) $(ABIOS_DEFINE) $(SCSIBOOT_DEFINE)
1087:
1088: !IF "$(NT_UP)" == "0"
1089: 386_STD_DEFINES= -D_X86_=1 -Di386=1 -DCONDITION_HANDLING=1 -DWIN32_LEAN_AND_MEAN=1 -DNT_INST=$(NT_INST) $(386_MACHINE_TYPE) $(MSC_CALL_DEFINE)
1090: !ELSE
1091: 386_STD_DEFINES= -D_X86_=1 -Di386=1 -DCONDITION_HANDLING=1 -DWIN32_LEAN_AND_MEAN=1 $(NT_UP_DEFINES) -DNT_INST=$(NT_INST) $(386_MACHINE_TYPE) $(MSC_CALL_DEFINE)
1092: !ENDIF
1093:
1094: !IFDEF NTPROFILEINPUT
1095: 386_PROFLAGS= /Gy
1096: 386_CBSTRING=
1097: !ELSE
1098: !IFDEF EXEPROFILEINPUT
1099: 386_PROFLAGS= /Gy
1100: 386_CBSTRING=
1101: !ELSE
1102: !IFNDEF 386_CBSTRING
1103: !IF "$(MAJORCOMP)" == "ntos" || "$(MAJORCOMP)" == "NTOS"
1104: 386_CBSTRING=-cbstring
1105: !ELSE
1106: 386_CBSTRING=
1107: !ENDIF
1108: !ENDIF
1109: !ENDIF
1110: !ENDIF
1111:
1112: !IFNDEF MAX_ID_LENGTH
1113: MAX_ID_LENGTH=-H63
1114: !ENDIF
1115:
1116: 386_STDFLAGS= /c /Zel /Zp8 $(386_CBSTRING) $(386_PROFLAGS) $(MSC_WARNING_LEVEL) $(MSC_CALL_TYPE) $(MAX_ID_LENGTH) /G4
1117: 386_LINKFLAGS=$(386_LNKFLAGS)
1118:
1119: !IFDEF MIPS_CC
1120: # MIPS_DBGFLAGS ???
1121: !ELSE
1122: MIPS_STDFLAGS= /c $(MSC_WARNING_LEVEL)
1123: !ENDIF
1124:
1125: !IF !$(_AXPACC_)
1126: ALPHA_STDFLAGS= /c $(MSC_WARNING_LEVEL)
1127: !ELSE
1128: ALPHA_STDFLAGS= -std
1129: !ENDIF
1130:
1131: !IF "$(NTDEBUG)" == "retail"
1132: ! IFDEF NTNOFPO
1133: 386_DBG_DEFINES= -DDBG=0 -DDEVL=1 -DBETA=0 -DNOFIREWALLS -DFPO=0
1134: 386_DBGFLAGS=$(MSC_OPTFLAGS) /Oy-
1135: ! ELSE
1136: 386_DBG_DEFINES= -DDBG=0 -DDEVL=1 -DBETA=0 -DNOFIREWALLS -DFPO=1
1137: 386_DBGFLAGS=$(MSC_OPTFLAGS) /Oy
1138: ! ENDIF
1139: MIPS_DBG_DEFINES= -DDBG=0 -DDEVL=1 -DBETA=0 -DNOFIREWALLS
1140: MIPS_DBGFLAGS=$(MSC_OPTFLAGS)
1141: ALPHA_DBG_DEFINES= -DDBG=0 -DDEVL=1 -DBETA=0 -DNOFIREWALLS
1142: ALPHA_DBGFLAGS=$(MSC_OPTFLAGS)
1143: !ELSE
1144: ! IF "$(NTDEBUG)" == ""
1145: ! IFDEF NTNOFPO
1146: 386_DBG_DEFINES= -DDBG=0 -DDEVL=1 -DBETA=0 -DNOFIREWALLS -DFPO=0
1147: 386_DBGFLAGS=$(MSC_OPTFLAGS) /Oy-
1148: ! ELSE
1149: 386_DBG_DEFINES= -DDBG=0 -DDEVL=1 -DBETA=0 -DNOFIREWALLS -DFPO=1
1150: 386_DBGFLAGS=$(MSC_OPTFLAGS) /Oy
1151: ! ENDIF
1152: MIPS_DBG_DEFINES= -DDBG=0 -DDEVL=1 -DBETA=0 -DNOFIREWALLS
1153: MIPS_DBGFLAGS=$(MSC_OPTFLAGS)
1154: ALPHA_DBG_DEFINES= -DDBG=0 -DDEVL=1 -DBETA=0 -DNOFIREWALLS
1155: ALPHA_DBGFLAGS=$(MSC_OPTFLAGS)
1156: ! ELSE
1157: 386_DBG_DEFINES= -DDBG=1 -DDEVL=1 -DBETA=1 -DFPO=0
1158: MIPS_DBG_DEFINES= -DDBG=1 -DDEVL=1 -DBETA=1
1159: ALPHA_DBG_DEFINES= -DDBG=1 -DDEVL=1 -DBETA=1
1160: ! IF "$(NTDEBUG)" == "ntsd"
1161: 386_DBGFLAGS=$(MSC_OPTFLAGS) /Oy- /Z7
1162: MIPS_DBGFLAGS=$(MSC_OPTFLAGS) /Zi
1163: ALPHA_DBGFLAGS=$(MSC_OPTFLAGS) /Zi
1164: ! ELSE
1165: ! IF "$(NTDEBUG)" == "cvp"
1166: 386_DBGFLAGS=$(MSC_OPTFLAGS) /Oy- /Zd
1167: MIPS_DBGFLAGS=$(MSC_OPTFLAGS) /Zd
1168: ALPHA_DBGFLAGS=$(MSC_OPTFLAGS) /Zd
1169: ! ELSE
1170: ! IF "$(NTDEBUG)" == "sym"
1171: 386_DBGFLAGS=$(MSC_OPTFLAGS) /Oy- /Zd
1172: MIPS_DBGFLAGS=$(MSC_OPTFLAGS) /Zd
1173: ALPHA_DBGFLAGS=$(MSC_OPTFLAGS) /Zd
1174: ! ELSE
1175: ! ERROR NTDEBUG macro can be either "retail", "", "ntsd", "cvp" or "sym"
1176: ! ENDIF
1177: ! ENDIF # NTDEBUG == sym
1178: ! ENDIF # NTDEBUG == cvp
1179: ! ENDIF # NTDEBUG == ""
1180: !ENDIF # NTDEBUG == retail
1181:
1182: !IF "$(NTDEBUGTYPE)" == "windbg"
1183: LINKER_DBG_TYPE = -debugtype:cv
1184: ! IFDEF MIPS_CC
1185: MIP2COFF_SWITCHES=-c
1186: ! IFNDEF MIPS_OPTIMIZATION
1187: MIPS_OPTIMIZATION=-g2
1188: ! ENDIF
1189: ! ENDIF
1190: !ELSE
1191: ! IF "$(NTDEBUGTYPE)" == "ntsd" || "$(NTDEBUGTYPE)" == "coff"
1192: LINKER_DBG_TYPE = -debugtype:coff
1193: ! ELSE
1194: ! IF "$(NTDEBUGTYPE)" == "both"
1195: LINKER_DBG_TYPE = -debugtype:both
1196: ! ELSE
1197: ! IF "$(NTDEBUGTYPE)" == ""
1198: LINKER_DBG_TYPE = -debugtype:coff
1199: ! ELSE
1200: ! ERROR NTDEBUGTYPE macro can one of "", "ntsd", "coff", "windbg" or "both"
1201: ! ENDIF
1202: ! ENDIF
1203: ! ENDIF
1204: !ENDIF
1205:
1206:
1207: !IF "$(BROWSER_INFO)" == "yes"
1208: 386_BROWSER= -FR$*.sbr
1209: ALPHA_BROWSER= -FR$*.sbr
1210: !ELSE
1211: 386_BROWSER=
1212: ALPHA_BROWSER=
1213: !ENDIF
1214:
1215: !IF $(386)
1216: !IF "$(PRECOMPILED_INCLUDE)" != ""
1217: 386_PRECOMPILED=/Yu$(PRECOMPILED_INCLUDE)
1218: 386_PRECOMPILED_TARGET=$(PRECOMPILED_INCLUDE:.h=.pch)
1219: !ELSE
1220: !IF "$(GLOBAL_PRECOMPILED_INCLUDE)" != ""
1221: 386_PRECOMPILED=/Yu$(GLOBAL_PRECOMPILED_INCLUDE)
1222: !ENDIF
1223: !ENDIF
1224: !ELSE
1225: ! IF $(ALPHA)
1226: ! IF "$(PRECOMPILED_INCLUDE)" != ""
1227: ALPHA_PRECOMPILED=/Yu$(PRECOMPILED_INCLUDE)
1228: ALPHA_PRECOMPILED_TARGET=$(PRECOMPILED_INCLUDE:.h=.pch)
1229: ! ELSE
1230: ! IF "$(GLOBAL_PRECOMPILED_INCLUDE)" != ""
1231: ALPHA_PRECOMPILED=/Yu$(GLOBAL_PRECOMPILED_INCLUDE)
1232: ! ENDIF
1233: ! ENDIF
1234: ! ENDIF
1235: !ENDIF
1236:
1237: !IF $(386)
1238: ! IF !$(NTSDK)
1239: 386_CRTAPI_DEFINES=-D_CRTAPI1=__cdecl -D_CRTAPI2=__cdecl -Ditoa=_itoa -Dstricmp=_stricmp
1240: 386_SEH_DEFINES=-Dtry=__try -Dleave=__leave -Dexcept=__except -Dfinally=__finally
1241: ! ELSE
1242: 386_CRTAPI_DEFINES=
1243: 386_SEH_DEFINES=
1244: ! ENDIF
1245: !ENDIF
1246:
1247: 386_CDEFINES=$(386_STD_DEFINES) $(386_SEH_DEFINES) $(386_CRTAPI_DEFINES) $(386_DBG_DEFINES) $(386_ENV_DEFINES) $(LIBC_DEFINES) $(C_DEFINES) $(NET_C_DEFINES)
1248: 386_CFLAGS=$(386_FLAGS) $(NT386FLAGS) $(386_STDFLAGS) $(386_DBGFLAGS) $(386_BROWSER) $(386_PERFFLAGS)
1249:
1250: !IFDEF WIMPMASM
1251: ! IF "$(NT_UP)"=="0"
1252: 386_ASMFLAGS=-D_X86_=1 -Di386=1 -DNT_INST=$(NT_INST) $(MSC_CALL_DEFINE) $(386_DBG_DEFINES) $(386_ENV_DEFINES) $(ASM_DEFINES)
1253: ! ELSE
1254: 386_ASMFLAGS=-D_X86_=1 -Di386=1 -DNT_INST=$(NT_INST) $(NT_UP_DEFINES) $(MSC_CALL_DEFINE) $(386_DBG_DEFINES) $(386_ENV_DEFINES) $(ASM_DEFINES)
1255: ! ENDIF
1256: !ELSE
1257: ! IFDEF WIMPYMASM
1258: ! IF "$(NT_UP)"=="0"
1259: 386_ASMFLAGS=-DNT_INST=$(NT_INST) $(MSC_CALL_DEFINE) $(386_DBG_DEFINES) $(386_ENV_DEFINES) $(ASM_DEFINES)
1260: ! ELSE
1261: 386_ASMFLAGS=-DNT_INST=$(NT_INST) $(NT_UP_DEFINES) $(MSC_CALL_DEFINE) $(386_DBG_DEFINES) $(386_ENV_DEFINES) $(ASM_DEFINES)
1262: ! ENDIF
1263: ! ELSE
1264: 386_ASMFLAGS=$(386_STD_DEFINES) $(386_DBG_DEFINES) $(386_ENV_DEFINES) $(ASM_DEFINES)
1265: ! ENDIF
1266: !ENDIF
1267:
1268: 386_CRTLIBS=
1269:
1270: 386_COMPILER=cl386 -nologo -I i386\ -I . $(INCPATH1) $(386_CDEFINES) $(386_PRECOMPILED) $(386_CFLAGS)
1271: 386_CPP=cl386 -nologo /EP -I i386\ -I . $(INCPATH1) $(386_CDEFINES) $(386_CFLAGS) -Tc
1272: 386_ASSEMBLER=masm386 -Mx $(INCPATH0) $(386_ASMFLAGS)
1273:
1274: 386_LIBRARIAN_FLAGS=-out:$@
1275:
1276: !IF "$(NTDEBUG)" == "ntsd"
1277: 386_LINKER_FLAGS=-out:$@ -debug:FULL
1278: !ELSE
1279: ! IF "$(NTDEBUG)" == "retail"
1280: 386_LINKER_FLAGS=-out:$@ -debug:NONE
1281: ! ELSE
1282: 386_LINKER_FLAGS=-out:$@ -debug:MINIMAL
1283: ! ENDIF # NTDEBUG == retail
1284: !ENDIF # NTDEBUG == ntsd
1285:
1286: !IF "$(NTLEANANDMEAN)" == "leanandmean"
1287: ! IF "$(NTDEBUGTYPE)" == "coff" || "$(NTTEST)"=="ntoskrnl" || "$(TARGETTYPE)"=="DRIVER" || "$(TARGETTYPE)"=="EXPORT_DRIVER" || "$(TARGETTYPE)"=="HAL"
1288: 386_LINKER_FLAGS=-out:$@ -debug:minimal
1289: ! ELSE
1290: 386_LINKER_FLAGS=-out:$@ -debug:none
1291: ! ENDIF # NTDEBUGTYPE != coff || TARGETTYPE
1292: !ENDIF # NTLEANANDMEAN == leanandmean
1293:
1294: !IFDEF IMAGE_TYPE_COFF
1295: 386_LIBRARIAN=lib32 $(386_LIBRARIAN_FLAGS) $(LIBRARIAN_FLAGS) $(LINKER_DBG_TYPE)
1296: !ELSE
1297: 386_LIBRARIAN=lib32 $(386_LIBRARIAN_FLAGS) $(LIBRARIAN_FLAGS) $(LINKER_DBG_TYPE)
1298: !ENDIF
1299:
1300: !IF $(386)
1301: ! IF !$(NTSDK)
1302: LINKER_CHECKSUMS=/release
1303: ! ELSE
1304: LINKER_CHECKSUMS=
1305: ! ENDIF
1306: !ENDIF
1307:
1308: 386_LINKER=link32 $(386_LINKER_FLAGS) $(LINKER_FLAGS) $(LINKER_DBG_TYPE) $(LINKER_CHECKSUMS)
1309:
1310:
1311: #
1312: # Mips option control
1313: #
1314:
1315: !IF "$(MIPS_HOST)" == ""
1316: MIPS_HOST=decsoft6
1317: !ENDIF
1318:
1319: MIPS_ENDIAN=MIPSEL
1320:
1321: !IF "$(MIPS_F77)" == ""
1322:
1323: MIPS_F77=f772.20
1324:
1325: !ENDIF
1326:
1327: !IFDEF SABLE
1328: MIPS_ENDIAN=MIPSEL
1329: MIPS_R4000=1
1330: MIPS_SABLE=1
1331: !ENDIF
1332:
1333: !IF "$(MIPS_HOST)" == "decsoft6"
1334: MIPS_ENDIAN=MIPSEL
1335: !ENDIF
1336:
1337: !IF "$(MIPS_ENDIAN)" == ""
1338: !ERROR Invalid MIPS_HOST $(MIPS_HOST)
1339: !ENDIF
1340:
1341: !IFNDEF GPSIZE
1342: GPSIZE= 0
1343: !ENDIF
1344:
1345: !IFDEF MIPS_CC
1346: ! IFNDEF MIPS_WARNINGS
1347: MIPS_WARNINGS=-std
1348: ! ENDIF
1349: ! IFNDEF MIPS_OPTIMIZATION
1350: MIPS_OPTIMIZATION=-g0
1351: ! ENDIF
1352: ! IFNDEF MIPS_OPTIONS
1353: ! IFDEF MIPS_R4000
1354: MIPS_OPTIONS=-nodwalign
1355: ! ELSE
1356: MIPS_OPTIONS=
1357: ! ENDIF
1358: ! ENDIF
1359: !ENDIF
1360:
1361: NTPATH=/usr/staff/$(USER)/nt
1362:
1363: #
1364: # Now a bunch of MIPS stuff
1365: #
1366:
1367: !IF $(MIPS)
1368:
1369: !IFDEF MIPS_R4000
1370: MIPS_CPU=-DR4000 -D_M_MRX000=4000
1371: MIPS_TRAP_FILE=x4trap.obj
1372: !ELSE
1373: MIPS_CPU=-DR3000 -D_M_MRX000=3000
1374: MIPS_TRAP_FILE=x3trap.obj
1375: !ENDIF
1376:
1377: MIPS_ASM_DEFINES=$(MIPS_ASMCPP)
1378: MIPS_ENV_DEFINES=$(LIBC_DEFINES) $(C_DEFINES) $(NET_C_DEFINES) $(MSC_CPPFLAGS) $(NTCPPFLAGS)
1379:
1380: MIPS_STD_DEFINES=-DMIPS=1 -D_MIPS_=1 -DNO_EXT_KEYS -DWIN32_LEAN_AND_MEAN=1 -D$(MIPS_ENDIAN) -DCONDITION_HANDLING=1 -DNT_INST=$(NT_INST) $(NT_UP_DEFINES)
1381:
1382: !IFDEF MIPS_CC
1383:
1384: #
1385: # Use the MIPS CC compiler
1386: #
1387:
1388: MIPS_C_COMPILER_NAME=cc
1389:
1390: MIPS_DBGFLAGS=
1391: !IF "$(NTDEBUG)" == ""
1392: MIPS_DBG_DEFINES=-DDBG=0 -DDEVL=1 -DBETA=0
1393: !ELSE
1394: !IF "$(NTDEBUG)" == "retail"
1395: MIPS_DBG_DEFINES=-DDBG=0 -DDEVL=1 -DBETA=0
1396: !ELSE
1397: MIPS_DBG_DEFINES=-DDBG=1 -DDEVL=1 -DBETA=1
1398: !ENDIF
1399: !ENDIF
1400:
1401: !IFDEF MIPS_R4000
1402: MIPS_CPU_SWITCHES=-Wab,-mips2 -Wab,-diag
1403: !ELSE
1404: MIPS_CPU_SWITCHES=
1405: !ENDIF
1406:
1407: MIPS_CDEFINES=$(MIPS_STD_DEFINES) $(MIPS_CPU) $(MIPS_DBG_DEFINES) $(MIPS_ENV_DEFINES)
1408: MIPS_CFLAGS=$(MIPS_FLAGS) $(NTMIPSFLAGS) $(MIPS_STDFLAGS) $(MIPS_DBGFLAGS)
1409:
1410: MIPS_CPP=$(MIPS_C_COMPILER_NAME) $(MIPS_WARNINGS) -E -Imips\ -I. $(INCPATH0) $(MIPS_CDEFINES) $(MIPS_CFLAGS) -D_LANGUAGE_C
1411: C_COMPILER=$(MIPS_C_COMPILER_NAME) $(MIPS_WARNINGS) $(MIPS_OPTIONS) -G $(GPSIZE) -checkstack 2048 -excpt $(MIPS_OPTIMIZATION) -O -EL -c $(MIPS_CPU_SWITCHES) -Imips\ -I. $(INCPATH0) $(MIPS_CDEFINES) $(MIPS_CFLAGS) -D_LANGUAGE_C
1412: MIPS_FORTRAN_COMPILER=$(MIPS_F77) $(MIPS_WARNINGS) $(MIPS_OPTIONS) -G $(GPSIZE) -excpt -G0 $(MIPS_OPTIMIZATION) -O -EL -c $(MIPS_CPU_SWITCHES) -Imips\ -I. $(INCPATH0) $(MIPS_CDEFINES) $(MIPS_CFLAGS)
1413: MIPS_ASSEMBLER=$(MIPS_C_COMPILER_NAME) $(MIPS_WARNINGS) $(MIPS_OPTIONS) -G $(GPSIZE) -checkstack 2048 -excpt $(MIPS_OPTIMIZATION) -O -EL -c $(MIPS_CPU_SWITCHES) -Imips\ -I. $(INCPATH0) $(MIPS_CDEFINES) $(MIPS_CFLAGS) -D_LANGUAGE_ASSEMBLY
1414: MIPS_PASCAL=$(MIPS_C_COMPILER_NAME) $(MIPS_OPTIONS) -G $(GPSIZE) -excpt $(MIPS_OPTIMZATION) -O -EL -c $(MIPS_CPU_SWITCHES) -Imips\ -I. $(INCPATH0) $(MIPS_CDEFINES) $(MIPS_CFLAGS) -DLANGUAGE_PASCAL -D_LANGUAGE_PASCAL
1415:
1416: !ELSE
1417:
1418: #
1419: # Use the Microsoft Mips compiler, aka Centaur
1420: #
1421:
1422: MSC_C_COMPILER_NAME=mcl
1423: # MIPS_CL is for historical reasons only.
1424: MIPS_CL=$(MSC_C_COMPILER_NAME)
1425:
1426: MSC_CDEFINES=$(MIPS_STD_DEFINES) $(MIPS_CPU) $(MIPS_DBG_DEFINES) $(MIPS_ENV_DEFINES)
1427: MSC_CFLAGS=$(MIPS_FLAGS) $(NTMIPSFLAGS) $(MIPS_STDFLAGS) $(MIPS_DBGFLAGS)
1428:
1429: MIPS_CPP=$(MSC_C_COMPILER_NAME) -nologo /EP -I mips\ -I. $(INCPATH0) $(MSC_CDEFINES) $(MSC_CFLAGS) -D__stdcall= -D__cdecl=
1430: C_COMPILER=$(MSC_C_COMPILER_NAME) -nologo -I mips\ -I. $(INCPATH0) $(MSC_CDEFINES) $(MSC_CFLAGS) -Gt$(GPSIZE) -D__stdcall= -D__cdecl=
1431: MIPS_FORTRAN_COMPILER=$(MIPS_F77) $(MSC_WARNINGS) $(MIPS_OPTIONS) -G $(GPSIZE) -excpt -G0 $(MSC_OPTIMIZATION) -O -EL -c
1432: MIPS_CRFILTER=echo SHOULDN'T NEED TO CRFILTER THIS!
1433:
1434: #
1435: # Use Mips CC for this as MS doesn't have an assembler yet.
1436: #
1437:
1438: MIPS_C_COMPILER_NAME=cc
1439: !IFDEF MIPS_R4000
1440: MIPS_CPU_SWITCHES=-Wab,-mips2 -Wab,-diag
1441: !ELSE
1442: MIPS_CPU_SWITCHES=
1443: !ENDIF
1444: MIPS_CDEFINES=$(MIPS_STD_DEFINES) $(MIPS_CPU) $(MIPS_DBG_DEFINES) $(MIPS_ENV_DEFINES)
1445: MIPS_CFLAGS=$(MIPS_FLAGS) $(NTMIPSFLAGS) $(MIPS_STDFLAGS) $(MIPS_DBGFLAGS)
1446: MIPS_ASSEMBLER=$(MIPS_C_COMPILER_NAME) -std -nodwalign -G $(GPSIZE) -checkstack 2048 -excpt -g0 -O -EL -c $(MIPS_CPU_SWITCHES) -Imips\ -I. $(INCPATH0) $(MIPS_CDEFINES) $(MIPS_CFLAGS) -D_LANGUAGE_ASSEMBLY
1447:
1448: !ENDIF
1449: !ENDIF
1450:
1451: #
1452: # For historical reasons...
1453: #
1454:
1455: MIPS_COMPILER=$(C_COMPILER)
1456:
1457: #
1458: # Set linker options
1459: #
1460:
1461: !IF "$(NTDEBUG)" == "ntsd"
1462: MIPS_LINKER_FLAGS=-out:$@ -debug:FULL
1463: !ELSE
1464: ! IF "$(NTDEBUG)" == "retail"
1465: MIPS_LINKER_FLAGS=-out:$@ -debug:NONE
1466: ! ELSE
1467: MIPS_LINKER_FLAGS=-out:$@ -debug:MINIMAL
1468: ! ENDIF # NTDEBUG == retail
1469: !ENDIF # NTDEBUG == ntsd
1470:
1471: !IF "$(NTLEANANDMEAN)" == "leanandmean"
1472: ! IF "$(NTDEBUGTYPE)" == "coff" || "$(NTTEST)"=="ntoskrnl" || "$(TARGETTYPE)"=="DRIVER" || "$(TARGETTYPE)"=="EXPORT_DRIVER" || "$(TARGETTYPE)"=="HAL"
1473: MIPS_LINKER_FLAGS=-out:$@ -debug:minimal
1474: ! ELSE
1475: MIPS_LINKER_FLAGS=-out:$@ -debug:none
1476: ! ENDIF # NTDEBUGTYPE != coff || TARGETTYPE
1477: !ENDIF # NTLEANANDMEAN == leanandmean
1478:
1479: MIPS_LINKFLAGS=$(MIPS_LNKFLAGS)
1480: MIPS_LIBRARIAN=lib32 -out:$@ $(LIBRARIAN_FLAGS) $(LINKER_DBG_TYPE)
1481: MIPS_LINKER=link32 $(MIPS_LINKER_FLAGS) $(LINKER_FLAGS) $(LINKER_DBG_TYPE)
1482:
1483: !IF "$(GPSIZE)" == "0"
1484: MIPS_CRTLIBS=
1485: !ELSE
1486: MIPS_CRTLIBS=$(BASEDIR)\lib\mips\$(DDKBUILDENV)\small.lib
1487: LINKGPSIZE=-gpsize:$(GPSIZE)
1488: !ENDIF
1489:
1490: #
1491: # Alpha option control
1492: #
1493:
1494: !IFDEF ALPHA
1495:
1496: ALPHA_AS=acc
1497: ALPHA_DIS=adis
1498: ALPHA_AS_WARNINGS=-std
1499:
1500: ALPHA_START_FILE=start.obj
1501:
1502: !IFNDEF GPSIZE
1503: GPSIZE= 0
1504: !ENDIF
1505:
1506: ALPHA_ENV_DEFINES=$(LIBC_DEFINES) $(C_DEFINES) $(NET_C_DEFINES) $(MSC_CPPFLAGS) $(NTCPPFLAGS)
1507:
1508: ALPHA_STD_DEFINES=-DALPHA=1 -D_ALPHA_=1 -DNO_EXT_KEYS -DWIN32_LEAN_AND_MEAN=1 -DCONDITION_HANDLING=1 -DNT_INST=$(NT_INST) $(NT_UP_DEFINES)
1509:
1510: ALPHA_CDEFINES=$(ALPHA_STD_DEFINES) $(ALPHA_DBG_DEFINES) $(ALPHA_ENV_DEFINES)
1511: ALPHA_CFLAGS=$(ALPHA_FLAGS) $(NTALPHAFLAGS) $(ALPHA_STDFLAGS) $(ALPHA_DBGFLAGS)
1512:
1513: !IF $(_AXPACC_)
1514:
1515: ALPHA_CC = acc
1516:
1517: ALPHA_ASM_DEFINES=$(ALPHA_ASMCPP)
1518: !IF "$(NTDEBUG)" == ""
1519: !IFNDEF ALPHA_OPTIMIZATION
1520: ACC_OPTIMIZATION=-O2
1521: !ENDIF
1522: ALPHA_DBGFLAGS=$(ACC_OPTIMIZATION)
1523: !ELSE
1524: !IF "$(NTDEBUG)" == "retail"
1525: !IFNDEF ALPHA_OPTIMIZATION
1526: ACC_OPTIMIZATION=-O2
1527: !ENDIF
1528: ALPHA_DBGFLAGS=$(ACC_OPTIMIZATION)
1529: !ELSE
1530: !IFNDEF ALPHA_OPTIMIZATION
1531: ACC_OPTIMIZATION=-O0
1532: !ENDIF
1533: ALPHA_DBGFLAGS=$(ACC_OPTIMIZATION)
1534: !ENDIF
1535: !ENDIF
1536:
1537: ALPHA_CPP=$(ALPHA_CC) -E -Ialpha\ -I. $(INCPATH0) $(ALPHA_CDEFINES) $(ALPHA_CFLAGS) -D_LANGUAGE_C
1538:
1539: ALPHA_COMPILER=$(ALPHA_CC) $(ALPHA_OPTIONS) -G $(GPSIZE) -checkstack 4096 -excpt -Olimit 2000 -EL -c $(ALPHA_CPU_SWITCHES) -Ialpha\ -I. $(INCPATH0) $(ALPHA_CDEFINES) $(ALPHA_CFLAGS) -D_LANGUAGE_C
1540:
1541: ALPHA_ASSEMBLER=$(ALPHA_AS) $(ALPHA_AS_WARNINGS) $(ALPHA_OPTIONS) -G $(GPSIZE) -checkstack 4096 -excpt -Olimit 2000 -EL -c $(ALPHA_CPU_SWITCHES) -Ialpha\ -I. $(INCPATH0) $(ALPHA_CDEFINES) $(ALPHA_CFLAGS) -D_LANGUAGE_ASSEMBLY
1542:
1543: !ELSE
1544:
1545: ALPHA_CC = claxp
1546:
1547: ALPHA_COMPILER=$(ALPHA_CC) -nologo -Ialpha\ -I. $(INCPATH0) $(ALPHA_CDEFINES) $(ALPHA_OPTIONS) $(ALPHA_CFLAGS) -D__stdcall= -D_cdecl= -D__cdecl= -Dcdecl= -d2"switch no*check*" -d2"switch mscdev"
1548:
1549: ALPHA_CPP=$(ALPHA_CC) -nologo -EP -Ialpha\ -I. $(INCPATH0) $(ALPHA_CDEFINES) $(ALPHA_OPTIONS) $(ALPHA_CFLAGS) -Gt$(GPSIZE) -D__stdcall= -D_cdecl= -D__cdecl= -Dcdecl=
1550:
1551: ALPHA_ASSEMBLER=$(ALPHA_AS) $(ALPHA_AS_WARNINGS) $(ALPHA_OPTIONS) -G $(GPSIZE) -checkstack 4096 -excpt $(ACC_OPTIMIZATION) -Olimit 2000 -EL $(ALPHA_CPU_SWITCHES) -Ialpha\ -I. $(INCPATH0) $(ALPHA_CDEFINES) $(ALPHA_FLAGS) $(NTALPHAFLAGS) /c -D_LANGUAGE_ASSEMBLY
1552:
1553: !ENDIF
1554:
1555: !IF "$(NTDEBUG)" == "ntsd"
1556: ! IF !$(_AXPACC_)
1557: ALPHA_LINKER_FLAGS=-out:$@ -debug:FULL
1558: ! ELSE
1559: ALPHA_LINKER_FLAGS=-out:$@ -debug:MINIMAL
1560: ! ENDIF
1561: !ELSE
1562: ! IF "$(NTDEBUG)" == "retail"
1563: ALPHA_LINKER_FLAGS=-out:$@ -debug:NONE
1564: ! ELSE
1565: ALPHA_LINKER_FLAGS=-out:$@ -debug:MINIMAL
1566: ! ENDIF # NTDEBUG == retail
1567: !ENDIF # NTDEBUG == ntsd
1568:
1569: !IF "$(NTLEANANDMEAN)" == "leanandmean"
1570: ! IF "$(NTDEBUGTYPE)" == "coff" || "$(NTTEST)"=="ntoskrnl" || "$(TARGETTYPE)"=="DRIVER" || "$(TARGETTYPE)"=="EXPORT_DRIVER" || "$(TARGETTYPE)"=="HAL"
1571: ALPHA_LINKER_FLAGS=-out:$@ -debug:minimal
1572: ! ELSE
1573: ALPHA_LINKER_FLAGS=-out:$@ -debug:none
1574: ! ENDIF # NTDEBUGTYPE != coff || TARGETTYPE
1575: !ENDIF # NTLEANANDMEAN == leanandmean
1576:
1577: ALPHA_LINKFLAGS=$(ALPHA_LNKFLAGS)
1578: ALPHA_LIBRARIAN=lib32 -out:$@ -machine:alpha $(LIBRARIAN_FLAGS) $(LINKER_DBG_TYPE)
1579: ALPHA_LINKER=link32 $(ALPHA_LINKER_FLAGS) -machine:alpha $(LINKER_FLAGS) $(LINKER_DBG_TYPE)
1580:
1581: !IF "$(GPSIZE)" == "0"
1582: ALPHA_CRTLIBS=
1583: !ELSE
1584: # ALPHA_CRTLIBS=$(BASEDIR)\lib\alpha\$(DDKBUILDENV)\small.lib
1585: ALPHA_CRTLIBS=
1586: LINKGPSIZE=-gpsize:$(GPSIZE)
1587: !ENDIF
1588:
1589: !ENDIF # ALPHA
1590:
1591: #
1592: # C++ definitions
1593: #
1594:
1595: !IFNDEF CXXTMP
1596: CXXTMP = $(TMP)
1597: CXXDEL = @del $(CXXTMP)\$(@B).ixx $(CXXTMP)\$(@B).c
1598: CXXDEL_ALPHA = @del $(CXXTMP)\$(@B).ixx $(CXXTMP)\$(@B).i
1599: !ENDIF # CXXTMP
1600:
1601:
1602: !IFDEF DEBUG
1603: CXXDEBUG =-D$(DEBUG)
1604: !ELSE
1605: CXXDEBUG =
1606: !ENDIF
1607:
1608: !IF $(386)
1609: CXXCPP=cl386 -nologo $(MAX_ID_LENGTH) -D_CFRONT_PASS_
1610: CXXCPP_FLAGS = $(CXXCPP_OPTIONS) -E -DNO_EXT_KEY -D_X86_=1 -Di386=1 $(CXXDEBUG) -Dfar= -Dnear= -Dhuge= -Dpascal= $(386_CDEFINES) > $(CXXTMP)\$(@B).ixx $<
1611: !ENDIF
1612:
1613: !IF $(MIPS)
1614: !IFDEF MIPS_CC
1615: CXXCPP=cc -D_CFRONT_PASS_
1616: CXXCPP_FLAGSMIPS= $(CXXCPP_OPTIONS) -E $(MIPS_WARNINGS) -Wp,-XdA -DMIPS=1 -D_MIPS_=1 $(CXXDEBUG) -Dfar= -Dnear= -Dhuge= -Dpascal= $(MIPS_CDEFINES) > $(CXXTMP)\$(@B).ixx $<
1617: !ELSE
1618: CXXCPP=$(MSC_C_COMPILER_NAME) -D_CFRONT_PASS_
1619: CXXCPP_FLAGSMIPS= $(CXXCPP_OPTIONS) -E -DMIPS=1 -D_MIPS_=1 $(CXXDEBUG) -D_cdecl= -Dcdecl= -Dfar= -Dnear= -Dhuge= -Dpascal= -D_syscall= -D__stdcall= -D__cdecl= $(MIPS_CDEFINES) > $(CXXTMP)\$(@B).ixx $<
1620: !ENDIF
1621: !ENDIF
1622:
1623: !IF $(ALPHA)
1624: ! IF !$(_AXPACC_)
1625: CXXCPP=claxp -D_CFRONT_PASS_ -D_CFRONT -nologo $(MAX_ID_LENGTH)
1626: CXXCPP_FLAGSALPHA= $(CXXCPP_OPTIONS) -E -DNO_EXT_KEY $(MSC_WARNING_LEVEL) -DALPHA=1 -D_ALPHA_=1 $(CXXDEBUG) -Dcdecl= -D__cdecl= -Dcdecl= -Dfar= -Dnear= -Dhuge= -Dpascal= -D_syscall= -D__stdcall= $(ALPHA_CDEFINES) -Tc > $(CXXTMP)\$(@B).ixx $<
1627: ! ELSE
1628: CXXCPP=acc -D_CFRONT_PASS_ -D_CFRONT
1629: CXXCPP_FLAGSALPHA= $(CXXCPP_OPTIONS) -E -std -Wp,-XdA -DALPHA=1 -D_ALPHA_=1 $(CXXDEBUG) -D_cdecl= -Dcdecl= -Dfar= -Dnear= -Dhuge= -Dpascal= -D_syscall= -D_stdcall= $(ALPHA_CDEFINES) > $(CXXTMP)\$(@B).ixx $<
1630: ! ENDIF
1631: !ENDIF
1632:
1633: !IFNDEF CXXCPP_OPTIONS
1634: CXXCPP_OPTIONS=
1635: !ENDIF
1636:
1637: CXX = cfront
1638: MIPSXCPT = +E$(BASEDIR)\inc\mipsxcpt.tab
1639: ALPHAXCPT = +E$(BASEDIR)\inc\alphxcpt.tab
1640:
1641: !IFNDEF CXX_OPTIONS
1642: CXX_OPTIONS=+m7 +H63
1643: !ENDIF
1644:
1645: CXX_FLAGS = +x$(BASEDIR)\inc\386align.tab $(CXX_OPTIONS) +L +f$(<) <$(CXXTMP)\$(@B).ixx >$(CXXTMP)\$(@B).c
1646: CXX_FLAGSMIPS = +x$(BASEDIR)\inc\mipsalgn.tab $(CXX_OPTIONS) +L $(MIPSXCPT) +M +f$(<) <$(CXXTMP)\$(@B).ixx >$(CXXTMP)\$(@B).c
1647: CXX_FLAGSALPHA = +x$(BASEDIR)\inc\alphalgn.tab $(CXX_OPTIONS) +L $(ALPHAXCPT) +M +f$(<) <$(CXXTMP)\$(@B).ixx >$(CXXTMP)\$(@B).i
1648:
1649: #
1650: # Define this macro so including make files can supply a yes prompt
1651: # as appropriate. Put the "yes." file in a visible place for OEM's
1652: # so they can make too.
1653: #
1654:
1655: YESRESP=$(BASEDIR)\INC\yes.
1656:
1657: #
1658: # Standard inference rules for C files that produce object files.
1659: #
1660:
1661: .SUFFIXES: .cxx .c .f .rc .s .asm .obj .exe .res .p
1662:
1663: #
1664: # Default language ID to US English (0x0409)
1665: #
1666:
1667: #
1668: # Default language ID to US English (0x0409)
1669: #
1670:
1671: RC_COMPILER=rc -l 409
1672:
1673: # !IF "$(LINKONLY)" != "1"
1674:
1675: !IFDEF BLDCRT
1676: {}.cxx{obj\i386\}.obj:
1677: $(386_COMPILER) -Fo$@ $(MAKEDIR)\$(<F)
1678:
1679: {i386\}.cxx{obj\i386\}.obj:
1680: $(386_COMPILER) -Fo$@ $(MAKEDIR)\$<
1681:
1682: !ELSE
1683: {}.cxx{obj\i386\}.obj:
1684: $(CXXCPP) $(INCPATH0) $(CXXCPP_FLAGS)
1685: $(CXX) $(CXX_FLAGS)
1686: $(386_COMPILER) -Fo$@ $(CXXTMP)\$(@B).c
1687: @$(CXXDEL)
1688:
1689: {i386\}.cxx{obj\i386\}.obj:
1690: $(CXXCPP) $(INCPATH0) $(CXXCPP_FLAGS)
1691: $(CXX) $(CXX_FLAGS)
1692: $(386_COMPILER) -Fo$@ $(CXXTMP)\$(@B).c
1693: @$(CXXDEL)
1694:
1695: !ENDIF
1696:
1697: {i386\}.c{obj\i386\}.obj:
1698: $(386_COMPILER) -Fo$@ $(MAKEDIR)\$<
1699:
1700: {}.c{obj\i386\}.obj:
1701: $(386_COMPILER) -Fo$@ $(MAKEDIR)\$(<F)
1702:
1703: {}.rc{obj\i386\}.res:
1704: !IF !$(NTSDK)
1705: $(RC_COMPILER) -r -fo $(@R).res $(386_CDEFINES) $(INCPATH0) $<
1706: !ELSE
1707: $(RC_COMPILER) -r -fo $(@R).tmp $(386_CDEFINES) $(INCPATH0) $<
1708: @cvtres -i386 $(@R).tmp -r -o $@
1709: ! IF "$(NTKEEPRESOURCETMPFILES)" == ""
1710: @-erase $(@R).tmp
1711: ! ENDIF
1712: !ENDIF
1713:
1714: !IF $(386)
1715: {}.c{}.cod:
1716: $(386_COMPILER) /Fc $(MAKEDIR)\$(<F)
1717:
1718: {i386\}.c{}.cod:
1719: $(386_COMPILER) /Fc $(MAKEDIR)\$<
1720:
1721: {}.c{}.pp:
1722: $(386_COMPILER) /E $(MAKEDIR)\$< > $@
1723:
1724: {i386\}.c{}.pp:
1725: $(386_COMPILER) /E $(MAKEDIR)\$< > $@
1726:
1727: {i386\}.asm{}.lst:
1728: $(386_ASSEMBLER) $<,obj\i386\$(@B).obj,$@;
1729:
1730: !IFDEF BLDCRT
1731: {}.cxx{}.cod:
1732: $(386_COMPILER) /Fc $(MAKEDIR)\$(<F)
1733:
1734: {}.cxx{}.pp:
1735: $(386_COMPILER) /E $(MAKEDIR)\$< > $@
1736:
1737: !ELSE
1738: {}.cxx{}.cod:
1739: $(CXXCPP) $(INCPATH0) $(CXXCPP_FLAGS)
1740: $(CXX) $(CXX_FLAGS)
1741: $(386_COMPILER) /Fc$(MAKEDIR)\$(<B).cod $(CXXTMP)\$(@B).c
1742: @$(CXXDEL)
1743:
1744: {}.cxx{}.pp:
1745: $(CXXCPP) $(INCPATH0) $(CXXCPP_FLAGS)
1746: $(CXX) $(CXX_FLAGS)
1747: $(386_COMPILER) /E $(CXXTMP)\$(@B).c > $@
1748: @$(CXXDEL)
1749:
1750: !ENDIF
1751:
1752:
1753: !ELSE
1754:
1755: !IF $(MIPS)
1756: {}.c{}.pp:
1757: $(MIPS_CPP) $< > $(<B).pp
1758:
1759: {mips\}.c{}.pp:
1760: $(MIPS_CPP) $< > $(<B).pp
1761:
1762:
1763: !IFNDEF MIPS_CC
1764: {}.c{}.cod:
1765: @-erase $@ >nul 2>&1
1766: @echo ClMips -S $< " $(C_COMPILER) "
1767: @$(C_COMPILER) -Fc $<
1768:
1769: {mips\}.c{}.cod:
1770: @-erase $@ >nul 2>&1
1771: @echo ClMips $< " $(C_COMPILER) "
1772: @$(C_COMPILER) -Fc $<
1773:
1774: !ELSE
1775:
1776: {}.c{}.cod:
1777: @-erase $@ >nul 2>&1
1778: @echo ClMips $< " $(C_COMPILER) "
1779: @$(C_COMPILER) -o obj\mips\$(<B).o $(MAKEDIR)\$(<F)
1780: @dis -S obj\mips\$(<B).o >$(<B).cod
1781: @del obj\mips\$(<B).o
1782:
1783: {mips\}.c{}.cod:
1784: @-erase $@ >nul 2>&1
1785: @echo ClMips $< " $(C_COMPILER) "
1786: @$(C_COMPILER) -o obj\mips\$(<B).o $(MAKEDIR)\mips\$(<F)
1787: @dis -S obj\mips\$(<B).o >$(<B).cod
1788: @del obj\mips\$(<B).o
1789:
1790: !ENDIF
1791:
1792: !ENDIF
1793: !ENDIF
1794:
1795:
1796: !IFNDEF MIPS_CC
1797: !IFDEF BLDCRT
1798:
1799: {}.cxx{obj\mips\}.obj:
1800: $(C_COMPILER) -Fo$@ $(MAKEDIR)\$(<F)
1801:
1802: {mips\}.cxx{obj\mips\}.obj:
1803: $(C_COMPILER) -Fo$@ $(MAKEDIR)\$<
1804:
1805: !ELSE
1806:
1807: {}.cxx{obj\mips\}.obj:
1808: @-erase $@ >nul 2>&1
1809: @echo ClMips $< " $(C_COMPILER) "
1810: @$(CXXCPP) $(INCPATH0) $(CXXCPP_FLAGSMIPS)
1811: @$(CXX) $(CXX_FLAGSMIPS)
1812: @$(C_COMPILER) -Fo$@ $(CXXTMP)\$(@B).c
1813: @$(CXXDEL)
1814:
1815: {mips\}.cxx{obj\mips\}.obj:
1816: @-erase $@ >nul 2>&1
1817: @echo ClMips $< " $(C_COMPILER) "
1818: @$(CXXCPP) $(INCPATH0) $(CXXCPP_FLAGSMIPS)
1819: @$(CXX) $(CXX_FLAGSMIPS)
1820: @$(C_COMPILER) -Fo$@ $(CXXTMP)\$(@B).c
1821: @$(CXXDEL)
1822: !ENDIF
1823: !ELSE
1824:
1825: {}.cxx{obj\mips\}.obj:
1826: @-erase $@ >nul 2>&1
1827: @echo ClMips $< " $(C_COMPILER) "
1828: @$(CXXCPP) $(INCPATH0) $(CXXCPP_FLAGSMIPS)
1829: @$(CXX) $(CXX_FLAGSMIPS)
1830: @$(C_COMPILER) $(CXXTMP)\$(@B).c
1831: @$(MIP2COFF) $(CXXTMP)\$(@B).o
1832: @copy $(CXXTMP)\$(@B).o $@ >NUL
1833: @$(CXXDEL)
1834: @del $(CXXTMP)\$(@B).o
1835:
1836: {mips\}.cxx{obj\mips\}.obj:
1837: @-erase $@ >nul 2>&1
1838: @echo ClMips $< " $(C_COMPILER) "
1839: @$(CXXCPP) $(INCPATH0) $(CXXCPP_FLAGSMIPS)
1840: @$(CXX) $(CXX_FLAGSMIPS)
1841: @$(C_COMPILER) $(CXXTMP)\$(@B).c
1842: @$(MIP2COFF) $(CXXTMP)\$(@B).o
1843: @copy $(CXXTMP)\$(@B).o $@ >NUL
1844: @$(CXXDEL)
1845: @del $(CXXTMP)\$(@B).o
1846:
1847: !ENDIF
1848:
1849: !IFNDEF MIPS_CC
1850: {}.c{obj\mips\}.obj:
1851: @-erase $@ >nul 2>&1
1852: @echo ClMips $< " $(C_COMPILER) "
1853: @$(C_COMPILER) -Fo$@ $(MAKEDIR)\$<
1854:
1855: {mips\}.c{obj\mips\}.obj:
1856: @-erase $@ >nul 2>&1
1857: @echo ClMips $< " $(C_COMPILER) "
1858: @$(C_COMPILER) -Fo$@ $(MAKEDIR)\mips\$(<F)
1859:
1860: !ELSE
1861:
1862: {}.c{obj\mips\}.obj:
1863: @-erase $@ >nul 2>&1
1864: @echo ClMips $< " $(C_COMPILER) "
1865: @$(C_COMPILER) -o $@ $(MAKEDIR)\$(<F)
1866: @$(MIP2COFF) $@
1867:
1868: {mips\}.c{obj\mips\}.obj:
1869: @-erase $@ >nul 2>&1
1870: @echo ClMips $< " $(C_COMPILER) "
1871: @$(C_COMPILER) -o $@ $(MAKEDIR)\mips\$(<F)
1872: @$(MIP2COFF) $@
1873:
1874: {}.p{obj\mips\}.obj:
1875: @-erase $@ >nul 2>&1
1876: @echo ClMips $< " $(MIPS_PASCAL) "
1877: @$(MIPS_PASCAL) -o $@ $(MAKEDIR)\$(<F)
1878: @$(MIP2COFF) $@
1879:
1880: {mips\}.p{obj\mips\}.obj:
1881: @-erase $@ >nul 2>&1
1882: @echo ClMips $< " $(MIPS_PASCALL) "
1883: @$(MIPS_PASCAL) -o $@ $(MAKEDIR)\mips\$(<F)
1884: @$(MIP2COFF) $@
1885:
1886: !ENDIF
1887:
1888: {}.f{obj\mips\}.obj:
1889: @-erase $@ >nul 2>&1
1890: @echo F77Mips $< " $(MIPS_FORTRAN_COMPILER) "
1891: $(MIPS_FORTRAN_COMPILER) -o $@ $(MAKEDIR)\$(<F)
1892: @$(MIP2COFF) $@
1893:
1894:
1895: {mips\}.f{obj\mips\}.obj:
1896: @-erase $@ >nul 2>&1
1897: @echo F77Mips $< " $(MIPS_FORTRAN_COMPILER) "
1898: $(MIPS_FORTRAN_COMPILER) -o $@ $(MAKEDIR)\mips\$(<F)
1899: @$(MIP2COFF) $@
1900:
1901: {}.rc{obj\mips\}.res:
1902: $(RC_COMPILER) -r -fo $(@R).tmp $(MIPS_CDEFINES) $(INCPATH0) $<
1903: @cvtres -mips $(@R).tmp -r -o $@
1904: !IF "$(NTKEEPRESOURCETMPFILES)" == ""
1905: @-erase $(@R).tmp
1906: !ENDIF
1907:
1908: !IF $(ALPHA)
1909: {}.c{}.pp:
1910: $(ALPHA_CPP) $< > $(<B).pp
1911:
1912: {alpha\}.c{}.pp:
1913: $(ALPHA_CPP) $< > $(<B).pp
1914:
1915: {}.rc{obj\alpha\}.res:
1916: $(RC_COMPILER) -r -fo $(@R).tmp $(ALPHA_CDEFINES) $(INCPATH0) $<
1917: @cvtres -alpha $(@R).tmp -r -o $@
1918: !IF "$(NTKEEPRESOURCETMPFILES)" == ""
1919: @-erase $(@R).tmp
1920: !ENDIF
1921:
1922: !IF !$(_AXPACC_)
1923:
1924: {}.c{}.cod:
1925: @-erase $@ >nul 2>&1
1926: @echo ClAlpha $< " $(ALPHA_COMPILER) "
1927: @$(ALPHA_COMPILER) -FAacs -Fa$(<B).cod -Foobj\alpha\$(<B).o $(MAKEDIR)\$(<F)
1928: @del obj\alpha\$(<B).o
1929:
1930: {alpha\}.c{}.cod:
1931: @-erase $@ >nul 2>&1
1932: @echo ClAlpha $< " $(ALPHA_COMPILER) "
1933: @$(ALPHA_COMPILER) -FAacs -Fa$(<B).cod -Foobj\alpha\$(<B).o $(MAKEDIR)\alpha\$(<F)
1934: @del obj\alpha\$(<B).o
1935:
1936: !ELSE
1937:
1938: {}.c{}.cod:
1939: @-erase $@ >nul 2>&1
1940: @echo ClAlpha $< " $(ALPHA_COMPILER) "
1941: @$(ALPHA_COMPILER) -o obj\alpha\$(<B).o $(MAKEDIR)\$(<F)
1942: @$(ALPHA_DIS) -S obj\alpha\$(<B).o >$(<B).cod
1943: @del obj\alpha\$(<B).o
1944:
1945: {alpha\}.c{}.cod:
1946: @-erase $@ >nul 2>&1
1947: @echo ClAlpha $< " $(ALPHA_COMPILER) "
1948: @$(ALPHA_COMPILER) -o obj\alpha\$(<B).o $(MAKEDIR)\alpha\$(<F)
1949: @$(ALPHA_DIS) -S obj\alpha\$(<B).o >$(<B).cod
1950: @del obj\alpha\$(<B).o
1951:
1952: !ENDIF
1953:
1954: !IF !$(_AXPACC_)
1955:
1956: !IFDEF BLDCRT
1957:
1958: {}.cxx{obj\alpha\}.obj:
1959: @-erase $@ >nul 2>&1
1960: @echo ClAlpha $< " $(ALPHA_COMPILER) "
1961: @$(ALPHA_COMPILER) -Fo$@ $(MAKEDIR)\$(<F)
1962:
1963: {alpha\}.cxx{obj\alpha\}.obj:
1964: @-erase $@ >nul 2>&1
1965: @echo ClAlpha $< " $(ALPHA_COMPILER) "
1966: @$(ALPHA_COMPILER) -Fo$@ $(MAKEDIR)\alpha\$(<F)
1967:
1968: !ELSE
1969:
1970: {}.cxx{obj\alpha\}.obj:
1971: @-erase $@ >nul 2>&1
1972: @echo ClAlpha $< " $(ALPHA_COMPILER) "
1973: @$(CXXCPP) -I. -Ialpha $(INCPATH0) $(CXXCPP_FLAGSALPHA)
1974: @$(CXX) $(CXX_FLAGSALPHA)
1975: @sed -e "s/builtin_alignof/builtin_isfloat/;/extern int __builtin_va_start/d" -e "s/typedef unsigned int size_t ;/& void * memset(void *, int, size_t); void * memcpy(void *, const void *, size_t); int memcmp(const void *, const void *, size_t);/" $(CXXTMP)\$(@B).i > $(CXXTMP)\$(@B).i2
1976: @del $(CXXTMP)\$(@B).i > nul 2>&1
1977: @ren $(CXXTMP)\$(@B).i2 $(@B).i > nul 2>&1
1978: @$(ALPHA_COMPILER) -Dcdecl= -D_syscall= -Tc $(CXXTMP)\$(@B).i -Fo$@
1979: @$(CXXDEL_ALPHA)
1980:
1981: {alpha\}.cxx{obj\alpha\}.obj:
1982: @-erase $@ >nul 2>&1
1983: @echo ClAlpha $< " $(ALPHA_COMPILER) "
1984: @$(CXXCPP) -I. -Ialpha $(INCPATH0) $(CXXCPP_FLAGSALPHA)
1985: @$(CXX) $(CXX_FLAGSALPHA)
1986: @sed -e "s/builtin_alignof/builtin_isfloat/;/extern int __builtin_va_start/d" -e "s/typedef unsigned int size_t ;/& void * memset(void *, int, size_t); void * memcpy(void *, const void *, size_t); int memcmp(const void *, const void *, size_t);/" $(CXXTMP)\$(@B).i > $(CXXTMP)\$(@B).i2
1987: @del $(CXXTMP)\$(@B).i > nul 2>&1
1988: @ren $(CXXTMP)\$(@B).i2 $(@B).i > nul 2>&1
1989: @$(ALPHA_COMPILER) -Dcdecl= -D_syscall= -Tc $(CXXTMP)\$(@B).i -Fo$@
1990: @$(CXXDEL_ALPHA)
1991:
1992: !ENDIF
1993:
1994: !ELSE
1995:
1996: {}.cxx{obj\alpha\}.obj:
1997: @-erase $@ >nul 2>&1
1998: @echo ClAlpha $< " $(ALPHA_COMPILER) "
1999: @$(CXXCPP) -I. -Ialpha $(INCPATH0) $(CXXCPP_FLAGSALPHA)
2000: @$(CXX) $(CXX_FLAGSALPHA)
2001: @sed -e "s/builtin_alignof/builtin_isfloat/;/extern int __builtin_va_start/d" $(CXXTMP)\$(@B).i > $(CXXTMP)\$(@B).i2
2002: @del $(CXXTMP)\$(@B).i > nul 2>&1
2003: @ren $(CXXTMP)\$(@B).i2 $(@B).i > nul 2>&1
2004: @$(ALPHA_COMPILER) -Dcdecl= -D_syscall= $(CXXTMP)\$(@B).i -o $@
2005: @$(A2COFF) $@
2006: @$(CXXDEL_ALPHA)
2007:
2008: {alpha\}.cxx{obj\alpha\}.obj:
2009: @-erase $@ >nul 2>&1
2010: @echo ClAlpha $< " $(ALPHA_COMPILER) "
2011: @$(CXXCPP) -I. -Ialpha $(INCPATH0) $(CXXCPP_FLAGSALPHA)
2012: @$(CXX) $(CXX_FLAGSALPHA)
2013: @sed -e "s/builtin_alignof/builtin_isfloat/;/extern int __builtin_va_start/d" $(CXXTMP)\$(@B).i > $(CXXTMP)\$(@B).i2
2014: @del $(CXXTMP)\$(@B).i > nul 2>&1
2015: @ren $(CXXTMP)\$(@B).i2 $(@B).i > nul 2>&1
2016: @$(ALPHA_COMPILER) -Dcdecl= -D_syscall= $(CXXTMP)\$(@B).i -o $@
2017: @$(A2COFF) $@
2018: @$(CXXDEL_ALPHA)
2019:
2020: !ENDIF
2021:
2022: !IF !$(_AXPACC_)
2023:
2024: {}.c{obj\alpha\}.obj:
2025: @-erase $@ >nul 2>&1
2026: @echo ClAlpha $< " $(ALPHA_COMPILER) "
2027: @$(ALPHA_COMPILER) -Fo$@ $(MAKEDIR)\$(<F)
2028:
2029: {alpha\}.c{obj\alpha\}.obj:
2030: @-erase $@ >nul 2>&1
2031: @echo ClAlpha $< " $(ALPHA_COMPILER) "
2032: @$(ALPHA_COMPILER) -Fo$@ $(MAKEDIR)\alpha\$(<F)
2033:
2034: .SUFFIXES: .il
2035:
2036: {}.il{}.cod:
2037: @-erase $@ >nul 2>&1
2038: @echo ClAlpha $< " $(ALPHA_COMPILER) "
2039: @$(ALPHA_COMPILER) -FAac -Fa$(<B).cod -B1..\bootbin\null.exe -Bk$(<B). -Foobj\alpha\$(<B).o $(MAKEDIR)\$(<B).c
2040: @del obj\alpha\$(<B).o
2041:
2042: {}.il{obj\alpha\}.obj:
2043: @-erase $@ >nul 2>&1
2044: @echo ClAlpha $< " $(ALPHA_COMPILER) "
2045: @$(ALPHA_COMPILER) -B1..\bootbin\null.exe -Bk$(<B). -Fo$@ $(MAKEDIR)\$(<B).c
2046:
2047: !ELSE
2048:
2049: {}.c{obj\alpha\}.obj:
2050: @-erase $@ >nul 2>&1
2051: @echo ClAlpha $< " $(ALPHA_COMPILER) "
2052: @$(ALPHA_COMPILER) -o $@ $(MAKEDIR)\$(<F)
2053: @$(A2COFF) $@
2054:
2055: {alpha\}.c{obj\alpha\}.obj:
2056: @-erase $@ >nul 2>&1
2057: @echo ClAlpha $< " $(ALPHA_COMPILER) "
2058: @$(ALPHA_COMPILER) -o $@ $(MAKEDIR)\alpha\$(<F)
2059: @$(A2COFF) $@
2060:
2061: !ENDIF
2062:
2063: !ENDIF ALPHA
2064:
2065: #
2066: # Standard inference rule for Assembler files that produce object files
2067: # NOTE: assembler files MUST be in a subdirectory.
2068: #
2069:
2070: {i386\}.asm{obj\i386\}.obj:
2071: $(386_ASSEMBLER) $<,$@;
2072:
2073: {mips\}.s{obj\mips\}.obj:
2074: @-erase $@ >nul 2>&1
2075: @echo AsMips $< " $(MIPS_ASSEMBLER) "
2076: @$(MIPS_ASSEMBLER) -o $@ $(MAKEDIR)\mips\$(<F)
2077: @$(MIP2COFF) $@
2078:
2079: {alpha\}.s{obj\alpha\}.obj:
2080: @-erase $@ >nul 2>&1
2081: @echo AsAlpha $< " $(ALPHA_ASSEMBLER) "
2082: @$(ALPHA_ASSEMBLER) -o $@ $(MAKEDIR)\alpha\$(<F)
2083: @$(A2COFF) $@
2084:
2085: # !ENDIF # !IF LINKONLY
2086:
2087: #
2088: # Standard inference rule for User Mode object files that produce User Mode
2089: # image files
2090: #
2091:
2092: !IFDEF EXEPROFILEINPUT
2093: EXEORDER=-order:@$(@B).prf
2094: !ENDIF
2095:
2096: {obj\i386\}.obj{obj\i386\}$(UMAPPLEXT):
2097: $(386_LINKER) @<<
2098: -machine:i386
2099: $(EXEORDER)
2100: -base:$(386_UMBASE)
2101: -align:0x1000
2102: -subsystem:$(SUBSYSTEM)
2103: $(386_UMENTRY)
2104: $(386_LINKFLAGS)
2105: $(386_UMRES)
2106: $<
2107: $(386_UMOBJS)
2108: $(386_UMLIBS)
2109: $(386_CRTLIBS)
2110: $(386_LINKLIBS)
2111: <<
2112: !IFDEF _NT386TREE
2113: binplace $(BINPLACE_FLAGS) $@
2114: !ENDIF
2115:
2116:
2117: {obj\mips\}.obj{obj\mips\}$(UMAPPLEXT):
2118: $(MIPS_LINKER) @<<
2119: -machine:mips
2120: $(LINKGPSIZE)
2121: -base:$(MIPS_UMBASE)
2122: -align:0x1000
2123: -subsystem:$(SUBSYSTEM)
2124: $(MIPS_UMENTRY)
2125: $(MIPS_LINKFLAGS)
2126: $(MIPS_UMRES)
2127: $<
2128: $(MIPS_UMOBJS)
2129: $(MIPS_CRTLIBS)
2130: $(MIPS_UMLIBS)
2131: $(MIPS_LINKLIBS)
2132: <<
2133: !IFDEF _NTMIPSTREE
2134: binplace $(BINPLACE_FLAGS) $@
2135: !ENDIF
2136:
2137:
2138: {obj\alpha\}.obj{obj\alpha\}$(UMAPPLEXT):
2139: $(ALPHA_LINKER) @<<
2140: $(LINKGPSIZE)
2141: -base:$(ALPHA_UMBASE)
2142: -subsystem:$(SUBSYSTEM)
2143: $(ALPHA_UMENTRY)
2144: $(ALPHA_LINKFLAGS)
2145: $(ALPHA_UMRES)
2146: $<
2147: $(ALPHA_UMOBJS)
2148: $(ALPHA_CRTLIBS)
2149: $(ALPHA_UMLIBS)
2150: $(ALPHA_LINKLIBS)
2151: <<
2152: !IFDEF _NTALPHATREE
2153: binplace $(BINPLACE_FLAGS) $@
2154: !ENDIF
2155:
2156:
2157:
2158: #
2159: # Standard list of targets: all, clean and loc. all is the default target.
2160: #
2161:
2162: all: obj\_objects.mac $(386_PRECOMPILED_TARGET) \
2163: $(ALPHA_PRECOMPILED_TARGET) \
2164: $(NTTARGETFILE0) \
2165: $(TARGETOBJFILES) \
2166: $(TARGETLIBFILES) \
2167: $(NTTARGETFILE1) \
2168: $(TARGETEXEFILES) \
2169: $(386_UMOBJFILES) $(MIPS_UMOBJFILES) $(ALPHA_UMOBJFILES) \
2170: $(386_UMEXEFILES) $(MIPS_UMEXEFILES) $(ALPHA_UMEXEFILES) \
2171: $(NTTARGETFILES)
2172: !IF "$(BUILDMSG)" != ""
2173: @ech ; $(BUILDMSG) ;
2174: !ENDIF
2175:
2176: update:
2177: @ech Updating library. ;
2178:
2179: obj\_objects.mac: .\sources
2180: @echo Rebuilding obj\_objects.mac from SOURCES.
2181: @build -O >nul 2>&1
2182: @echo obj\_objects.mac was rebuilt, please reinvoke NMAKE
2183: @md \ >nul 2>nul
2184:
2185: loc:
2186: @-loc *.h $(SOURCES)
2187:
2188: print:
2189: @-ppr *.h $(SOURCES)
2190:
2191: !IFDEF NTTARGETFILES
2192: !INCLUDE .\makefile.inc
2193: !ELSE
2194: !IFDEF NTTARGETFILE0
2195: !INCLUDE .\makefile.inc
2196: !ELSE
2197: !IFDEF NTTARGETFILE1
2198: !INCLUDE .\makefile.inc
2199: !ENDIF
2200: !ENDIF
2201: !ENDIF
2202:
2203: !IF $(386)
2204: !IF "$(PRECOMPILED_INCLUDE)" != ""
2205: $(386_PRECOMPILED_TARGET): $(PRECOMPILED_INCLUDE)
2206: cl386 -nologo -I i386\ -I . $(INCPATH1) $(386_CDEFINES) /Yc$(PRECOMPILED_INCLUDE) $(386_CFLAGS) /Tc<<
2207: #include "$(PRECOMPILED_INCLUDE)"
2208: <<
2209: # erase xxx001.c
2210: !ENDIF
2211: !ENDIF
2212:
2213: !IFNDEF NOLINK
2214:
2215: !IF "$(UMTEST)" != "" || "$(UMAPPL)" != ""
2216:
2217: !IF $(386)
2218: $(386_UMEXEFILES): $(386_UMLIBS) $(386_CRTLIBS) $(386_LINKLIBS)
2219:
2220: !ENDIF
2221:
2222: !IF $(MIPS)
2223: $(MIPS_UMEXEFILES): $(MIPS_UMLIBS) $(MIPS_CRTLIBS) $(MIPS_LINKLIBS)
2224:
2225: !ENDIF
2226:
2227: !IF $(ALPHA)
2228: $(ALPHA_UMEXEFILES): $(ALPHA_UMLIBS) $(ALPHA_CRTLIBS) $(ALPHA_LINKLIBS)
2229:
2230: !ENDIF
2231:
2232: !ENDIF
2233: !ENDIF
2234:
2235: #
2236: # These dependencies produce the target binaries from the object files.
2237: # These will trigger the sources to object inference rules to generate the
2238: # object files.
2239: #
2240:
2241: !IF $(386)
2242: !IF "$(386TARGET)" != ""
2243: !IF "$(TARGETTYPE)"=="PROGLIB"
2244: $(386TARGET:.exe=.lib) $(386TARGET:.exe=.exp): $(386_DLLDEF) $(386_LINKLIBS) $(386_OBJECTS)
2245: -lib32 -out:$(@R).lib @<<
2246: -machine:i386
2247: -def:$(386_DLLDEF)
2248: $(386_LINKLIBS)
2249: $(386_OBJECTS)
2250: <<
2251: $(386TARGET): $(386_OBJECTS) $(TARGETPATH)\i386\$(DDKBUILDENV)\$(TARGETNAME).exp $(386_UMRES) $(386_UMLIBS) $(386_CRTLIBS) $(386_TARGETLIBS) $(386_LINKLIBS)
2252: $(386_LINKER) @<<
2253: -machine:i386
2254: $(EXEORDER)
2255: -align:0x1000
2256: -subsystem:$(SUBSYSTEM)
2257: -base:$(386_UMBASE)
2258: $(386_UMENTRY)
2259: $(386_LINKFLAGS)
2260: $**
2261: <<
2262: !IFDEF _NT386TREE
2263: binplace $(BINPLACE_FLAGS) $@
2264: !ENDIF
2265: !ELSE
2266: !IF "$(TARGETTYPE)"=="PROGRAM"
2267: $(386TARGET): $(386_UMRES) $(386_OBJECTS) $(386_CRTLIBS) $(386_UMLIBS) $(386_TARGETLIBS) $(386_LINKLIBS)
2268: $(386_LINKER) @<<
2269: -machine:i386
2270: -subsystem:$(SUBSYSTEM)
2271: -align:0x1000
2272: -base:$(386_UMBASE)
2273: $(386_UMENTRY)
2274: $(386_LINKFLAGS)
2275: $**
2276: <<
2277: !IFDEF _NT386TREE
2278: binplace $(BINPLACE_FLAGS) $@
2279: !ENDIF
2280:
2281: !ELSE
2282: !IF "$(TARGETTYPE)"=="DYNLINK"
2283: !IF "$(MAKEDLL)" == ""
2284:
2285: !IF "$(NTNOFUZZYLOOKUP)"=="1"
2286: $(386TARGET) $(386TARGET:.lib=.exp): $(386_DLLDEF)
2287: -lib32 -out:$(@R).lib @<<
2288: -machine:i386
2289: -def:$(386_DLLDEF)
2290: <<
2291: !ELSE
2292: $(386TARGET) $(386TARGET:.lib=.exp): $(386_DLLDEF) $(386_OBJECTS) $(386_LINKLIBS)
2293: -lib32 -out:$(@R).lib @<<
2294: -machine:i386
2295: -def:$(386_DLLDEF)
2296: $(386_OBJECTS)
2297: $(386_LINKLIBS)
2298: <<
2299: !ENDIF
2300: !ELSE
2301:
2302: !IF "$(TARGETEXT)" == "dll"
2303: 386COPYDST=
2304: $(386TARGET:.dll=.lib) $(386TARGET:.dll=.exp): $(386_DLLDEF) $(386_OBJECTS) $(386_LINKLIBS)
2305: -lib32 -out:$(@R).lib @<<
2306: -machine:i386
2307: -def:$(386_DLLDEF)
2308: $(386_OBJECTS)
2309: $(386_LINKLIBS)
2310: <<
2311: !ELSE
2312: !IF "$(TARGETEXT)" == "cpl"
2313: 386COPYDST=
2314: $(386TARGET:.cpl=.lib) $(386TARGET:.cpl=.exp): $(386_DLLDEF) $(386_OBJECTS) $(386_LINKLIBS)
2315: -lib32 -out:$(@R).lib @<<
2316: -machine:i386
2317: -def:$(386_DLLDEF)
2318: $(386_OBJECTS)
2319: $(386_LINKLIBS)
2320: <<
2321: !ELSE
2322: !IF "$(TARGETEXT)" == "fon"
2323: 386COPYDST=
2324: $(386TARGET:.fon=.lib) $(386TARGET:.fon=.exp): $(386_DLLDEF) $(386_OBJECTS) $(386_LINKLIBS)
2325: -lib32 -out:$(@R).lib @<<
2326: -machine:i386
2327: -def:$(386_DLLDEF)
2328: $(386_OBJECTS)
2329: $(386_LINKLIBS)
2330: <<
2331: !ELSE
2332: !IF "$(TARGETEXT)" == "drv"
2333: 386COPYDST=
2334: $(386TARGET:.drv=.lib) $(386TARGET:.drv=.exp): $(386_DLLDEF) $(386_OBJECTS) $(386_LINKLIBS)
2335: -lib32 -out:$(@R).lib @<<
2336: -machine:i386
2337: -def:$(386_DLLDEF)
2338: $(386_OBJECTS)
2339: $(386_LINKLIBS)
2340: <<
2341: !ENDIF
2342: !ENDIF
2343: !ENDIF
2344: !ENDIF
2345: !IF "$(TARGETPATH)" == "\nt\lib"
2346: !IFDEF _NT386LIBS
2347: @nti386cp.cmd $@ $(@B) LIBS >nul
2348: !ENDIF
2349: !ENDIF
2350:
2351: !IFDEF DLLORDER
2352: XXXORDER=-order:@$(DLLORDER)
2353: !ENDIF
2354:
2355: !IFDEF NTPROFILEINPUT
2356: XXXORDER=-order:@$(386_DLLDEF:.def=.prf)
2357: XXXORDER=$(XXXORDER:obj\i386\=)
2358: !ENDIF
2359:
2360: $(386TARGET): $(TARGETPATH)\i386\$(DDKBUILDENV)\$(TARGETNAME).exp $(386_OBJECTS) $(386_LINKLIBS) $(386_CRTLIBS) $(386_TARGETLIBS)
2361: $(386_LINKER) @<<
2362: -dll
2363: -machine:i386
2364: $(XXXORDER)
2365: -align:0x1000
2366: -base:$(386_DLLBASE)
2367: -subsystem:$(SUBSYSTEM)
2368: $(DLLENTRY)
2369: $**
2370: <<
2371: !IFDEF _NT386TREE
2372: binplace $(BINPLACE_FLAGS) $(386COPYDST) $@
2373: !ENDIF
2374: !IFDEF _NTDUMPAMAP
2375: link32 -dump -map $@ | sort /R /+62 > $(_NTDUMPAMAP)\$(@B).srt
2376: !ENDIF
2377:
2378: !ENDIF
2379:
2380: !ELSE
2381: !IF "$(TARGETTYPE)"=="LIBRARY"
2382: $(386TARGET): $(386_OBJECTS)
2383: @-erase $@ >nul 2>nul
2384: -$(386_LIBRARIAN) @<<
2385: $**
2386: <<
2387: !IF "$(TARGETPATH)" == "\nt\lib"
2388: !IFDEF _NT386LIBS
2389: @nti386cp.cmd $@ $(@B) LIBS >nul
2390: !ENDIF
2391: !ENDIF
2392:
2393: !ELSE
2394: !IF "$(TARGETTYPE)"=="DRIVER"
2395:
2396: !IFDEF NTPROFILEINPUT
2397: ORDER=-order:@$(@B).prf
2398: !ENDIF
2399:
2400: $(386TARGET): $(386_OBJECTS) $(386_TARGETLIBS)
2401: $(386_LINKER) @<<
2402: -machine:i386
2403: $(ORDER)
2404: -align:0x200
2405: -subsystem:$(SUBSYSTEM)
2406: -debug:notmapped
2407: -base:$(DRIVERBASE)
2408: -entry:DriverEntry@8
2409: -out:$(386TARGET)
2410: $**
2411: <<
2412: !IFDEF _NT386TREE
2413: binplace $(BINPLACE_FLAGS) $@
2414: !ENDIF
2415: !IFDEF _NTDUMPAMAP
2416: link32 -dump -map $@ | sort /R /+62 > $(_NTDUMPAMAP)\$(@B).srt
2417: !ENDIF
2418:
2419: !ELSE
2420: !IF "$(TARGETTYPE)"=="EXPORT_DRIVER"
2421:
2422: !IFDEF NTPROFILEINPUT
2423: ORDER=-order:@$(@B).prf
2424: !ENDIF
2425:
2426: !IF "$(MAKEDLL)" == ""
2427: $(386TARGET) $(386TARGET:.lib=.exp): $(386_DLLDEF) $(386_OBJECTS) $(386_LINKLIBS)
2428: -lib32 -out:$(@R).lib -machine:i386 -def:$(386_DLLDEF) $(386_OBJECTS) $(386_LINKLIBS)
2429: !ELSE
2430: $(386TARGET:.sys=.lib) $(386TARGET:.sys=.exp): $(386_DLLDEF) $(386_OBJECTS) $(386_LINKLIBS)
2431: -lib32 -out:$(@R).lib -machine:i386 -def:$(386_DLLDEF) $(386_OBJECTS) $(386_LINKLIBS)
2432: $(386TARGET): $(TARGETPATH)\i386\$(DDKBUILDENV)\$(TARGETNAME).exp $(386_OBJECTS) $(386_CRTLIBS) $(386_TARGETLIBS) $(386_LINKLIBS)
2433: $(386_LINKER) @<<
2434: -machine:i386
2435: $(ORDER)
2436: -align:0x200
2437: -subsystem:$(SUBSYSTEM)
2438: -debug:notmapped
2439: -base:$(DRIVERBASE)
2440: -entry:DriverEntry@8
2441: -out:$(386TARGET)
2442: $**
2443: <<
2444: !IFDEF _NT386TREE
2445: binplace $(BINPLACE_FLAGS) $@
2446: !ENDIF
2447: !ENDIF
2448:
2449: !ELSE
2450:
2451: !IF "$(TARGETTYPE)"=="HAL"
2452: !IF "$(MAKEDLL)" == ""
2453: $(386TARGET) $(386TARGET:.lib=.exp): $(386_DLLDEF) obj\i386\*.obj
2454: -lib32 -out:$(@R).lib -machine:i386 -def:$(386_DLLDEF) obj\i386\*.obj
2455: !ELSE
2456: $(386TARGET:.dll=.lib) $(386TARGET:.dll=.exp): $(386_DLLDEF) obj\i386\*.obj
2457: -lib32 -out:$(@R).lib -machine:i386 -def:$(386_DLLDEF) obj\i386\*.obj
2458: !IF "$(TARGETPATH)" == "\nt\lib"
2459: !IFDEF _NT386LIBS
2460: @nti386cp.cmd $@ $(@B) LIBS >nul
2461: !ENDIF
2462: !ENDIF
2463:
2464: $(386TARGET): $(TARGETPATH)\i386\$(DDKBUILDENV)\$(TARGETNAME).exp $(386_OBJECTS) $(386_CRTLIBS) $(386_TARGETLIBS) $(386_LINKLIBS)
2465: $(386_LINKER) @<<
2466: -machine:i386
2467: -align:0x1000
2468: -subsystem:$(SUBSYSTEM)
2469: -debug:notmapped
2470: -base:$(HALBASE)
2471: -dll
2472: -entry:HalInitSystem@8
2473: -out:$(386TARGET)
2474: $**
2475: <<
2476: !IFDEF _NT386TREE
2477: binplace $(BINPLACE_FLAGS) $@
2478: !ENDIF
2479: !IFDEF _NTDUMPAMAP
2480: link32 -dump -map $@ | sort /R /+62 > $(_NTDUMPAMAP)\$(@B).srt
2481: !ENDIF
2482: !ENDIF
2483:
2484: !ELSE
2485: !IF "$(TARGETTYPE)"=="BOOTPGM"
2486: $(386TARGET): $(386_OBJECTS) $(386_CRTLIBS) $(386_TARGETLIBS) $(386_LINKLIBS)
2487: $(386_LINKER) @<<
2488: -machine:i386
2489: -subsystem:$(SUBSYSTEM)
2490: -base:$(386_BOOTBASE)
2491: -entry:_start
2492: -map:$(@R).map
2493: $(386_LINKFLAGS)
2494: $**
2495: <<
2496:
2497: !ENDIF
2498: !ENDIF
2499: !ENDIF
2500: !ENDIF
2501: !ENDIF
2502: !ENDIF
2503: !ENDIF
2504: !ENDIF
2505: !ENDIF
2506: !ENDIF
2507:
2508: !IF $(MIPS)
2509: !IF "$(MIPSTARGET)" != ""
2510: !IF "$(TARGETTYPE)"=="PROGLIB"
2511: $(MIPSTARGET:.exe=.lib) $(MIPSTARGET:.exe=.exp): $(MIPS_DLLDEF)
2512: -lib32 -out:$(@R).lib -machine:mips -def:$(MIPS_DLLDEF)
2513: $(MIPSTARGET): $(MIPS_OBJECTS) $*.exp $(MIPS_UMRES) $(MIPS_TARGETLIBS) $(MIPS_CRTLIBS) $(MIPS_UMLIBS) $(MIPS_LINKLIBS)
2514: $(MIPS_LINKER) @<<
2515: -machine:mips
2516: $(LINKGPSIZE)
2517: -subsystem:$(SUBSYSTEM)
2518: -base:$(MIPS_UMBASE)
2519: -align:0x1000
2520: $(MIPS_UMENTRY)
2521: $(MIPS_LINKFLAGS)
2522: $**
2523: <<
2524: !IFDEF _NTMIPSTREE
2525: binplace $(BINPLACE_FLAGS) $@
2526: !ENDIF
2527: !ELSE
2528: !IF "$(TARGETTYPE)"=="PROGRAM"
2529: $(MIPSTARGET): $(MIPS_OBJECTS) $(MIPS_CRTLIBS) $(MIPS_UMLIBS) $(MIPS_TARGETLIBS) $(MIPS_LINKLIBS)
2530: $(MIPS_LINKER) @<<
2531: -machine:mips
2532: $(LINKGPSIZE)
2533: -subsystem:$(SUBSYSTEM)
2534: -base:$(MIPS_UMBASE)
2535: -align:0x1000
2536: $(MIPS_UMENTRY)
2537: $(MIPS_LINKFLAGS)
2538: $(MIPS_UMRES)
2539: $**
2540: <<
2541: !IFDEF _NTMIPSTREE
2542: binplace $(BINPLACE_FLAGS) $@
2543: !ENDIF
2544:
2545: !ELSE
2546: !IF "$(TARGETTYPE)"=="DYNLINK"
2547: !IF "$(MAKEDLL)" == ""
2548: $(MIPSTARGET) $(MIPSTARGET:.lib=.exp): $(MIPS_DLLDEF)
2549: -lib32 -out:$(@R).lib -machine:mips -def:$(MIPS_DLLDEF)
2550: !ELSE
2551:
2552: !IF "$(TARGETEXT)" == "dll"
2553: MIPSCOPYDST=
2554: $(MIPSTARGET:.dll=.lib) $(MIPSTARGET:.dll=.exp): $(MIPS_DLLDEF)
2555: -lib32 -out:$(@R).lib -machine:mips -def:$(MIPS_DLLDEF)
2556: !ELSE
2557: !IF "$(TARGETEXT)" == "cpl"
2558: MIPSCOPYDST=
2559: $(MIPSTARGET:.cpl=.lib) $(MIPSTARGET:.cpl=.exp): $(MIPS_DLLDEF)
2560: -lib32 -out:$(@R).lib -machine:mips -def:$(MIPS_DLLDEF)
2561: !ELSE
2562: !IF "$(TARGETEXT)" == "fon"
2563: MIPSCOPYDST=
2564: $(MIPSTARGET:.fon=.lib) $(MIPSTARGET:.fon=.exp): $(MIPS_DLLDEF)
2565: -lib32 -out:$(@R).lib -machine:mips -def:$(MIPS_DLLDEF)
2566: !ELSE
2567: !IF "$(TARGETEXT)" == "drv"
2568: MIPSCOPYDST=
2569: $(MIPSTARGET:.drv=.lib) $(MIPSTARGET:.drv=.exp): $(MIPS_DLLDEF)
2570: -lib32 -out:$(@R).lib -machine:mips -def:$(MIPS_DLLDEF)
2571: !ENDIF
2572: !ENDIF
2573: !ENDIF
2574: !ENDIF
2575: !IF "$(TARGETPATH)" == "\nt\lib"
2576: !IFDEF _NTMIPSLIBS
2577: @ntmipscp.cmd $@ $(@B) LIBS >nul
2578: !ENDIF
2579: !ENDIF
2580:
2581: $(MIPSTARGET): $*.exp $(MIPS_OBJECTS) $(MIPS_LINKLIBS) $(MIPS_CRTLIBS) $(MIPS_TARGETLIBS)
2582: $(MIPS_LINKER) @<<
2583: -dll
2584: -machine:mips
2585: -subsystem:$(SUBSYSTEM)
2586: -base:$(MIPS_DLLBASE)
2587: -align:0x1000
2588: $(DLLENTRY)
2589: $**
2590: <<
2591: !IFDEF _NTMIPSTREE
2592: binplace $(BINPLACE_FLAGS) $(MIPSCOPYDST) $@
2593: !ENDIF
2594:
2595: !ENDIF
2596:
2597: !ELSE
2598: !IF "$(TARGETTYPE)"=="LIBRARY"
2599: $(MIPSTARGET): $(MIPS_OBJECTS)
2600: @-erase $@ >nul 2>nul
2601: -$(MIPS_LIBRARIAN) @<<
2602: $**
2603: <<
2604: !IF "$(TARGETPATH)" == "\nt\lib"
2605: !IFDEF _NTMIPSLIBS
2606: @ntmipscp.cmd $@ $(@B) LIBS >nul
2607: !ENDIF
2608: !ENDIF
2609:
2610: !ELSE
2611: !IF "$(TARGETTYPE)"=="DRIVER"
2612: $(MIPSTARGET): $(MIPS_OBJECTS) $(MIPS_TARGETLIBS)
2613: $(MIPS_LINKER) @<<
2614: -machine:mips
2615: -align:0x200
2616: -subsystem:$(SUBSYSTEM)
2617: -debug:notmapped
2618: -base:$(DRIVERBASE)
2619: -entry:DriverEntry
2620: -out:$(MIPSTARGET)
2621: $**
2622: <<
2623: !IFDEF _NTMIPSTREE
2624: binplace $(BINPLACE_FLAGS) $@
2625: !ENDIF
2626:
2627: !ELSE
2628: !IF "$(TARGETTYPE)"=="EXPORT_DRIVER"
2629: !IF "$(MAKEDLL)" == ""
2630: $(MIPSTARGET) $(MIPSTARGET:.lib=.exp): $(MIPS_DLLDEF)
2631: -lib32 -out:$(@R).lib -machine:mips -def:$(MIPS_DLLDEF)
2632: !ELSE
2633: $(MIPSTARGET:.sys=.lib) $(MIPSTARGET:.sys=.exp): $(MIPS_DLLDEF)
2634: -lib32 -out:$(@R).lib -machine:mips -def:$(MIPS_DLLDEF)
2635: $(MIPSTARGET): $*.exp $(MIPS_OBJECTS) $(MIPS_CRTLIBS) $(MIPS_TARGETLIBS) $(MIPS_LINKLIBS)
2636: $(MIPS_LINKER) @<<
2637: -machine:mips
2638: -align:0x200
2639: -subsystem:$(SUBSYSTEM)
2640: -debug:notmapped
2641: -base:$(DRIVERBASE)
2642: -entry:DriverEntry
2643: -out:$(MIPSTARGET)
2644: $**
2645: <<
2646: !IFDEF _NTMIPSTREE
2647: binplace $(BINPLACE_FLAGS) $@
2648: !ENDIF
2649: !ENDIF
2650:
2651: !ELSE
2652:
2653: !IF "$(TARGETTYPE)"=="HAL"
2654:
2655: !IF "$(MAKEDLL)" == ""
2656: $(MIPSTARGET) $(MIPSTARGET:.lib=.exp): $(MIPS_DLLDEF)
2657: -lib32 -out:$(@R).lib -machine:mips -def:$(MIPS_DLLDEF)
2658: !ELSE
2659: $(MIPSTARGET:.dll=.lib) $(MIPSTARGET:.dll=.exp): $(MIPS_DLLDEF)
2660: -lib32 -out:$(@R).lib -machine:mips -def:$(MIPS_DLLDEF)
2661: !IF "$(TARGETPATH)" == "\nt\lib"
2662: !IFDEF _NTMIPSLIBS
2663: @ntmipscp.cmd $@ $(@B) LIBS >nul
2664: !ENDIF
2665: !ENDIF
2666:
2667: $(MIPSTARGET): $*.exp $(MIPS_OBJECTS) $(MIPS_CRTLIBS) $(MIPS_TARGETLIBS) $(MIPS_LINKLIBS)
2668: $(MIPS_LINKER) @<<
2669: -machine:mips
2670: -align:0x1000
2671: -subsystem:$(SUBSYSTEM)
2672: -debug:notmapped
2673: -base:$(HALBASE)
2674: -dll
2675: -entry:HalInitSystem
2676: -out:$(MIPSTARGET)
2677: $**
2678: <<
2679: !IFDEF _NTMIPSTREE
2680: binplace $(BINPLACE_FLAGS) $@
2681: !ENDIF
2682: !ENDIF
2683:
2684: !ELSE
2685: !IF "$(TARGETTYPE)"=="BOOTPGM"
2686: $(MIPSTARGET): $(MIPS_OBJECTS) $(MIPS_CRTLIBS) $(MIPS_TARGETLIBS) $(MIPS_LINKLIBS)
2687: $(MIPS_LINKER) @<<
2688: -machine:mips
2689: -subsystem:$(SUBSYSTEM)
2690: -base:$(MIPS_BOOTBASE)
2691: -entry:_start
2692: -map:$(@R).map
2693: $(MIPS_LINKFLAGS)
2694: $**
2695: <<
2696:
2697: !ENDIF
2698: !ENDIF
2699: !ENDIF
2700: !ENDIF
2701: !ENDIF
2702: !ENDIF
2703: !ENDIF
2704: !ENDIF
2705: !ENDIF
2706: !ENDIF
2707:
2708: !IF $(ALPHA)
2709: !IF "$(ALPHATARGET)" != ""
2710: !IF "$(TARGETTYPE)"=="PROGLIB"
2711: $(ALPHATARGET:.exe=.lib) $(ALPHATARGET:.exe=.exp): $(ALPHA_DLLDEF)
2712: lib32 -out:$(@R).lib -machine:alpha -def:$(ALPHA_DLLDEF)
2713: $(ALPHATARGET): $(ALPHA_OBJECTS) $*.exp $(ALPHA_UMRES) $(ALPHA_TARGETLIBS) $(ALPHA_UMLIBS) $(ALPHA_CRTLIBS) $(ALPHA_LINKLIBS)
2714: $(ALPHA_LINKER) @<<
2715: -subsystem:$(SUBSYSTEM)
2716: -base:$(ALPHA_UMBASE)
2717: $(ALPHA_UMENTRY)
2718: $(ALPHA_LINKFLAGS)
2719: $**
2720: <<
2721: !IFDEF _NTALPHATREE
2722: binplace $(BINPLACE_FLAGS) $@
2723: !ENDIF
2724: !ELSE
2725: !IF "$(TARGETTYPE)"=="PROGRAM"
2726: $(ALPHATARGET): $(ALPHA_OBJECTS) $(ALPHA_CRTLIBS) $(ALPHA_UMLIBS) $(ALPHA_TARGETLIBS) $(ALPHA_LINKLIBS)
2727: $(ALPHA_LINKER) @<<
2728: -subsystem:$(SUBSYSTEM)
2729: -base:$(ALPHA_UMBASE)
2730: $(ALPHA_UMENTRY)
2731: $(ALPHA_LINKFLAGS)
2732: $(ALPHA_UMRES)
2733: $**
2734: <<
2735: !IFDEF _NTALPHATREE
2736: binplace $(BINPLACE_FLAGS) $@
2737: !ENDIF
2738:
2739: !ELSE
2740: !IF "$(TARGETTYPE)"=="DYNLINK"
2741: !IF "$(MAKEDLL)" == ""
2742: $(ALPHATARGET) $(ALPHATARGET:.lib=.exp): $(ALPHA_DLLDEF)
2743: lib32 -out:$(@R).lib -machine:alpha -def:$(ALPHA_DLLDEF)
2744: !ELSE
2745:
2746: !IF "$(TARGETEXT)" == "dll"
2747: ALPHACOPYDST=
2748: $(ALPHATARGET:.dll=.lib) $(ALPHATARGET:.dll=.exp): $(ALPHA_DLLDEF)
2749: lib32 -out:$(@R).lib -machine:alpha -def:$(ALPHA_DLLDEF)
2750: !ELSE
2751: !IF "$(TARGETEXT)" == "cpl"
2752: ALPHACOPYDST=
2753: $(ALPHATARGET:.cpl=.lib) $(ALPHATARGET:.cpl=.exp): $(ALPHA_DLLDEF)
2754: lib32 -out:$(@R).lib -machine:alpha -def:$(ALPHA_DLLDEF)
2755: !ELSE
2756: !IF "$(TARGETEXT)" == "fon"
2757: ALPHACOPYDST=
2758: $(ALPHATARGET:.fon=.lib) $(ALPHATARGET:.fon=.exp): $(ALPHA_DLLDEF)
2759: lib32 -out:$(@R).lib -machine:alpha -def:$(ALPHA_DLLDEF)
2760: !ELSE
2761: !IF "$(TARGETEXT)" == "drv"
2762: ALPHACOPYDST=
2763: $(ALPHATARGET:.drv=.lib) $(ALPHATARGET:.drv=.exp): $(ALPHA_DLLDEF)
2764: lib32 -out:$(@R).lib -machine:alpha -def:$(ALPHA_DLLDEF)
2765: !ENDIF
2766: !ENDIF
2767: !ENDIF
2768: !ENDIF
2769: !IF "$(TARGETPATH)" == "\nt\lib"
2770: !IFDEF _NTALPHALIBS
2771: @ntalphcp.cmd $@ $(@B) LIBS >nul
2772: !ENDIF
2773: !ENDIF
2774:
2775: $(ALPHATARGET): $*.exp $(ALPHA_OBJECTS) $(ALPHA_LINKLIBS) $(ALPHA_CRTLIBS) $(ALPHA_TARGETLIBS)
2776: $(ALPHA_LINKER) @<<
2777: -dll
2778: -base:$(ALPHA_DLLBASE)
2779: $(DLLENTRY)
2780: $**
2781: <<
2782: !IFDEF _NTALPHATREE
2783: binplace $(BINPLACE_FLAGS) $(ALPHACOPYDST) $@
2784: !ENDIF
2785:
2786: !ENDIF
2787:
2788: !ELSE
2789: !IF "$(TARGETTYPE)"=="LIBRARY"
2790: $(ALPHATARGET): $(ALPHA_OBJECTS)
2791: @-erase $@ >nul 2>nul
2792: $(ALPHA_LIBRARIAN) @<<
2793: $**
2794: <<
2795: !IF "$(TARGETPATH)" == "\nt\lib"
2796: !IFDEF _NTALPHALIBS
2797: @ntalphcp.cmd $@ $(@B) LIBS >nul
2798: !ENDIF
2799: !ENDIF
2800:
2801: !ELSE
2802: !IF "$(TARGETTYPE)"=="DRIVER"
2803: $(ALPHATARGET): $(ALPHA_OBJECTS) $(ALPHA_TARGETLIBS)
2804: $(ALPHA_LINKER) @<<
2805: -align:0x200
2806: -debug:notmapped
2807: -base:$(DRIVERBASE)
2808: -entry:DriverEntry
2809: -out:$(ALPHATARGET)
2810: $**
2811: <<
2812: !IFDEF _NTALPHATREE
2813: binplace $(BINPLACE_FLAGS) $@
2814: !ENDIF
2815:
2816: !ELSE
2817: !IF "$(TARGETTYPE)"=="EXPORT_DRIVER"
2818: !IF "$(MAKEDLL)" == ""
2819: $(ALPHATARGET) $(ALPHATARGET:.lib=.exp): $(ALPHA_DLLDEF)
2820: lib32 -out:$(@R).lib -machine:alpha -def:$(ALPHA_DLLDEF)
2821: !ELSE
2822: $(ALPHATARGET:.sys=.lib) $(ALPHATARGET:.sys=.exp): $(ALPHA_DLLDEF)
2823: lib32 -out:$(@R).lib -machine:alpha -def:$(ALPHA_DLLDEF)
2824: $(ALPHATARGET): $*.exp $(ALPHA_OBJECTS) $(ALPHA_CRTLIBS) $(ALPHA_TARGETLIBS) $(ALPHA_LINKLIBS)
2825: $(ALPHA_LINKER) @<<
2826: -align:0x200
2827: -debug:notmapped
2828: -base:$(DRIVERBASE)
2829: -entry:DriverEntry
2830: -out:$(ALPHATARGET)
2831: $**
2832: <<
2833: !IFDEF _NTALPHATREE
2834: binplace $(BINPLACE_FLAGS) $@
2835: !ENDIF
2836: !ENDIF
2837:
2838: !ELSE
2839:
2840: !IF "$(TARGETTYPE)"=="HAL"
2841: !IF "$(MAKEDLL)" == ""
2842: $(ALPHATARGET) $(ALPHATARGET:.lib=.exp): $(ALPHA_DLLDEF)
2843: lib32 -out:$(@R).lib -machine:alpha -def:$(ALPHA_DLLDEF)
2844: !ELSE
2845: $(ALPHATARGET:.dll=.lib) $(ALPHATARGET:.dll=.exp): $(ALPHA_DLLDEF)
2846: lib32 -out:$(@R).lib -machine:alpha -def:$(ALPHA_DLLDEF)
2847: !IF "$(TARGETPATH)" == "\nt\lib"
2848: !IFDEF _NTALPHALIBS
2849: @ntalphcp.cmd $@ $(@B) LIBS >nul
2850: !ENDIF
2851: !ENDIF
2852:
2853: $(ALPHATARGET): $*.exp $(ALPHA_OBJECTS) $(ALPHA_CRTLIBS) $(ALPHA_TARGETLIBS) $(ALPHA_LINKLIBS)
2854: $(ALPHA_LINKER) @<<
2855: -align:0x200
2856: -debug:notmapped
2857: -base:$(HALBASE)
2858: -dll
2859: -entry:HalInitSystem
2860: -out:$(ALPHATARGET)
2861: $**
2862: <<
2863: !IFDEF _NTALPHATREE
2864: binplace $(BINPLACE_FLAGS) $@
2865: !ENDIF
2866: !ENDIF
2867: !ELSE
2868: !IF "$(TARGETTYPE)"=="BOOTPGM"
2869: $(ALPHATARGET): $(ALPHA_OBJECTS) $(ALPHA_CRTLIBS) $(ALPHA_TARGETLIBS) $(ALPHA_LINKLIBS)
2870: $(ALPHA_LINKER) @<<
2871: -base:$(ALPHA_BOOTBASE)
2872: -entry:_start
2873: -map:$(@R).map
2874: $(ALPHA_LINKFLAGS)
2875: $**
2876: <<
2877:
2878: !ENDIF
2879: !ENDIF
2880: !ENDIF
2881: !ENDIF
2882: !ENDIF
2883: !ENDIF
2884: !ENDIF
2885: !ENDIF
2886: !ENDIF
2887: !ENDIF
2888:
2889:
2890: !IFNDEF NOLINK
2891:
2892: !IF "$(NTTEST)" != ""
2893:
2894: !IF $(386)
2895:
2896: !IFDEF NTPROFILEINPUT
2897: ORDER=-order:@$(@B).prf
2898: !ENDIF
2899:
2900: obj\i386\$(NTTEST).exe: $(386_NTRES) obj\i386\$(NTTEST).obj \
2901: $(RELATIVE_DEPTH)\obj\i386\*.lib \
2902: $(386_LINKLIBS) \
2903: $(BASEDIR)\lib\i386\$(DDKBUILDENV)\hal.lib \
2904: $(BASEDIR)\lib\i386\$(DDKBUILDENV)\ntoskrnl.exp \
2905: $(BASEDIR)\lib\i386\$(DDKBUILDENV)\lsadll.lib \
2906: $(BASEDIR)\lib\i386\$(DDKBUILDENV)\libcnt.lib
2907: $(386_LINKER) @<<
2908: -machine:i386
2909: $(ORDER)
2910: -base:0x80100000
2911: -align:0x1000
2912: -subsystem:$(SUBSYSTEM)
2913: -debug:notmapped
2914: -fixed
2915: -entry:main
2916: $(386_LINKFLAGS)
2917: $**
2918: <<
2919: !IFDEF _NT386TREE
2920: binplace $(BINPLACE_FLAGS) $@
2921: !ENDIF
2922: !IFDEF _NTDUMPAMAP
2923: link32 -dump -map $@ | sort /R /+62 > $(_NTDUMPAMAP)\$(@B).srt
2924: !ENDIF
2925:
2926: !ENDIF
2927:
2928: !IF $(MIPS)
2929:
2930: obj\mips\$(NTTEST).exe: $(RELATIVE_DEPTH)\ke\obj\mips\$(MIPS_TRAP_FILE) \
2931: $(MIPS_NTRES) obj\mips\$(NTTEST).obj \
2932: $(RELATIVE_DEPTH)\obj\mips\*.lib \
2933: $(MIPS_LINKLIBS) \
2934: $(BASEDIR)\lib\mips\$(DDKBUILDENV)\hal.lib \
2935: $(BASEDIR)\lib\mips\$(DDKBUILDENV)\ntoskrnl.exp \
2936: $(BASEDIR)\lib\mips\$(DDKBUILDENV)\lsadll.lib \
2937: $(BASEDIR)\lib\mips\$(DDKBUILDENV)\libcnt.lib
2938: $(MIPS_LINKER) @<<
2939: -machine:mips
2940: -align:0x1000
2941: -subsystem:$(SUBSYSTEM)
2942: -debug:notmapped
2943: $(LINKGPSIZE)
2944: -base:0x10000
2945: -entry:KiSystemStartup
2946: $(MIPS_LINKFLAGS)
2947: $**
2948: <<
2949:
2950: !IFDEF _NTMIPSTREE
2951: binplace $(BINPLACE_FLAGS) $@
2952: !ENDIF
2953:
2954: !ENDIF
2955:
2956: !IF $(ALPHA)
2957:
2958: obj\alpha\$(NTTEST).exe: $(RELATIVE_DEPTH)\ke\obj\alpha\$(ALPHA_START_FILE) \
2959: $(ALPHA_NTRES) obj\alpha\$(NTTEST).obj \
2960: $(RELATIVE_DEPTH)\obj\alpha\*.lib \
2961: $(ALPHA_LINKLIBS) \
2962: $(BASEDIR)\lib\alpha\$(DDKBUILDENV)\hal.lib \
2963: $(BASEDIR)\lib\alpha\$(DDKBUILDENV)\ntoskrnl.exp \
2964: $(BASEDIR)\lib\alpha\$(DDKBUILDENV)\lsadll.lib \
2965: $(BASEDIR)\lib\alpha\$(DDKBUILDENV)\libcnt.lib
2966: $(ALPHA_LINKER) @<<
2967: -align:0x200
2968: -debug:notmapped
2969: -fixed
2970: $(LINKGPSIZE)
2971: -base:0x80080000
2972: -entry:KiSystemStartup
2973: $(ALPHA_LINKFLAGS)
2974: $(ALPHA_NTRES)
2975: $**
2976: <<
2977:
2978: !IFDEF _NTALPHATREE
2979: binplace $(BINPLACE_FLAGS) $@
2980: !ENDIF
2981:
2982: !ENDIF
2983:
2984: !ENDIF
2985:
2986: !ENDIF
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.