Win32.Mak
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:19k
源码类别:

模拟服务器

开发平台:

C/C++

  1. # Win32.Mak - Win32 application master NMAKE definitions file for the
  2. #     Microsoft Plaform SDK for Win32 and Win64 programming samples
  3. #           Copyright 1991 - 1999 Microsoft Corporation
  4. # -------------------------------------------------------------------------
  5. # This files should be included at the top of all MAKEFILEs as follows:
  6. #  !include <Win32.Mak>
  7. # -------------------------------------------------------------------------
  8. #
  9. # Define APPVER = [ 4.0 | 5.0 | 5.01 | 6.0 ] prior to including win32.mak to get
  10. #  build time checking for version dependencies and to mark the executable
  11. #  with version information.
  12. #
  13. # Define TARGETOS = [ WIN95 | WINNT | BOTH ] prior to including win32.mak
  14. #  to get some build time checking for platform dependencies.
  15. #
  16. # Define TARGETLANG = [ LANG_JAPANESE | LANG_CHINESE | LANG_KOREAN ] prior
  17. #  to including win32.mak to getcompile & link flags for building
  18. #  applications to run on Far-East Windows. (This is an optional parameter.
  19. #  The system locale is the default.)
  20. #
  21. # Define _WIN32_IE = [ 0x0300 | 0x0400 | 0x0500 | 0x0600] prior to including win32.mak to
  22. #  get compile and link flags for building applications and components to
  23. #  run on Internet Explorer. (This is an optional parameter.  IE 4.0 is
  24. #  the default.)
  25. #
  26. # -------------------------------------------------------------------------
  27. # NMAKE Options
  28. #
  29. # Use the table below to determine the additional options for NMAKE to
  30. # generate various application debugging, profiling and performance tuning
  31. # information.
  32. #
  33. # Application Information Type         Invoke NMAKE
  34. # ----------------------------         ------------
  35. # For No Debugging Info                nmake nodebug=1
  36. # For Working Set Tuner Info           nmake tune=1
  37. # For Call Attributed Profiling Info   nmake profile=1
  38. # For COLE 32->64-bit Porting Tool     nmake COLE_64=1
  39. #
  40. # Note: The three options above are mutually exclusive (you may use only
  41. #       one to compile/link the application).
  42. #
  43. # Note: creating the environment variables NODEBUG, TUNE, and PROFILE is an
  44. #       alternate method to setting these options via the nmake command line.
  45. #
  46. # Note: to use the COLE_64 option, you need to set your build environment
  47. #       for 64-bit compilations.
  48. #
  49. # Note: TUNE and PROFILE do nothing for 64bit compilation
  50. #
  51. # Additional NMAKE Options             Invoke NMAKE
  52. # ----------------------------         ------------
  53. # For No ANSI NULL Compliance          nmake no_ansi=1
  54. # (ANSI NULL is defined as PVOID 0)
  55. #
  56. # =========================================================================
  57. # Build Rules Quick Start
  58. #
  59. # To build one of the following types of executables, use the specified
  60. # compiler and linker command-line options.
  61. #
  62. #  ---------------------------------------------------------------------------
  63. #   To build:         |  Compiler Options      | Linker options (pick one
  64. #                     |                        | line. con = console,
  65. #                     |                        | gui = GUI, ole = GUI OLE)
  66. #  ---------------------------------------------------------------------------
  67. #  Single threaded    | cdebug cflags cvars    | ldebug guilflags guilibs
  68. #  app with static    |                        | ldebug conlflags conlibs
  69. #  CRT                |                        | ldebug guilflags olelibs
  70. #  ---------------------------------------------------------------------------
  71. #  Multithreaded app  | cdebug cflags cvarsmt  | ldebug guilflags guilibsmt
  72. #  with static CRT    |                        | ldebug conlflags conlibsmt
  73. #                     |                        | ldebug guilflags olelibsmt
  74. #  ---------------------------------------------------------------------------
  75. #  Single or multi-   | cdebug cflags cvarsdll | ldebug guilflags guilibsdll
  76. #  threaded app with  |                        | ldebug conlflags conlibsdll
  77. #  DLL version of CRT |                        | ldebug guilflags olelibsdll
  78. #  (MSVCRT.DLL)       |                        |
  79. #  ---------------------------------------------------------------------------
  80. #  DLL with static    | cdebug cflags cvarsmt  | ldebug dlllflags guilibsmt
  81. #  CRT*               |                        | ldebug dlllflags conlibsmt
  82. #                     |                        | ldebug dlllflags olelibsmt
  83. #  ---------------------------------------------------------------------------
  84. #  DLL with DLL       | cdebug cflags cvarsdll | ldebug dlllflags guilibsdll
  85. #  version of CRT     |                        | ldebug dlllflags conlibsdll
  86. #  (MSVCRT.DLL)       |                        | ldebug dlllflags olelibsdll
  87. #  ---------------------------------------------------------------------------
  88. #
  89. #  * Always make DLLs multithreaded because a DLL has no way to know whether
  90. #    the calling application has multiple threads, and has no way to prevent
  91. #    multithreaded apps from loading it.
  92. #
  93. #  To specify an Intel x86 build that defaults to stdcall, add scall to the
  94. #  list of compiler options.
  95. #
  96. # =========================================================================
  97. !IFNDEF _WIN32_MAK_
  98. _WIN32_MAK_ = 1
  99. # -------------------------------------------------------------------------
  100. # Get CPU Type - exit if CPU environment variable is not defined
  101. # -------------------------------------------------------------------------
  102. # Win95 does not define PROCESSOR_ARCHITECTURE - default to i386
  103. !IF "$(PROCESSOR_ARCHITECTURE)" == ""
  104. CPU=i386
  105. PROCESSOR_ARCHITECTURE=x86
  106. !endif
  107. !IF !DEFINED(CPU) || "$(CPU)" == ""
  108. CPU = $(PROCESSOR_ARCHITECTURE)
  109. !ENDIF # CPU
  110. # if PROCESSOR_ARCHITECTURE was x86 or X86 change CPU to i386
  111. !IF ( "$(CPU)" == "X86" ) || ( "$(CPU)" == "x86" )
  112. CPU = i386
  113. !ENDIF # CPU == X86
  114. !IF "$(CPU)" != "i386"
  115. !IF "$(CPU)" != "ALPHA"
  116. !IF "$(CPU)" != "ALPHA64"
  117. !IF "$(CPU)" != "IA64"
  118. !ERROR  Must specify CPU environment variable ( CPU=i386, CPU=ALPHA, CPU=IA64, CPU=ALPHA64)
  119. !ENDIF
  120. !ENDIF
  121. !ENDIF
  122. !ENDIF
  123. # -------------------------------------------------------------------------
  124. # Get Target Operating System - Default to WINNT
  125. # -------------------------------------------------------------------------
  126. !IFNDEF TARGETOS
  127. TARGETOS = WINNT
  128. !ENDIF
  129. !IF "$(TARGETOS)" != "WINNT"
  130. !IF "$(TARGETOS)" != "WIN95"
  131. !IF "$(TARGETOS)" != "BOTH"
  132. !ERROR Must specify TARGETOS environment variable (BOTH, WIN95, WINNT)
  133. !ENDIF
  134. !ENDIF
  135. !ENDIF
  136. # default to APPVER of 5.0
  137. !IFNDEF APPVER
  138. APPVER = 5.0
  139. !ENDIF
  140. !IF "$(APPVER)" != "6.0"
  141. !IF "$(APPVER)" != "5.01"
  142. !IF "$(APPVER)" != "5.0"
  143. !IF "$(APPVER)" != "4.0"
  144. !ERROR Must specify APPVER environment variable (4.0, 5.0, 5.01)
  145. !ENDIF
  146. !ENDIF
  147. !ENDIF
  148. !ENDIF
  149. !IF "$(APPVER)" =="5.0"
  150. !IFNDEF _WIN32_IE
  151. _WIN32_IE = 0x0500
  152. !ENDIF # _WIN32_IE
  153. !ENDIF # APPVER == 5.0
  154. !IF "$(APPVER)" =="5.01"
  155. !IFNDEF _WIN32_IE
  156. _WIN32_IE = 0x0600
  157. !ENDIF # _WIN32_IE
  158. !ENDIF # APPVER == 5.01
  159. !IF "$(APPVER)" =="6.0"
  160. !IFNDEF _WIN32_IE
  161. _WIN32_IE = 0x0600
  162. !ENDIF # _WIN32_IE
  163. !ENDIF # APPVER == 6.0
  164. !IFNDEF _WIN32_IE
  165. _WIN32_IE = 0x0400
  166. !ENDIF
  167. # -------------------------------------------------------------------------
  168. # Build tool declarations common to all platforms
  169. #    Check to see if Cole Porter is used, otherwise use C/C++ compiler
  170. # -------------------------------------------------------------------------
  171. !IFDEF COLE_64
  172. cc     = Port64
  173. link   = Cole & Rem no link when using Cole
  174. implib = Rem no lib when using Cole since the Cole .Objs are text
  175. !ELSE
  176. cc     = cl
  177. link   = link
  178. implib = lib
  179. !ENDIF
  180. midl   = midl
  181. rc     = Rc
  182. hc     = Start /Wait Hcrtf
  183. mc     = Mc
  184. hcvars = -xn
  185. # -------------------------------------------------------------------------
  186. # Platform Dependent Compile Flags - must be specified after $(cc)
  187. #
  188. # Note: Debug switches are on by default for current release
  189. #
  190. # These switches set code generation and debugging options for the compiler.
  191. # They also set macros used for conditional compilation.
  192. #
  193. # The debugging switches allow for source level debugging with WinDebug or
  194. # Microsoft Visual C++.
  195. #
  196. # Common compiler flags:
  197. #   -c   - compile without linking
  198. #   -W3  - Set warning level to level 3    (-W4 for 64-bit compilations)
  199. #   -Zi  - generate debugging information
  200. #   -Od  - disable all optimizations
  201. #   -Ox  - use maximum optimizations
  202. #   -Zd  - generate only public symbols and line numbers for debugging
  203. #
  204. # i386 specific compiler flags:
  205. #   -Gz  - stdcall   (only if scall is added to makefile's compiler build rules)
  206. #
  207. # -------------------------------------------------------------------------
  208. # declarations common to all compiler options
  209. ccommon = -c -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo
  210. # for compatibility with old source code, map {try, except, leave, finally}
  211. # to their proper names (i.e. prefaced by "__")
  212. !IFDEF SEHMAP
  213. ccommon = $(ccommon) -FIsehmap.h
  214. !ENDIF
  215. !IF "$(TARGETLANG)" == "LANG_JAPANESE"
  216. ccommon = $(ccommon) -DJAPAN -DDBCS -DFE_IME
  217. !ENDIF
  218. !IF "$(TARGETLANG)" == "LANG_CHINESE"
  219. ccommon = $(ccommon) -DDBCS -DFE_IME
  220. !ENDIF
  221. !IF "$(TARGETLANG)" == "LANG_KOREAN"
  222. ccommon = $(ccommon) -DDBCS -DFE_IME
  223. !ENDIF
  224. !IF "$(CPU)" == "i386"
  225. cflags = $(ccommon) -D_X86_=1  -DWIN32 -D_WIN32 -W3
  226. scall  = -Gz
  227. !ELSEIF "$(CPU)" == "ALPHA"
  228. cflags = $(ccommon) -D_ALPHA_=1  -DWIN32 -D_WIN32 -W3
  229. scall  =
  230. !ELSEIF "$(CPU)" == "IA64"
  231. cflags = $(ccommon) -D_IA64_=1 -DWIN64 -D_WIN64  -DWIN32 -D_WIN32 /FIPRE64PRA.H
  232. cflags = $(cflags) -Wp64 -W4
  233. scall  =
  234. !ELSEIF "$(CPU)" == "ALPHA64"
  235. cflags = $(ccommon) -D_AXP64_=1 -D_ALPHA64_=1 -DALPHA=1 -DWIN64 -D_WIN64 -DWIN32 -D_WIN32
  236. cflags = $(cflags) -Wp64 -W4 -Ap64
  237. scall  =
  238. !ENDIF
  239. !IF "$(APPVER)" == "4.0"
  240. NMAKE_WINVER = 0x0400
  241. !ELSEIF "$(APPVER)" == "5.0"
  242. NMAKE_WINVER = 0x0500
  243. !ELSEIF "$(APPVER)" == "5.01"
  244. NMAKE_WINVER = 0x0501
  245. !ELSEIF "$(APPVER)" == "6.0"
  246. NMAKE_WINVER = 0x0600
  247. !ENDIF
  248. !IF "$(TARGETOS)" == "WINNT"
  249. cflags = $(cflags) -D_WINNT -D_WIN32_WINNT=$(NMAKE_WINVER)
  250. !ENDIF
  251. !IF "$(TARGETOS)" == "WIN95"
  252. cflags = $(cflags) -D_WIN95 -D_WIN32_WINDOWS=$(NMAKE_WINVER)
  253. !ENDIF
  254. # regardless of the TARGET OS, define compile time WINVER to match APPVER macro
  255. cflags = $(cflags) -D_WIN32_IE=$(_WIN32_IE) -DWINVER=$(NMAKE_WINVER)
  256. # Set debugging options
  257. !IF "$(CPU)" != "IA64"
  258. !IFDEF NODEBUG
  259. cdebug = -Ox -DNDEBUG
  260. !ELSE IFDEF PROFILE
  261. cdebug = -Gh -Zd -Ox -DNDEBUG
  262. !ELSE IFDEF TUNE
  263. cdebug = -Gh -Zd -Ox -DNDEBUG
  264. !ELSE
  265. cdebug = -Zi -Od -DDEBUG
  266. !ENDIF
  267. !ELSE
  268. !IFDEF NODEBUG
  269. cdebug = -Ox -DNDEBUG
  270. !ELSE
  271. cdebug = -Zi -Od -DDEBUG
  272. !ENDIF
  273. !ENDIF
  274. # -------------------------------------------------------------------------
  275. # Target Module & Subsystem Dependent Compile Defined Variables - must be
  276. #   specified after $(cc)
  277. #
  278. # The following table indicates the various acceptable combinations of
  279. # the C Run-Time libraries LIBC, LIBCMT, and MSVCRT respect to the creation
  280. # of a EXE and/or DLL target object.  The appropriate compiler flag macros
  281. # that should be used for each combination are also listed.
  282. #
  283. # Executable Type          C Runtime Lib        Compiler switch
  284. # -------------------------------------------------------------
  285. # Single threaded app      static CRT           CVARS       *
  286. # Single-threaded app      DLL CRT              CVARSDLL
  287. # Multi-threaded app       static CRT           CVARSMT     *
  288. # Multi-threaded app       DLL CRT              CVARSDLL    *
  289. #
  290. # Single threaded DLL      static CRT           CVARS
  291. # Single-threaded DLL      DLL CRT              CVARSDLL
  292. # Multi-threaded DLL       static CRT           CVARSMT     *
  293. # Multi-threaded DLL       DLL CRT              CVARSDLL    *
  294. #
  295. # * - Denotes the Recommended Configuration
  296. #
  297. # When building single-threaded applications you can link your executable
  298. # with either LIBC, LIBCMT, or MSVCRT, although LIBC will provide the best
  299. # performance.
  300. #
  301. # When building multi-threaded applications, either LIBCMT or MSVCRT can
  302. # be used as the C-Runtime library, as both are multi-thread safe.
  303. #
  304. # Note: Any executable which accesses a DLL linked with MSVCRT.LIB must
  305. #       also link with MSVCRT.LIB instead of LIBC.LIB or LIBCMT.LIB.
  306. #       When using DLLs, it is recommended that all of the modules be
  307. #       linked with MSVCRT.LIB.
  308. #
  309. # Note: The macros of the form xDLL are used when linking the object with
  310. #       the DLL version of the C Run-Time (that is, MSVCRT.LIB).  They are
  311. #       not used when the target object is itself a DLL.
  312. #
  313. # -------------------------------------------------------------------------
  314. !IFDEF NO_ANSI
  315. noansi = -DNULL=0
  316. !ENDIF
  317. # for Windows applications that use the C Run-Time libraries
  318. !IFDEF NODEBUG
  319. cvars      = $(noansi) -ML
  320. cvarsmt    = $(noansi) -D_MT -MT
  321. cvarsdll   = $(noansi) -D_MT -D_DLL -MD
  322. !ELSE
  323. cvars      = $(noansi) -MLd
  324. cvarsmt    = $(noansi) -D_MT -MTd
  325. cvarsdll   = $(noansi) -D_MT -D_DLL -MDd
  326. !ENDIF
  327. # for compatibility with older-style makefiles
  328. cvarsmtdll = $(cvarsdll)
  329. # for POSIX applications
  330. psxvars    = -D_POSIX_
  331. # resource compiler
  332. rcflags = /r
  333. rcvars = -DWIN32 -D_WIN32 -DWINVER=$(NMAKE_WINVER) $(noansi)
  334. !IF "$(TARGETLANG)" == "LANG_JAPANESE"
  335. rcflags = $(rcflags) /c932
  336. rcvars = $(rcvars) -DJAPAN -DDBCS -DFE_IME
  337. !ENDIF
  338. !IF "$(TARGETLANG)" == "LANG_CHINESE"
  339. rcvars = $(rcvars) -DDBCS -DFE_IME
  340. !ENDIF
  341. !IF "$(TARGETLANG)" == "LANG_KOREAN"
  342. rcvars = $(rcvars) -DDBCS -DFE_IME
  343. !ENDIF
  344. # -------------------------------------------------------------------------
  345. # Platform Dependent MIDL Flags - must be specified after midl
  346. #
  347. #
  348. # -------------------------------------------------------------------------
  349. !IF "$(TARGETOS)" == "WIN95"
  350. MIDL_OPTIMIZATION=-target NT40
  351. !ELSEIF "$(TARGETOS)" == "WINNT"
  352. !IF "$(APPVER)" == "5.0"
  353. MIDL_OPTIMIZATION=-target NT50
  354. !ELSEIF "$(APPVER)" == "5.01"
  355. MIDL_OPTIMIZATION=-target NT51
  356. !ELSEIF "$(APPVER)" == "4.0"
  357. MIDL_OPTIMIZATION=-target NT40
  358. !ENDIF
  359. !ENDIF
  360. # -------------------------------------------------------------------------
  361. # Platform Dependent Link Flags - must be specified after $(link)
  362. #
  363. # Note: $(DLLENTRY) should be appended to each -entry: flag on the link
  364. #       line.
  365. #
  366. # Note: When creating a DLL that uses C Run-Time functions it is
  367. #       recommended to include the entry point function of the name DllMain
  368. #       in the DLL's source code.  Also, the MAKEFILE should include the
  369. #       -entry:_DllMainCRTStartup$(DLLENTRY) option for the creation of
  370. #       this DLL.  (The C Run-Time entry point _DllMainCRTStartup in turn
  371. #       calls the DLL defined DllMain entry point.)
  372. #
  373. # -------------------------------------------------------------------------
  374. # declarations common to all linker options
  375. lflags  = $(lflags) /INCREMENTAL:NO /NOLOGO
  376. # declarations for use on Intel x86 systems
  377. !IF "$(CPU)" == "i386"
  378. DLLENTRY = @12
  379. !ENDIF
  380. # declarations for use on Compaq Alpha AXP systems
  381. !IF "$(CPU)" == "ALPHA"
  382. DLLENTRY =
  383. !ENDIF
  384. # declarations for use on Intel Architecture 64-bit systems
  385. !IF "$(CPU)" == "IA64"
  386. DLLENTRY =
  387. !ENDIF
  388. # declarations for use on Compaq 64-bit Alpha AXP systems
  389. !IF "$(CPU)" == "ALPHA64"
  390. DLLENTRY =
  391. !ENDIF
  392. # -------------------------------------------------------------------------
  393. # Target Module Dependent Link Debug Flags - must be specified after $(link)
  394. #
  395. # These switches allow the inclusion of the necessary symbolic information
  396. # for source level debugging with WinDebug, profiling and/or performance
  397. # tuning.
  398. #
  399. # Note: Debug switches are on by default.
  400. # -------------------------------------------------------------------------
  401. !IF "$(CPU)" != "IA64"
  402. !IFDEF NODEBUG
  403. ldebug = /RELEASE
  404. !ELSE IFDEF PROFILE
  405. ldebug = /DEBUG:mapped,partial /DEBUGTYPE:coff
  406. !ELSE IFDEF TUNE
  407. ldebug = /DEBUG:mapped,partial /DEBUGTYPE:coff
  408. !ELSE
  409. ldebug = /DEBUG:full /DEBUGTYPE:cv
  410. !ENDIF
  411. !ELSE
  412. !IFDEF NODEBUG
  413. ldebug = /RELEASE
  414. !ELSE
  415. ldebug = /DEBUG:full /DEBUGTYPE:cv
  416. !ENDIF
  417. !ENDIF
  418. # for compatibility with older-style makefiles
  419. linkdebug = $(ldebug)
  420. # -------------------------------------------------------------------------
  421. # Subsystem Dependent Link Flags - must be specified after $(link)
  422. #
  423. # These switches allow for source level debugging with WinDebug for local
  424. # and global variables.  They also provide the standard application type and
  425. # entry point declarations.
  426. #
  427. # Note that on x86 screensavers have a WinMain entrypoint, but on RISC
  428. # platforms it is main.  This is a Win95 compatibility issue.
  429. #
  430. # -------------------------------------------------------------------------
  431. # Windows 98 needs subsystem version set to 4.10 for version 5.0 features.
  432. !IF ("$(APPVER)" == "5.0") && (("$(TARGETOS)" == "BOTH") || ("$(TARGETOS)" == "WIN95"))
  433. EXEVER = 4.10
  434. !ELSE
  435. EXEVER = $(APPVER)
  436. !ENDIF
  437. # ---------------------------------------------
  438. # for Windows applications
  439. conlflags = $(lflags) -subsystem:console,$(EXEVER)
  440. guilflags = $(lflags) -subsystem:windows,$(EXEVER)
  441. dlllflags = $(lflags) -entry:_DllMainCRTStartup$(DLLENTRY) -dll
  442. # For screen savers
  443. !IF "$(CPU)" == "i386"
  444. savlflags = $(lflags) -subsystem:windows,$(EXEVER) -entry:WinMainCRTStartup
  445. !ELSE
  446. savlflags = $(lflags) -subsystem:windows,$(EXEVER) -entry:mainCRTStartup
  447. !ENDIF
  448. # for POSIX applications
  449. psxlflags = $(lflags) -subsystem:posix -entry:__PosixProcessStartup
  450. # for compatibility with older-style makefiles
  451. conflags  = $(conlflags)
  452. guiflags  = $(guilflags)
  453. psxflags  = $(psxlflags)
  454. # -------------------------------------------------------------------------
  455. # C Run-Time Target Module Dependent Link Libraries
  456. #
  457. # Note: For POSIX applications, link with $(psxlibs).
  458. # -------------------------------------------------------------------------
  459. # for POSIX applications
  460. psxlibs    = libcpsx.lib psxdll.lib psxrtl.lib oldnames.lib
  461. # optional profiling and tuning libraries
  462. !IF "$(CPU)" != "IA64"
  463. !IFDEF PROFILE
  464. optlibs =  cap.lib
  465. !ELSE IFDEF TUNE
  466. optlibs = wst.lib
  467. !ELSE
  468. optlibs =
  469. !ENDIF
  470. !ELSE
  471. optlibs =
  472. !ENDIF
  473. # if building for basic Windows 95, use WinSock1, else use WinSock2
  474. !IF "$(TARGETOS)" == "WIN95"
  475. !IF "$(APPVER)" == "4.0"
  476. winsocklibs = wsock32.lib
  477. !ELSE
  478. winsocklibs = ws2_32.lib mswsock.lib
  479. !ENDIF
  480. !ELSE
  481. winsocklibs = ws2_32.lib mswsock.lib
  482. !ENDIF
  483. # basic subsystem specific libraries, less the C Run-Time
  484. baselibs    = kernel32.lib $(optlibs) $(winsocklibs) advapi32.lib
  485. winlibs     = $(baselibs) user32.lib gdi32.lib comdlg32.lib winspool.lib
  486. # for Windows applications that use the C Run-Time libraries
  487. conlibs     = $(baselibs)
  488. guilibs     = $(winlibs)
  489. # for OLE applications
  490. olelibs     = ole32.lib uuid.lib oleaut32.lib $(guilibs)
  491. #for backwards compatibility
  492. conlibsmt   = $(conlibs)
  493. conlibsdll  = $(conlibs)
  494. guilibsmt   = $(guilibs)
  495. guilibsdll  = $(guilibs)
  496. olelibsmt   = $(olelibs)
  497. olelibsdll  = $(olelibs)
  498. # for backward compatibility
  499. ole2libs    = $(olelibs)
  500. ole2libsmt  = $(olelibsmt)
  501. ole2libsdll = $(olelibsdll)
  502. # Visual Basic
  503. bc     = vb6
  504. bc_exe = /Make
  505. bc_dll = /Makedll
  506. # Set the Output Directory
  507. !IF "$(CPU)" == "IA64"
  508. OUTDIR=XP64
  509. !ELSE
  510. !IF "$(TARGETOS)" == "WIN95"
  511. OUTDIR=WinMe
  512. !ELSEIF "$(TARGETOS)" == "WINNT"
  513. !IF "$(APPVER)" == "5.0"
  514. OUTDIR=WIN2000
  515. !ELSEIF "$(APPVER)" == "5.01"
  516. OUTDIR=XP32
  517. !ELSEIF "$(APPVER)" == "6.0"
  518. OUTDIR=PRE32
  519. !ELSEIF "$(APPVER)" == "4.0"
  520. OUTDIR=NT4
  521. !ENDIF
  522. !ELSE
  523. #TARGETOS == BOTH
  524. OUTDIR=$(TARGETOS)
  525. !ENDIF
  526. !ENDIF
  527. #Set DEBUG
  528. !IF "$(NODEBUG)" == ""
  529. OUTDIR=$(OUTDIR)_DEBUG
  530. !ELSE
  531. OUTDIR=$(OUTDIR)_RETAIL
  532. !ENDIF
  533. !IF "$(OS)" == "Windows_NT"
  534. CLEANUP=if exist $(OUTDIR)/$(NULL) rd /s /q $(OUTDIR)
  535. !ELSE
  536. CLEANUP=deltree /y $(OUTDIR)
  537. !ENDIF
  538. #ENDIF _WIN32_MAK_
  539. !ENDIF