Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

706 lines
16 KiB

  1. # rules.mak
  2. # Copyright 1995 Microsoft Corp.
  3. #
  4. #
  5. # Include file for make files
  6. # Provides a consistent definition of macros and Inference Rules
  7. #
  8. ################
  9. ##
  10. ## Override these environment variable to make sure we are
  11. ## getting only our tools, libraries and include files
  12. ##
  13. ################
  14. INIT=
  15. INCLUDE=
  16. LIB=
  17. PATH=
  18. #
  19. # Here's a few global vars used by the build process
  20. RULES_MAK="rules.mak"
  21. DBG_MK=yes
  22. !ifdef WIN32
  23. TargetEnvironment = WIN32
  24. !endif
  25. ################
  26. ##
  27. ## Set up global derived variables
  28. ##
  29. ################
  30. #
  31. # Target platform selection-
  32. # The target is selected according to CPU, as well as O/S.
  33. # The O/S can be: (os_h = Host O/S, os_t = Target O/S)
  34. # win95 Win95
  35. # nash Nashville
  36. # nt_sur NT, Shell Update Release
  37. # cairo Cairo
  38. #
  39. # The CPU can be: (cpu_h = Host CPU, cpu_t = Target CPU)
  40. # X86 Intel (386, 486, P5, P6)
  41. # ALPHA DEC Alpha RISC chip
  42. # MIPS MIPS R4000, R4200, R4400, or R4600
  43. # PPC IBM PowerPC chips
  44. #
  45. # If you want to select a TargetPlatform, you must select both
  46. # CPU and OS, with CPU first. Please note that some combinations
  47. # are not legit (like MIPS and DOS). Examples:
  48. # "TargetPlatform=X86.nash"
  49. # "TargetPlatform=MIPS.nt_sur"
  50. ##############################
  51. # Detect the Host CPU type
  52. ##############################
  53. !if "$(cpu_h)" == ""
  54. !if "$(PROCESSOR_ARCHITECTURE)" == ""
  55. !message defaulting to X86 builds
  56. cpu_h = X86
  57. !endif
  58. !if "$(PROCESSOR_ARCHITECTURE)" == "x86"
  59. cpu_h = X86
  60. !endif
  61. !if "$(PROCESSOR_ARCHITECTURE)" == "MIPS"
  62. cpu_h = MIPS
  63. !endif
  64. !if "$(PROCESSOR_ARCHITECTURE)" == "PPC"
  65. cpu_h = PPC
  66. !endif
  67. !if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"
  68. cpu_h = ALPHA
  69. !endif
  70. !if "$(cpu_h)" == ""
  71. !message $(RULES_MAK) ERROR: Unknown Host CPU type: $(PROCESSOR_ARCHITECTURE)
  72. !message Please update the $(RULES_MAK) file
  73. !error
  74. !endif
  75. !endif
  76. ###################################
  77. # Detect the Host Operating System
  78. ###################################
  79. !if "$(os_h)" == ""
  80. os_h=nash
  81. !endif
  82. #####################################
  83. # Detect the Target Operating System
  84. #####################################
  85. !if "$(os_t)" == ""
  86. os_t=$(os_h)
  87. !endif
  88. #####################################
  89. # Detect the Target CPU chip
  90. #####################################
  91. !if "$(cpu_t)" == ""
  92. cpu_t=$(cpu_h)
  93. !endif
  94. #####################################
  95. # Get default TargetPlatform
  96. #####################################
  97. !if "$(TargetPlatform)" == ""
  98. TargetPlatform=$(cpu_t).$(os_t)
  99. !endif
  100. #
  101. # A few sanity checks...
  102. !if "$(cpu_t)" != "X86"
  103. ! if "$(os_t)" != "CAIRO" && "$(os_t)" != "NT_SUR"
  104. ! error $(RULES_MAK) ERROR: cannot run $(os_t) build on a $(cpu_t) system
  105. ! endif
  106. !endif
  107. # Short Cut for win32 compatablity
  108. !if ("$(os_t)" == "WIN95") || ("$(os_t)" == "nash")
  109. WIN32=1
  110. !endif
  111. !if "$(TargetEnvironment)" == "WIN32"
  112. RCDEFINES=/DWIN32=1
  113. !IF "$(DEBUG)" == "ON"
  114. RCDEFINES=$(RCDEFINES) -DDEBUG
  115. !endif
  116. !endif
  117. #####################################
  118. # Set the location for the obj files
  119. #####################################
  120. !if "$(DEBUG)" == "ON"
  121. OBJDOT = dbg
  122. !else
  123. !if "$(TEST)" == "ON"
  124. OBJDOT = tst
  125. !else
  126. !if "$(BBT)" == "ON"
  127. OBJDOT = bbt
  128. !else
  129. OBJDOT = ret
  130. !endif
  131. !endif
  132. !endif
  133. !if "$(os_t)" == "NT_SUR"
  134. OBJBASE = nt$(cpu_t)
  135. !else if "$(os_t)" == "CAIRO"
  136. OBJBASE = cro$(cpu_t)
  137. !else
  138. OBJBASE = $(os_t)
  139. !endif
  140. OBJDIR = $(OBJBASE).$(OBJDOT)
  141. ################
  142. ##
  143. ## Tools
  144. ##
  145. ################
  146. # Windows slm root and the project root
  147. ROOT = $(ProjectRootPath)
  148. # MSIPHONEROOT = $(ROOT)\TELECOM\MSIPHONE
  149. WABROOT = $(ROOT)
  150. # Tools
  151. DEVROOT = $(WABROOT)\dev
  152. TOOLSROOT = $(DEVROOT)\tools
  153. TOOLbin = $(TOOLSROOT)\bin
  154. TOOLDOSbin = $(TOOLSROOT)\bin
  155. SLMbin = $(DEVROOT)\slm
  156. ## SLM Tools -- Found in dev\slm
  157. OUT =$(SLMbin)\out.exe
  158. IN =$(SLMbin)\in.exe
  159. ## DOS Tools -- Found in tools\bin
  160. AWK =$(TOOLDOSbin)\awk.exe
  161. TOUCH =$(TOOLDOSbin)\touch.exe
  162. SED =$(TOOLDOSbin)\sed.exe
  163. RM =$(TOOLbin)\rm.exe
  164. ## Independent Dos Only Tools -- Our special tools found in tools\binw
  165. CHMODE = $(TOOLbin)\chmode.exe
  166. GREP = $(TOOLbin)\grep.exe
  167. WALK = $(TOOLbin)\walk.exe
  168. EXP = $(TOOLbin)\exp.exe
  169. CTAGS = $(TOOLbin)\ctags.exe
  170. RM = $(TOOLbin)\rm.exe /x
  171. MV = $(TOOLbin)\mv.exe
  172. INCLUDES = $(TOOLbin)\mkdep.exe
  173. ## Some things are provided by the OS
  174. CP = COPY
  175. DELNODE = DELTREE /Y
  176. CAT = TYPE
  177. CHMOD = CHMODE
  178. ################
  179. ##
  180. ## Compiler and Linker tools and flags
  181. ##
  182. ################
  183. ###########################################
  184. # Chicago and Nashville builds (WIN32 only)
  185. ###########################################
  186. !if "$(TargetPlatform)" == "X86.WIN95" || \
  187. "$(TargetPlatform)" == "X86.nash"
  188. # Directories of tools, headers and libraries
  189. WINDEV_PATH = $(WABROOT)\DEV
  190. STDCTOOLS_PATH = $(WINDEV_PATH)\TOOLS\C1032
  191. CMNCTOOLS_PATH = $(WINDEV_PATH)\TOOLS\COMMON
  192. WINSDK_PATH = $(WINDEV_PATH)\SDK
  193. WINDDK_PATH = $(WINDEV_PATH)\DDK
  194. MFC32 = $(WINDEV_PATH)\MFC32
  195. MSDEV_PATH = $(WINDEV_PATH)\MSDEV
  196. CC = $(STDCTOOLS_PATH)\bin\cl.exe
  197. RC = $(STDCTOOLS_PATH)\bin\rc.exe
  198. LINK = $(STDCTOOLS_PATH)\bin\link.exe
  199. LIBUTIL = $(STDCTOOLS_PATH)\bin\lib.exe
  200. CVPACK = $(STDCTOOLS_PATH)\bin\cvpack.exe
  201. BSCMAKE = $(STDCTOOLS_PATH)\bin\bscmake.exe
  202. MAPSYM = $(CMNCTOOLS_PATH)\mapsym.exe
  203. BBT = $(WINDEV_PATH)\tools\lego
  204. # Header files path
  205. #SDKhpath = $(MSDEV_PATH)\include;$(WINDEV_PATH)\inc;$(WINSDK_PATH)\inc;$(WINDEV_PATH)\inc16
  206. SDKhpath = $(MSDEV_PATH)\include;$(WINDEV_PATH)\inc;$(WINSDK_PATH)\inc;
  207. # same as SDKhpath for mkdep
  208. SDKIhpath = -I$(MSDEV_PATH)\include -I$(WINDEV_PATH)\inc -I$(WINSDK_PATH)\inc -I$(WINDEV_PATH)\inc16
  209. STDChpath = $(STDCTOOLS_PATH)\inc
  210. MFChpath = $(MFC32)\include
  211. # DDKhpath =
  212. # Library files path
  213. SDKlibpath = $(MSDEV_PATH)\lib;$(WINSDK_PATH)\lib;$(WINDEV_PATH)\lib;
  214. STDClibpath = $(STDCTOOLS_PATH)\lib
  215. MFClibpath = $(MFC32)\lib
  216. BBTlibpath = $(BBT)\lib
  217. # DDKlibpath = $(NEWTOOLS_PATH)\x86\w95.ddk\lib
  218. ######################
  219. ##
  220. ## SPECIAL ONE-OFF THINGS
  221. ## GO HERE
  222. ##
  223. ##
  224. ######################
  225. # Compiler and linker flags
  226. #
  227. # CFLAGS
  228. #
  229. CC_Defines = /DWIN32 /D_X86_ /D_$(os_t)_ /DNO_STRICT /DNULL=0 /D_MT /YX /Fp$(OBJDIR)\$(BASECOMPNAME).PCH /D_DLL /DWIN4
  230. LIBRARIES = kernel32.lib user32.lib gdi32.lib advapi32.lib version.lib
  231. !if "$(DEBUG)" == "ON"
  232. CFLAGS = /Odi -DDEBUG /Zpi /W3\
  233. $(CC_Defines) /Fo$(OBJDIR)\ /Fd$(OBJDIR)\ /Fc$(OBJDIR)\ /GF3s
  234. L_DebugFlag=/DEBUG:FULL /DEBUGTYPE:CV /PDB:NONE
  235. !else
  236. !ifndef CC_OFlag
  237. CC_OFlag=x
  238. !endif
  239. CFLAGS = /O$(CC_OFlag)i /Zlpe /W3\
  240. $(CC_Defines) /Fo$(OBJDIR)\ /Fd$(OBJDIR)\ /Fc$(OBJDIR)\ /GF3s
  241. !endif
  242. !if "$(TEST)" == "ON"
  243. CFLAGS=-DTEST $(CFLAGS)
  244. !endif
  245. !if "$(BBT)" == "ON"
  246. CFLAGS = /O$(CC_OFlag)i /Zi /W3\
  247. $(CC_Defines) /Fo$(OBJDIR)\ /Fd$(OBJDIR)\ /Fc$(OBJDIR)\ /GF3s
  248. !endif
  249. # LFLAGS
  250. #
  251. LFLAGS = /NODEFAULTLIB $(L_DebugFlag)
  252. !IF "$(LibType)"=="dll"
  253. LFLAGS = $(LFLAGS) /DLL
  254. !IFDEF LibMain
  255. LFLAGS = $(LFLAGS) /ENTRY:$(LibMain)
  256. !ENDIF
  257. !ENDIF
  258. ## If console, else all others are windows.
  259. !IFDEF CONSOLE
  260. AppType =console
  261. !ELSE
  262. AppType =windows
  263. !ENDIF
  264. LFLAGS = -subsystem:$(AppType),4.0 $(LFLAGS)
  265. # LFLAGS = -subsystem:$(AppType),4.0 -merge:.bss=.data -merge:.rdata=.text $(LFLAGS)
  266. !if "$(BBT)" == "ON"
  267. LFLAGS = /DEBUG /DEBUGTYPE:CV,FIXUP $(LFLAGS)
  268. !endif
  269. !ifndef MSVCRT
  270. MSVCRT = msvcrt.lib
  271. !endif
  272. ###########################################
  273. # NT_SUR
  274. ###########################################
  275. !elseif "$(os_t)" == "NT_SUR"
  276. !error NT_SUR builds not supported at this time.
  277. ###########################################
  278. # Cairo
  279. ###########################################
  280. !elseif "$(os_t)" == "CAIRO"
  281. !error CAIRO builds not supported at this time.
  282. !endif
  283. ################
  284. ##
  285. ## Misc (MFC, MAPI, etc)
  286. ##
  287. ################
  288. ###########################################
  289. # MFC
  290. ###########################################
  291. !if DEFINED(UseMFC) || "$(usingMFC)" == "YES"
  292. MFChpath = $(STDCTOOLS_PATH)\mfc\include
  293. MFClibpath = $(STDCTOOLS_PATH)\mfc\lib
  294. !endif
  295. ###########################################
  296. # MFC
  297. ###########################################
  298. !if DEFINED(UseMAPI) || "$(usingMAPI)"=="YES"
  299. MAPIhpath = $(SDKhpath)
  300. MAPIlibpath = $(SDKlibpath)
  301. !endif
  302. ###########################################
  303. # Headers and libraries path list
  304. ###########################################
  305. !if "$(LocalCIncludePaths)" != ""
  306. LocalCIncludePaths = $(LocalCIncludePaths);
  307. !endif
  308. !if "$(STDChpath)" != ""
  309. STDCIhpath = -I$(STDChpath)
  310. !endif
  311. !if "$(MAPIhpath)" != ""
  312. MAPIhpath = $(MAPIhpath);
  313. MAPIIhpath = -I$(MAPIhpath)
  314. !endif
  315. !if "$(MFChpath)" != ""
  316. MFChpath = $(MFChpath);
  317. MFCIhpath = -I$(MFChpath)
  318. !endif
  319. !if "$(SDKhpath)" != ""
  320. SDKhpath = $(SDKhpath);
  321. !endif
  322. !if "$(DDKhpath)" != ""
  323. DDKhpath = $(DDKhpath);
  324. DDKIhpath = -I$(DDKhpath)
  325. !endif
  326. !if "$(Locallibpath)" != ""
  327. Locallibpath = $(Locallibpath);
  328. !endif
  329. !if "$(MAPIlibpath)" != ""
  330. MAPIlibpath = $(MAPIlibpath);
  331. !endif
  332. !if "$(MFClibpath)" != ""
  333. MFClibpath = $(MFClibpath);
  334. !endif
  335. !if "$(SDKlibpath)" != ""
  336. SDKlibpath = $(SDKlibpath);
  337. !endif
  338. !if "$(DDKlibpath)" != ""
  339. DDKlibpath = $(DDKlibpath);
  340. !endif
  341. PROJhpath = $(ProjectRootPath)\common\h;
  342. PROJIhpath = -I$(ProjectRootPath)\common\h
  343. # Do not split this line, as that inserts a space which rc cannot handle
  344. CIncludePaths = .;$(LocalCIncludePaths)$(PROJhpath)$(MAPIhpath)$(SDKhpath)$(DDKhpath)$(MFChpath)$(STDChpath)
  345. # This is for mkdep utility - it wants dirs in -Ifoo -Ibar format.
  346. CCmdIncPaths = -I. $(Hfiles) $(PROJIhpath) $(MAPIIhpath) $(SDKIhpath) $(DDKIhpath) $(MFCIhpath) $(STDCIhpath)
  347. MKDEP_options = -n -s.obj $(CCmdIncPaths)
  348. # Do not split this line,as it confuses some versions of the linker!
  349. LIBRULES = $(PROJlibpath);$(Locallibpath)$(MAPIlibpath)$(SDKlibpath)$(DDKlibpath)$(MFClibpath)$(STDClibpath)
  350. !if "$(BBT)" == "ON"
  351. LIBRULES = $(BBTlibpath);$(LIBRULES)
  352. !endif
  353. !IF "$(OBJBASE)" == "ntX86"
  354. libdir=i386
  355. !ENDIF
  356. !IF "$(OBJBASE)" != "ntX86"
  357. libdir = $(PROCESSOR_ARCHITECTURE)
  358. !ENDIF
  359. PROJlibpath=$(ProjectRootPath)\common\lib\$(libdir)
  360. ##############################################################################
  361. # Inference Rules
  362. ##############################################################################
  363. .SUFFIXES:
  364. .SUFFIXES: .obj .c .cpp .asm .res .rc .sym .map
  365. !IFDEF MASM510
  366. .asm.obj:
  367. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  368. set INCLUDE=$(AIncludePaths)
  369. set PATH=$(PATH)
  370. $(ASM) $(LocalAFLAGS) $<;
  371. .asm{$(OBJDIR)}.obj:
  372. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  373. set INCLUDE=$(AIncludePaths)
  374. set PATH=$(PATH)
  375. $(ASM) $(LocalAFLAGS) $<,$(@D)\;
  376. {$(SRCDIR1)}.asm{$(OBJDIR)}.obj:
  377. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  378. set INCLUDE=$(AIncludePaths)
  379. set PATH=$(PATH)
  380. $(ASM) $(LocalAFLAGS) $<,$(@D)\;
  381. {$(SRCDIR2)}.asm{$(OBJDIR)}.obj:
  382. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  383. set INCLUDE=$(AIncludePaths)
  384. set PATH=$(PATH)
  385. $(ASM) $(LocalAFLAGS) $<,$(@D)\;
  386. {$(SRCDIR3)}.asm{$(OBJDIR)}.obj:
  387. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  388. set INCLUDE=$(AIncludePaths)
  389. set PATH=$(PATH)
  390. $(ASM) $(LocalAFLAGS) $<,$(@D)\;
  391. {$(SRCDIR4)}.asm{$(OBJDIR)}.obj:
  392. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  393. set INCLUDE=$(AIncludePaths)
  394. set PATH=$(PATH)
  395. $(ASM) $(LocalAFLAGS) $<,$(@D)\;
  396. .asm.lst:
  397. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  398. set INCLUDE=$(AIncludePaths)
  399. set PATH=$(PATH)
  400. $(ASM) $(LocalAFLAGS) -L $<,,$*.lst,,
  401. !ELSE
  402. .asm.obj:
  403. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  404. set INCLUDE=$(AIncludePaths)
  405. set ML=$(AFLAGS)
  406. set PATH=$(PATH)
  407. $(ASM) $(LocalAFLAGS) $<
  408. .asm{$(OBJDIR)}.obj:
  409. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  410. set INCLUDE=$(AIncludePaths)
  411. set ML=$(AFLAGS)
  412. set PATH=$(PATH)
  413. $(ASM) $(LocalAFLAGS) $<
  414. {$(SRCDIR1)}.asm{$(OBJDIR)}.obj:
  415. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  416. set INCLUDE=$(AIncludePaths)
  417. set ML=$(AFLAGS)
  418. set PATH=$(PATH)
  419. $(ASM) $(LocalAFLAGS) $<
  420. {$(SRCDIR2)}.asm{$(OBJDIR)}.obj:
  421. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  422. set INCLUDE=$(AIncludePaths)
  423. set ML=$(AFLAGS)
  424. set PATH=$(PATH)
  425. $(ASM) $(LocalAFLAGS) $<
  426. {$(SRCDIR3)}.asm{$(OBJDIR)}.obj:
  427. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  428. set INCLUDE=$(AIncludePaths)
  429. set ML=$(AFLAGS)
  430. set PATH=$(PATH)
  431. $(ASM) $(LocalAFLAGS) $<
  432. {$(SRCDIR4)}.asm{$(OBJDIR)}.obj:
  433. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  434. set INCLUDE=$(AIncludePaths)
  435. set ML=$(AFLAGS)
  436. set PATH=$(PATH)
  437. $(ASM) $(LocalAFLAGS) $<
  438. .asm.lst:
  439. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  440. set INCLUDE=$(AIncludePaths)
  441. set ML=$(AFLAGS)
  442. set PATH=$(PATH)
  443. $(ASM) $(LocalAFLAGS) $<
  444. !ENDIF
  445. #### C Rules
  446. .c.obj:
  447. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  448. set PATH=$(PATH)
  449. set INCLUDE=$(CIncludePaths)
  450. set CL=-c $(CFLAGS)
  451. $(CC) $(LocalCFLAGS) $<
  452. .c{$(OBJDIR)}.obj:
  453. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  454. set PATH=$(PATH)
  455. set INCLUDE=$(CIncludePaths)
  456. set CL=-c $(CFLAGS)
  457. $(CC) $(LocalCFLAGS) $<
  458. {$(SRCDIR1)}.c{$(OBJDIR)}.obj:
  459. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  460. set PATH=$(PATH)
  461. set INCLUDE=$(CIncludePaths)
  462. set CL=-c $(CFLAGS)
  463. $(CC) $(LocalCFLAGS) $<
  464. {$(SRCDIR2)}.c{$(OBJDIR)}.obj:
  465. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  466. set PATH=$(PATH)
  467. set INCLUDE=$(CIncludePaths)
  468. set CL=-c $(CFLAGS)
  469. $(CC) $(LocalCFLAGS) $<
  470. {$(SRCDIR3)}.c{$(OBJDIR)}.obj:
  471. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  472. set INCLUDE=$(CIncludePaths)
  473. set CL=-c $(CFLAGS)
  474. set PATH=$(PATH)
  475. $(CC) $(LocalCFLAGS) $<
  476. {$(SRCDIR4)}.c{$(OBJDIR)}.obj:
  477. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  478. set INCLUDE=$(CIncludePaths)
  479. set CL=-c $(CFLAGS)
  480. set PATH=$(PATH)
  481. $(CC) $(LocalCFLAGS) $<
  482. .c.cod:
  483. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  484. set INCLUDE=$(CIncludePaths)
  485. set CL=-c $(CFLAGS)
  486. set PATH=$(PATH)
  487. $(CC) $(LocalCFLAGS) -Fc$(OBJDIR)\ $<
  488. .c.i:
  489. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  490. set INCLUDE=$(CIncludePaths)
  491. set CL=$(CFLAGS) $(LocalCFLAGS)
  492. set PATH=$(PATH)
  493. $(CC) -C -P $<
  494. .c.p:
  495. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  496. set INCLUDE=$(CIncludePaths)
  497. set CL=$(CFLAGS) $(LocalCFLAGS)
  498. set PATH=$(PATH)
  499. $(CC) -Zg $< > $*.p
  500. #### C++ Rules
  501. .cpp.obj:
  502. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  503. set INCLUDE=$(CIncludePaths)
  504. set CL=-c $(CFLAGS)
  505. set PATH=$(PATH)
  506. $(CC) $(LocalCFLAGS) $<
  507. .cpp{$(OBJDIR)}.obj:
  508. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  509. set PATH=$(PATH)
  510. set INCLUDE=$(CIncludePaths)
  511. set CL=-c $(CFLAGS)
  512. $(CC) $(LocalCFLAGS) $<
  513. {$(SRCDIR1)}.cpp{$(OBJDIR)}.obj:
  514. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  515. set PATH=$(PATH)
  516. set INCLUDE=$(CIncludePaths)
  517. set CL=-c $(CFLAGS)
  518. $(CC) $(LocalCFLAGS) $<
  519. {$(SRCDIR2)}.cpp{$(OBJDIR)}.obj:
  520. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  521. set PATH=$(PATH)
  522. set INCLUDE=$(CIncludePaths)
  523. set CL=-c $(CFLAGS)
  524. $(CC) $(LocalCFLAGS) $<
  525. .cpp.cod:
  526. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  527. set INCLUDE=$(CIncludePaths)
  528. set CL=-c $(CFLAGS)
  529. set PATH=$(PATH)
  530. $(CC) $(LocalCFLAGS) -Fc$(OBJDIR)\ $<
  531. #### Miscellaneous
  532. .obj.exe:
  533. @echo Attempting link from inference rules $<
  534. .obj5.dll:
  535. @echo Attempting link from inference rules $<
  536. .map.sym:
  537. $(MAPSYM) $<
  538. {$(OBJDIR)}.map{$(OBJDIR)}.sym:
  539. cd $(OBJDIR)
  540. $(MAPSYM) $(<F)
  541. cd ..
  542. .h.inc:
  543. $(H2INC) $(H2INC_options) $< -o $@
  544. #### Resource Compilation
  545. .rc.res:
  546. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  547. set INCLUDE=$(CIncludePaths)
  548. set PATH=$(PATH)
  549. $(RC) $(RCDEFINES) $(LocalRCFLAGS) /r /Fo$@ $<
  550. .rc{$(OBJDIR)}.res:
  551. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  552. set INCLUDE=$(CIncludePaths)
  553. set PATH=$(PATH)
  554. $(RC) $(RCDEFINES) $(LocalRCFLAGS) /r /Feo$@ $<
  555. {$(SRCDIR1)}.rc{$(OBJDIR)}.res:
  556. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  557. set INCLUDE=$(CIncludePaths)
  558. set PATH=$(PATH)
  559. $(RC) $(RCDEFINES) $(LocalRCFLAGS) /r /Fo$@ $<
  560. {$(RES_DIR)}.rc{$(OBJDIR)}.res:
  561. @if not exist $(OBJDIR) mkdir $(OBJDIR)
  562. set INCLUDE=$(CIncludePaths)
  563. set PATH=$(PATH)
  564. $(RC) $(RCDEFINES) $(LocalRCFLAGS) /r /Fo$@ $<