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

模拟服务器

开发平台:

C/C++

  1. #----------------------------------------------------------------------------
  2. #
  3. # Description:
  4. #   Make File Header for Internet Software Development Kit
  5. #   Based in large part on BkOffice.Mak from the BackOffice SDK
  6. #
  7. # Copyright:
  8. #   Copyright (C) Microsoft Corp. 1995-1999.  All Rights Reserved.
  9. #
  10. #----------------------------------------------------------------------------
  11. !ifndef _INETSDK_MAK_       # Prevent multiple inclusions
  12. _INETSDK_MAK_ = 1
  13. #*********************************************
  14. #
  15. # Parameter Checking and Defaults
  16. #
  17. #*********************************************
  18. !ifndef Proj
  19. !     ERROR Component name (Proj) has not been defined.
  20. !endif
  21. !ifndef INCLUDE
  22. !   ERROR INCLUDE variable is empty; must include at least system include directory
  23. !endif
  24. !ifndef LIB
  25. !   ERROR LIB variable is empty; must include at least system lib directory
  26. !endif
  27. !ifdef USE_ISAPI
  28. !ifndef WWWSCRIPTS
  29. !   MESSAGE WWWSCRIPTS environment variable is empty; defaulting to .
  30. WWWSCRIPTS = .
  31. !endif
  32. !ifndef WWWROOT
  33. !   MESSAGE WWWROOT environment variable is empty; defaulting to .
  34. WWWROOT = .
  35. !endif
  36. !endif # USE_ISAPI
  37. !if defined(clean)
  38. $(Proj): Clean
  39. !else
  40. $(Proj): All
  41. !endif
  42. !if defined(nodebug)
  43. BLDTYPE=Retail
  44. !endif
  45. !if "$(BLDTYPE)" == "Retail" | "$(BLDTYPE)" == "RETAIL" | "$(BLDTYPE)" == "retail" | "$(BLDTYPE)" == "RTL" | "$(BLDTYPE)" == "rtl"
  46. BLDTYPE=Retail
  47. !else if "$(BLDTYPE)" == "Profile" | "$(BLDTYPE)" == "PROFILE" | "$(BLDTYPE)" == "profile"
  48. BLDTYPE=Profile
  49. !else if "$(BLDTYPE)" == "Debug" | "$(BLDTYPE)" == "DEBUG" | "$(BLDTYPE)" == "debug" | "$(BLDTYPE)" == "DBG" | "$(BLDTYPE)" == "dbg"
  50. BLDTYPE=Debug
  51. !else ifndef BLDTYPE
  52. BLDTYPE=Debug
  53. !else
  54. !   ERROR BLDTYPE must be either Retail, Profile or Debug.
  55. !endif   
  56. !if "$(BLDTYPE)" == "Retail"
  57. nodebug=1
  58. !endif
  59. !ifndef CALL
  60. CALL=C
  61. !endif
  62. !ifndef PACK
  63. PACK=YES
  64. !endif
  65. !ifndef LOG
  66. LOG=NO
  67. !endif
  68. !ifndef WARNING_LEVEL
  69. WARNING_LEVEL=3
  70. !endif
  71. !ifndef PROCESSOR_ARCHITECTURE
  72. PROCESSOR_ARCHITECTURE = x86
  73. !endif # default to x86
  74. !ifndef CPU
  75. CPU=$(PROCESSOR_ARCHITECTURE)
  76. !if "$(CPU)"=="x86" | "$(CPU)"=="X86"
  77. CPU = i386
  78. !endif
  79. !endif
  80. !ifndef APPVER
  81. APPVER=5.0
  82. !endif
  83. !ifndef USE_EXCHANGE
  84. !include <win32.mak>
  85. !endif
  86. # Save build args for any recursive nmakes 
  87. BLDARGS= BLDTYPE=$(BLDTYPE) LOG=$(LOG) CPU=$(CPU)
  88. #*********************************************
  89. #
  90. # Paths
  91. #
  92. #*********************************************
  93. !ifndef BKOFFICE
  94. !ifdef PROJROOT
  95. BKOFFICE=$(PROJROOT)        # must add trailing backslash
  96. !else
  97. BKOFFICE=BkOffice          # assume a reasonable default
  98. !endif
  99. !endif
  100. !ifdef MAKEDIRS
  101. MkDest=
  102. !include $(MAKEDIRS)
  103. !else
  104. ResDir=.
  105. ObjDir=$(BLDTYPE)
  106. IncDir=$(BKOFFICE)Include
  107. LibDir=$(BKOFFICE)Lib
  108. !if "$(APPVER)" == "5.01"
  109. INCLUDE=$(INCLUDE);$(ObjDir);$(IncDir);
  110. !ELSE
  111. INCLUDE=$(ObjDir);$(IncDir);$(INCLUDE);
  112. !ENDIF
  113. LIB=$(LibDir);$(LIB);
  114. # Win95 doesn't support "&" on command line
  115. MkDest=@if not exist $(ObjDir) md $(ObjDir)
  116. MkWWWDest=@for %d in ($(WWWROOT)SDK $(WWWROOT)SDK$(Proj) $(WWWSCRIPTS)SDK) do @$(COMSPEC) /c if not exist %d md %d
  117. !endif
  118. # ObjList is used for making .Libs from .Defs, and as a convenience in other places.
  119. !ifndef ObjList
  120. ObjList=$(ObjDir)$(@B).OBJ
  121. !endif
  122. #*********************************************
  123. #
  124. # Tools
  125. #
  126. #*********************************************
  127. MAKEEXE = nmake
  128. IMPLIB  = lib
  129. CC      = cl
  130. LIBU    = lib
  131. LINK    = link
  132. RC      = rc
  133. MC      = mc
  134. HC      = start /wait hcrtf
  135. #*********************************************
  136. #
  137. # Flags
  138. #
  139. #*********************************************
  140. # CL is for all C and C++ files
  141. #   -WX     Warnings as errors
  142. #   -J      char becomes unsigned char
  143. #   
  144. CL=$(cflags) -c -W$(WARNING_LEVEL) -J -Fo$@ /nologo $(CL)
  145. # LFLAGS is for all links
  146. LFLAGS=-nologo -nodefaultlib -machine:$(CPU) -out:$@ -incremental:no -pdb:none $(LFLAGS)
  147. # DLLFLAGS is for linking DLLs
  148. DLLFLAGS=-dll -map:$(ObjDir)$(@B).map $(DLLFLAGS)
  149. # LIBFLAGS is for making libraries
  150. LIBFLAGS=-nologo -machine:$(CPU) -out:$@ $(LIBFLAGS)
  151. # RFLAGS is for Windows resources
  152. RFLAGS= -I$(ResDir) -fo$@ -DWIN32 $(noansi) -r -D_WIN32 $(RFLAGS) 
  153. # MFLAGS is for the message compiler
  154. MFLAGS=-v -c -s -h $(ObjDir) -r $(ObjDir) -x $(ObjDir) $(MFLAGS)
  155. # MRFLAGS is for the resource compiler when used after the message compiler
  156. MRFLAGS=-l 409 -r -x -i$(ObjDir) $(MRFLAGS)
  157. # HFLAGS is for the help compiler 
  158. HFLAGS=-xn
  159. #---------------------------------------------
  160. # Calling convention Flag
  161. #---------------------------------------------
  162. !if "$(CALL)"=="PASCAL"
  163. CL=-Gc $(CL)
  164. !endif
  165. #---------------------------------------------
  166. # Function Packaging Flag
  167. #---------------------------------------------
  168. !if "$(PACK)" == "YES"
  169. CL=-Gy $(CL)
  170. cDefines=-Gy $(cDefines)
  171. !endif
  172. #---------------------------------------------
  173. # Output Redirection
  174. #---------------------------------------------
  175. !if "$(LOG)" == "NO"
  176. LogCmd=
  177. !else
  178. LogCmd= >> $(ObjDir)$(Proj).Out
  179. !endif 
  180. #---------------------------------------------
  181. # Optimization Flags
  182. #---------------------------------------------
  183. !if "$(BLDTYPE)" == "Retail"
  184. CL=-O2 $(CL)
  185. !else if "$(BLDTYPE)" == "Profile"
  186. CL=-Od -Z7 -Gh $(CL)
  187. !else
  188. CL=-Od -Z7 $(CL)
  189. !endif
  190. #---------------------------------------------
  191. # CPU specific Flags
  192. #---------------------------------------------
  193. !if "$(CPU)" == "I386"
  194. CL = $(CL) -D_X86_=1
  195. scall  = -Gz
  196. lflags   = $(lflags) -align:0x1000
  197. !endif
  198. !if "$(CPU)" == "MIPS"
  199. CL = $(CL) -D_MIPS_=1
  200. scall  =
  201. !endif
  202. !if "$(CPU)" == "PPC"
  203. CL = $(CL) -D_PPC_=1
  204. scall  =
  205. lflags   = $(lflags) -ignore:4078
  206. !endif
  207. !if "$(CPU)" == "ALPHA"
  208. CL = $(CL) -D_ALPHA_=1
  209. scall  =
  210. !endif
  211. #---------------------------------------------
  212. # Windows version
  213. #---------------------------------------------
  214. !if "$(APPVER)" == "4.0"
  215. CL = $(CL) -DWINVER=0x0400
  216. rflags=$(rflags) -DWINVER=0x0400
  217. !endif
  218. #---------------------------------------------
  219. # Additional MFC Flags
  220. #---------------------------------------------
  221. !ifdef Use_MFC
  222. CL= $(CL) /GX /DSTRICT /DWIN32 /D_WINDOWS /D_MBCS /D_WINDLL 
  223. CL= $(CL) /D_USRDLL -D_AFX_NO_BSTR_SUPPORT /D_AFXDLL
  224. RFLAGS = $(RFLAGS) /DSTRICT /DWIN32 /D_WINDOWS /D_MBCS /D_WINDLL /D_USRDLL -D_AFX_NO_BSTR_SUPPORT /D_AFXDLL
  225. !if "$(BLDTYPE)"=="Debug"
  226. CL= $(CL) /D_DEBUG
  227. RFLAGS = $(RFLAGS) /D_DEBUG
  228. !endif # BLDTYPE == Debug
  229. !ifdef crtdll                                 # Use DLL CRT? (which is multithreaded)
  230. crtflags = -MD$(DbgLibFlag) $(crtflags)
  231. !elseif defined(crtst) && !defined(crtflags)  # use Single Threaded CRT?
  232. crtflags = -ML$(DbgLibFlag) $(crtflags)
  233. !elseif defined(crtmt)                        # use Multithreaded CRT?
  234. crtflags = -MT$(DbgLibFlag) $(crtflags)
  235. !else                                         # default to crtdll
  236. crtflags = -MD$(DbgLibFlag) $(crtflags)
  237. !endif                                        # ifdef crtdll/else crtst/crtmt/else
  238. !endif # Use_MFC
  239. #---------------------------------------------
  240. # Build Type Flags  (Retail/Debug)
  241. #---------------------------------------------
  242. !if "$(BLDTYPE)"=="Retail"
  243. CL=-DSHIP $(CL)
  244. LFLAGS = $(LFLAGS) -release
  245. !else if "$(BLDTYPE)"=="Profile"
  246. CL=-DDEBUG -DTEST -DPROFILE $(CL)
  247. LFLAGS = $(LFLAGS) -debug:mapped,partial -debugtype:coff -PROFILE
  248. libs = $(libs) CAP.LIB
  249. !else 
  250. CL=-DDEBUG -DTEST $(CL) 
  251. LFLAGS = $(LFLAGS) -debug:full -debugtype:cv
  252. !endif
  253. #---------------------------------------------
  254. # Determine CRT Flags
  255. #---------------------------------------------
  256. !ifdef crtdll                                 # Use DLL CRT? (which is multithreaded)
  257. crtflags = -DWIN32 $(noansi) -D_WIN32 -D_MT -D_DLL
  258. !elseif defined(crtst) && !defined(crtflags)  # use Single Threaded CRT?
  259. crtflags = -DWIN32 $(noansi) -D_WIN32
  260. !elseif defined(crtmt)                        # use Multithreaded CRT?
  261. crtflags = -DWIN32 $(noansi) -D_WIN32 -D_MT
  262. !else                                         # default to crtdll
  263. crtflags = -DWIN32 $(noansi) -D_WIN32 -D_MT -D_DLL
  264. !endif                                        # ifdef crtdll/else crtst/crtmt/else
  265. #---------------------------------------------
  266. # Determine app type Flags (console, gui, or DLL)
  267. #---------------------------------------------
  268. !if defined(console)                          # console app
  269. linkflags=$(linkflags) -subsystem:console -entry:mainCRTStartup
  270. !elseif !defined(dll)                         # not a dll, default to gui app
  271. linkflags=$(linkflags) -subsystem:windows -entry:WinMainCRTStartup
  272. !endif                                        # ifdef console/else
  273. #*********************************************
  274. #
  275. # Libraries
  276. #
  277. #*********************************************
  278. !if "$(BLDTYPE)"=="Retail"
  279. DbgLibFlag =
  280. !else
  281. DbgLibFlag = d
  282. !endif
  283. #---------------------------------------------
  284. # Back Office SDK specific
  285. #---------------------------------------------
  286. !ifdef USE_SNA
  287. libs=$(libs) fmistr32.lib ihvLink.lib snacli.lib wappc32.lib wcpic32.lib
  288. libs=$(libs) wincsv32.lib winrui32.lib winsli32.lib
  289. !endif # USE_SNA
  290. !ifdef USE_SQL
  291. libs=$(libs) ntwdbLib.lib
  292. !endif # USE_SQL
  293. !ifdef USE_ODS
  294. libs=$(libs) opends60.lib
  295. !endif # USE_ODS
  296. !if defined(USE_MSM) || defined(USE_SMS)
  297. libs=$(libs) smsapi.lib objectty.lib
  298. !endif # USE_MSM || USE_SMS
  299. !ifdef USE_NETMON
  300. libs=$(libs) atalk.lib bhmon.lib bhsupp.lib browser.lib filter.lib friendly.lib
  301. libs=$(libs) hexedit.lib llc.lib nal.lib ncp.lib netlogon.lib nmapi.lib
  302. libs=$(libs) parser.lib ppp.lib slbs.lib toolbar.lib
  303. !endif # USE_NETMON
  304. !ifdef USE_EXCHANGE
  305. !  ifndef Building_ExchSDK
  306. libs=ExchSDK$(DbgLibFlag).Lib $(libs)
  307. !  endif # Building_ExchSDK
  308. libs=$(libs) Mapi32.Lib Uuid.Lib
  309. !  if "$(WARNING_LEVEL)" != "4"
  310. CL= $(CL) -WX
  311. !  endif
  312. DLLFLAGS = $(DLLFLAGS) -def:$(@B).def
  313. !endif # USE_EXCHANGE
  314. #---------------------------------------------
  315. # Determine CRT Libraries
  316. #---------------------------------------------
  317. libc = libc$(DbgLibFlag).lib oldnames.lib
  318. libcmt = libcmt$(DbgLibFlag).lib oldnames.lib
  319. libcdll = msvcrt$(DbgLibFlag).lib oldnames.lib
  320. !ifdef crtdll                                 # Use DLL CRT?
  321. libcrt=$(libcdll)
  322. !elseif defined(crtst) && !defined(crtflags)  # use Single Threaded CRT?
  323. libcrt=$(libc)
  324. !elseif defined(crtmt)                        # use Multithreaded CRT?
  325. libcrt=$(libcmt)
  326. !else                                         # default to crtdll
  327. libcrt=$(libcdll)
  328. !endif                                        # endif crtdll/else crtst/crtmt/else
  329. #---------------------------------------------
  330. # Determine app type libraries (console, gui, or DLL)
  331. #---------------------------------------------
  332. !ifdef dll                                    # is this a DLL?
  333. linklibs=$(libs) kernel32.lib advapi32.lib user32.lib gdi32.lib comctl32.lib comdlg32.lib ole32.lib oleaut32.lib uuid.lib winspool.lib version.lib
  334. !elseif defined(console)                      # not a DLL, perhaps a console app
  335. linklibs=$(libs) kernel32.lib advapi32.lib user32.lib ole32.lib version.lib
  336. !else                                         # default to gui app
  337. linklibs=$(libs) kernel32.lib $(optlibs) advapi32.lib user32.lib gdi32.lib comdlg32.lib ole32.lib oleaut32.lib uuid.lib winspool.lib version.lib
  338. !endif                                        # ifdef dll/else console/else
  339. LinkLibs = $(LibList) $(linklibs) $(libcrt)
  340. !if "$(BLDTYPE)" == "Profile"
  341. LinkLibs = $(LinkLibs) cap.lib
  342. !endif
  343. #---------------------------------------------
  344. # Additional MFC Libraries
  345. #---------------------------------------------
  346. # Note that linking order is important when using MFC!
  347. !ifdef Use_MFC
  348. !if !defined(nodebug)
  349. linklibs = mfco42$(DbgLibFlag).lib $(linklibs)
  350. !endif
  351. linklibs = mfcs42$(DbgLibFlag).lib mfc42$(DbgLibFlag).lib $(linklibs)
  352. !endif
  353. #*********************************************
  354. #
  355. # Inference Rules
  356. #
  357. #*********************************************
  358. .SUFFIXES:
  359. .SUFFIXES: .c .cpp .obj .def .lib .dll .exe .mc .rc .res .exp .bin .hpj .htm .stm .h .mak .cpl .gif .jpg .cxx .hxx .ocx
  360. # C Targets
  361. .c{$(ObjDir)}.obj:
  362.     $(MkDest)
  363. !if "$(LOG)"=="YES"
  364.     @echo $(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
  365. !endif
  366.     $(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
  367. # C++ Targets
  368. .cpp{$(ObjDir)}.obj:
  369.     $(MkDest)
  370. !if "$(LOG)"=="YES"
  371.     @echo $(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
  372. !endif
  373.     $(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
  374. # C++ Targets
  375. .cxx{$(ObjDir)}.obj:
  376.     $(MkDest)
  377. !if "$(LOG)"=="YES"
  378.     @echo $(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
  379. !endif
  380.     $(CC) $(CL) $(crtflags) $(cDefines) $< $(LogCmd)
  381. # Resource Targets from .RC files
  382. {$(ResDir)}.rc{$(ObjDir)}.res:
  383.     $(MkDest)
  384. !if "$(LOG)"=="YES"
  385.     @echo $(RC) $(RFLAGS) $(ResDir)$(@B).rc $(LogCmd)
  386. !endif
  387.     $(RC) $(RFLAGS) $(ResDir)$(@B).rc $(LogCmd)
  388. # Resource Targets from .MC files
  389. .mc{$(ObjDir)}.res:
  390.     $(MkDest)
  391. !if "$(LOG)"=="YES"
  392.     @echo $(MC) $(MFLAGS) $< $(LogCmd)
  393. !endif
  394.     $(MC) $(MFLAGS) $< $(LogCmd)
  395. !if "$(LOG)"=="YES"
  396.     @echo $(RC) $(MRFLAGS) -fo$@ $(ObjDir)$(@B).rc $(LogCmd)
  397. !endif
  398.     $(RC) $(MRFLAGS) -fo$@ $(ObjDir)$(@B).rc $(LogCmd)
  399. # Import Libraries
  400. .Def{$(ObjDir)}.lib:
  401. !if "$(LOG)"=="YES"
  402.     @echo $(IMPLIB) -nologo -machine:$(CPU) -def:$(@B).Def $(ObjList) -OUT:$@ $(LogCmd)
  403. !endif
  404.     $(IMPLIB) -nologo -machine:$(CPU) -def:$(@B).Def $(ObjList) -OUT:$@ $(LogCmd)
  405. .Def{$(ObjDir)}.exp:
  406. !if "$(LOG)"=="YES"
  407.     @echo $(IMPLIB) -nologo -machine:$(CPU) -def:$(@B).Def -OUT:$(@R).Lib $(ObjDir)*.Obj $(STATICLIBS) $(LogCmd)
  408. !endif
  409.     $(IMPLIB) -nologo -machine:$(CPU) -def:$(@B).Def -OUT:$(@R).Lib $(ObjDir)*.Obj $(STATICLIBS) $(LogCmd)
  410. # Static Libraries
  411. {$(ObjDir)}.obj{$(ObjDir)}.lib:
  412. !if "$(LOG)"=="YES"
  413.     @echo $(LIBU) $(LIBFLAGS)  $** $(LogCmd)
  414. !endif
  415.     $(LIBU) $(LIBFLAGS) $** $(LogCmd)
  416. # DLLs
  417. {$(ObjDir)}.obj{$(ObjDir)}.dll:
  418.     @echo $** > $(ObjDir)objfiles.lst
  419.     @echo $(LinkLibs) > $(ObjDir)libfiles.lst
  420. !if "$(LOG)"=="YES"
  421.     @echo   $(LINK) $(LFLAGS) $(DLLFLAGS) $(linkflags) @$(ObjDir)objfiles.lst @$(ObjDir)libfiles.lst $(LogCmd)
  422. !endif
  423.     $(LINK) $(LFLAGS) $(DLLFLAGS) $(linkflags) @$(ObjDir)objfiles.lst @$(ObjDir)libfiles.lst $(LogCmd)
  424. # OCs
  425. {$(ObjDir)}.obj{$(ObjDir)}.Ocx:
  426.     @echo $** > $(ObjDir)objfiles.lst
  427.     @echo $(LinkLibs) > $(ObjDir)libfiles.lst
  428. !if "$(LOG)"=="YES"
  429.     @echo   $(LINK) $(LFLAGS) $(DLLFLAGS) $(linkflags) @$(ObjDir)objfiles.lst @$(ObjDir)libfiles.lst $(LogCmd)
  430. !endif
  431.     $(LINK) $(LFLAGS) $(DLLFLAGS) $(linkflags) @$(ObjDir)objfiles.lst @$(ObjDir)libfiles.lst $(LogCmd)
  432. # CPLs
  433. {$(ObjDir)}.obj{$(ObjDir)}.Cpl:
  434.     @echo $** > $(ObjDir)objfiles.lst
  435.     @echo $(LinkLibs) > $(ObjDir)libfiles.lst
  436. !if "$(LOG)"=="YES"
  437.     @echo   $(LINK) $(LFLAGS) $(DLLFLAGS) $(linkflags) @$(ObjDir)objfiles.lst @$(ObjDir)libfiles.lst $(LogCmd)
  438. !endif
  439.     $(LINK) $(LFLAGS) $(DLLFLAGS) $(linkflags) @$(ObjDir)objfiles.lst @$(ObjDir)libfiles.lst $(LogCmd)
  440. # BINs
  441. {$(ObjDir)}.obj{$(ObjDir)}.bin:
  442.     @echo $(LinkLibs) > $(ObjDir)libfiles.lst
  443. !if "$(LOG)"=="YES"
  444.     @echo $(LINK) $(LFLAGS) $(linkflags) $** @$(ObjDir)libfiles.lst $(LogCmd)
  445. !endif
  446.     $(LINK) $(LFLAGS) $(linkflags) $** @$(ObjDir)libfiles.lst $(LogCmd)
  447. # EXEs
  448. {$(ObjDir)}.obj{$(ObjDir)}.exe:
  449.     @echo $**  > $(ObjDir)objfiles.lst
  450.     @echo $(LinkLibs) > $(ObjDir)libfiles.lst
  451. !if "$(LOG)"=="YES"
  452.     @echo $(LINK) $(LFLAGS) $(linkflags) @$(ObjDir)objfiles.lst @$(ObjDir)libfiles.lst $(LogCmd)
  453. !endif
  454.     $(LINK) $(LFLAGS) $(linkflags) @$(ObjDir)objfiles.lst @$(ObjDir)libfiles.lst $(LogCmd)
  455. # Helpfiles
  456. .hpj{$(ObjDir)}.hlp:
  457.     $(MkDest)
  458. !if "$(LOG)"=="YES"
  459.     @echo  $(HC) $(HFLAGS) $(@B).Hpj
  460. !endif
  461.     $(HC) $(HFLAGS) $(@B).Hpj
  462. !if "$(LOG)"=="YES"
  463.     @echo   xcopy $(@F) $(ObjDir)
  464. !endif
  465.     -xcopy $(@F) $(ObjDir) $(LogCmd)
  466. # ISAPI DLLs to Web Roots
  467. {$(ObjDir)}.Dll{$(WWWSCRIPTS)SDK}.Dll:
  468.  $(MkWWWDest)
  469.  !copy $? $(WWWSCRIPTS)SDK
  470. # Test EXEs to Web Roots
  471. {$(ObjDir)}.Exe{$(WWWSCRIPTS)SDK}.Exe:
  472.  $(MkWWWDest)
  473.  !copy $? $(WWWSCRIPTS)SDK
  474. # HTML files to webroots
  475. .Htm{$(WWWROOT)SDK$(Proj)}.Htm:
  476.  $(MkWWWDest)
  477.  !copy $? $(WWWROOT)SDK$(Proj)
  478. # GIF files to webroots
  479. .Gif{$(WWWROOT)SDK$(Proj)}.Gif:
  480.  $(MkWWWDest)
  481.  !copy $? $(WWWROOT)SDK$(Proj)
  482. # JPEG files to webroots
  483. .Jpg{$(WWWROOT)SDK$(Proj)}.Jpg:
  484.  $(MkWWWDest)
  485.  !copy $? $(WWWROOT)SDK$(Proj)
  486. # ISAPI sources to web roots
  487. .Cpp{$(WWWROOT)SDK$(Proj)}.Cpp:
  488.  $(MkWWWDest)
  489.  !copy $? $(WWWROOT)SDK$(Proj)
  490. # ISAPI sources to web roots
  491. .C{$(WWWROOT)SDK$(Proj)}.C:
  492.  $(MkWWWDest)
  493.  !copy $? $(WWWROOT)SDK$(Proj)
  494. # ISAPI sources to web roots
  495. .h{$(WWWROOT)SDK$(Proj)}.h:
  496.  $(MkWWWDest)
  497.  !copy $? $(WWWROOT)SDK$(Proj)
  498. # ISAPI sources to web roots
  499. .Def{$(WWWROOT)SDK$(Proj)}.Def:
  500.  $(MkWWWDest)
  501.  !copy $? $(WWWROOT)SDK$(Proj)
  502. # ISAPI sources to web roots
  503. .Mak{$(WWWROOT)SDK$(Proj)}.Mak:
  504.  $(MkWWWDest)
  505.  !copy $? $(WWWROOT)SDK$(Proj)
  506. #*********************************************
  507. #
  508. # Make Targets
  509. #
  510. #*********************************************
  511. #---------------------------------------------
  512. # List Output Files
  513. #---------------------------------------------
  514. ListDir:
  515.     dir $(ObjDir)
  516. #---------------------------------------------
  517. # Display Output Listing File
  518. #---------------------------------------------
  519. !ifndef ERRVIEW
  520. ERRVIEW=start notepad.exe
  521. !endif
  522. ListOut:
  523.     $(ERRVIEW) $(ObjDir)$(Proj).out
  524. #---------------------------------------------
  525. # Delete Output Listing File
  526. #---------------------------------------------
  527. DelOut:
  528.     del $(ObjDir)$(Proj).out
  529. #---------------------------------------------
  530. # Clean Output Directories
  531. #---------------------------------------------
  532. clean:
  533.  $(MkDest)
  534. !if "$(OS)" == "Windows_NT"
  535.  del /q $(ObjDir)*.obj 
  536.         $(ObjDir)*.out 
  537.         $(ObjDir)*.h   
  538.         $(ObjDir)*.dbg 
  539.         $(ObjDir)*.ocx 
  540.         $(ObjDir)*.log 
  541.         $(ObjDir)*.lib 
  542.         $(ObjDir)*.exe 
  543.         $(ObjDir)*.dll 
  544.         $(ObjDir)*.map 
  545.         $(ObjDir)*.res 
  546.         $(ObjDir)*.rc  
  547.         $(ObjDir)*.bin 
  548.         $(ObjDir)*.lst 
  549.         $(ObjDir)*.blt 
  550.         $(ObjDir)*.hlp 
  551.         $(ObjDir)*.srl 
  552.         $(ObjDir)*.exp >NUL 2>NUL
  553. !else  # Win95 doesn't support "2>" on command line, multiple files on a Del command, or /q
  554.  erase  $(ObjDir)*.obj >NUL
  555.  erase  $(ObjDir)*.out >NUL
  556.  erase  $(ObjDir)*.h   >NUL
  557.  erase  $(ObjDir)*.dbg >NUL
  558.  erase  $(ObjDir)*.ocx >NUL
  559.  erase  $(ObjDir)*.log >NUL
  560.  erase  $(ObjDir)*.lib >NUL
  561.  erase  $(ObjDir)*.exe >NUL
  562.  erase  $(ObjDir)*.dll >NUL
  563.  erase  $(ObjDir)*.map >NUL
  564.  erase  $(ObjDir)*.res >NUL
  565.  erase  $(ObjDir)*.rc  >NUL
  566.  erase  $(ObjDir)*.bin >NUL
  567.  erase  $(ObjDir)*.lst >NUL
  568.  erase  $(ObjDir)*.blt >NUL
  569.  erase  $(ObjDir)*.hlp >NUL
  570.  erase  $(ObjDir)*.srl >NUL
  571.  erase  $(ObjDir)*.exp >NUL
  572. !endif  # OS == Windows_NT
  573. !endif      # _INETSDK_MAK_