home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / pcmagazi / 1992 / 20 / ntshell / ntwin32.mak < prev   
Text File  |  1992-10-03  |  6KB  |  175 lines

  1. # =========================================================
  2. # NTWIN32.MAK
  3. # Win32 Application NMAKE Definitions
  4. # For the Microsoft Win32 SDK for Windows NT Samples
  5. # =========================================================
  6.  
  7. # ---------------------------------------------------------
  8. # Get CPU Type - exit if CPU environment variable is not defined
  9. # ---------------------------------------------------------
  10.  
  11. # declarations for use on Intel 80x86 systems.
  12. !IF "$(CPU)" == "i386"
  13. CPUTYPE = 1
  14. DLLENTRY = @12
  15. !ENDIF
  16.  
  17. # declarations for use on self hosted MIPS systems.
  18. !IF "$(CPU)" == "MIPS"
  19. CPUTYPE = 2
  20. DLLENTRY = 
  21. !ENDIF
  22.  
  23. !IFNDEF CPUTYPE
  24. !ERROR  Must specify CPU Environment Variable ( CPU=i386 or CPU=MIPS )
  25. !ENDIF
  26.  
  27. # ---------------------------------------------------------
  28. # Target Module Dependant Compile Declarations
  29. #
  30. # Below is a table which describes which flags to use
  31. # depending on the module target:
  32. #
  33. # Module       Number of Threads Variables to C run-time
  34. # Target       Single/Multiple   Include      Library
  35. # -----------  ----------------- ------------ ----------
  36. # MODULE .EXE  Single            CVARS        LIBC.LIB
  37. # MODULE .EXE  Multiple          CVARSMT      LIBCMT.LIB
  38. # MODULE .DLL  Single            CVARSDLL     CRTDLL.LIB
  39. # MODULE .DLL  Multiple          CVARSMTDLL   CRTDLL.LIB
  40. #
  41. # Legend:
  42. # MODULE  : A Win32 Graphical User Interface module or a
  43. #           Win32 Character-Mode User Interface module
  44. # ---------------------------------------------------------
  45.  
  46. cvars      = -DWIN32
  47. cvarsmt    = $(cvars) -D_MT
  48. cvarsdll   = $(cvars) -D_DLL
  49. cvarsmtdll = $(cvars) -D_MT -D_DLL
  50.  
  51. #----------------------------------------------------------
  52. # Subsystem Dependent Compile Declarations
  53. #
  54. # When compiling for the POSIX Subsystem, psxvars should be
  55. # included.
  56. #
  57. #----------------------------------------------------------
  58.  
  59. psxvars    = -D_POSIX_
  60.  
  61. # ---------------------------------------------------------
  62. # Platform Dependent Compile Flags - must be specified after $(cc)
  63. #
  64. # Note: Debug switches are default for current release
  65. #
  66. # These switches allow for source level debugging
  67. # with WinDebug for local and global variables.
  68. #
  69. # i386 flags:
  70. #   -c   - compile without linking
  71. #   -G3  - generate 80386 instructions
  72. #   -W3  - Set warning level to level 3
  73. #   -Zi  - generate debugging information
  74. #   -Od  - disable all optimizations
  75. #
  76. # MIPS flags:
  77. #   -c   - compile without linking
  78. #   -std - produce warnings for non-ANSI standard source code.
  79. #   -g2  - produce a symbol table for debugging
  80. #   -O   - invoke the global optimizer
  81. #   -EL  - produce object modules targeted for
  82. #          "little-endian" byte ordering
  83. # ---------------------------------------------------------
  84.  
  85. # declarations for use on Intel 80x86 systems.
  86. !IF "$(CPU)" == "i386"
  87. cdebug   = -Zi -Od
  88. cflags   = -c -G3 -W3 -Di386=1
  89. cvtdebug =
  90. !ENDIF
  91.  
  92. # declarations for use on self hosted MIPS systems.
  93. !IF "$(CPU)" == "MIPS"
  94. cdebug   = -g2
  95. cflags   = -c -std -o $(*B).obj -EL -DMIPS=1
  96. cvtdebug = -c
  97. !ENDIF
  98.  
  99. # ---------------------------------------------------------
  100. # Target Module Dependent Link Flags - must be specified after $(link)
  101. #
  102. # Note: Debug switches are default for current release
  103. #
  104. # These switches allow for source level debugging
  105. # with WinDebug for local and global variables.
  106. # ---------------------------------------------------------
  107.  
  108. linkdebug = -debug:full -debugtype:cv
  109. conflags  = -subsystem:console -entry:mainCRTStartup
  110. guiflags  = -subsystem:windows -entry:WinMainCRTStartup
  111. psxflags  = -subsystem:posix -entry:__PosixProcessStartup
  112.  
  113. # ---------------------------------------------------------
  114. # Platform Dependent Binaries Declarations
  115. #
  116. # Note: Debug switches are default for current release
  117. #
  118. # These switches allow for source level debugging
  119. # with WinDebug for local and global variables.
  120. # ---------------------------------------------------------
  121.  
  122. # declarations for use on Intel 80x86 systems.
  123. !IF "$(CPU)" == "i386"
  124. cc     = cl386
  125. cvtobj = REM MIPS-only conversion:
  126. !ENDIF
  127.  
  128. # declarations for use on self hosted MIPS systems.
  129. !IF "$(CPU)" == "MIPS"
  130. cc     = cc
  131. cvtobj = mip2coff 
  132. !ENDIF
  133.  
  134. link = link 
  135.  
  136. # ---------------------------------------------------------
  137. # Target Module Dependent Link Libraries
  138. #
  139. # Below is a table which describes which libraries to use
  140. # depending on the module target:
  141. #
  142. # Module       Number of Threads Variables to C run-time
  143. # Target       Single/Multiple   Include      Library
  144. # -----------  ----------------- ------------ ----------
  145. # CONSOLE.EXE  Single            CONLIBS      LIBC.LIB
  146. # CONSOLE.EXE  Multiple          CONLIBSMT    LIBCMT.LIB
  147. # CONSOLE.DLL  Either            CONLIBSDLL   CRTDLL.LIB
  148. # WINDOWS.EXE  Single            GUILIBS      LIBC.LIB
  149. # WINDOWS.EXE  Multiple          GUILIBSMT    LIBCMT.LIB
  150. # WINDOWS.DLL  Either            GUILIBSDLL   CRTDLL.LIB
  151. # POSIX.EXE    Single            PSXLIBS      LIBCPSX.LIB
  152. #
  153. # Legend:
  154. # WINDOWS : A Win32 Graphical User Interface module
  155. # CONSOLE : A Win32 Character-Mode User Interface module
  156. # POSIX   : A Posix Subsystem Character-Mode User Interface module
  157. # ---------------------------------------------------------
  158.  
  159. conlibs    = libc.lib ntdll.lib kernel32.lib
  160.  
  161. conlibsmt  = libcmt.lib ntdll.lib kernel32.lib
  162.  
  163. conlibsdll = crtdll.lib ntdll.lib kernel32.lib
  164.  
  165. guilibs    = libc.lib ntdll.lib kernel32.lib user32.lib gdi32.lib \
  166.              winspool.lib comdlg32.lib
  167.  
  168. guilibsmt  = libcmt.lib ntdll.lib kernel32.lib user32.lib gdi32.lib \
  169.              winspool.lib comdlg32.lib
  170.  
  171. guilibsdll = crtdll.lib ntdll.lib kernel32.lib user32.lib gdi32.lib \
  172.              winspool.lib comdlg32.lib
  173.  
  174. psxlibs    = libcpsx.lib ntdll.lib kernel32.lib psxdll.lib psxrtl.lib
  175.