home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / bkoffice.mak < prev    next >
Text File  |  1998-04-25  |  18KB  |  646 lines

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