home *** CD-ROM | disk | FTP | other *** search
/ The Net: Ultimate Internet Guide / WWLCD1.ISO / mac / SiteBldr / AMOVIE / SDK / _SETUP / COMMON.Z / activex.mak < prev    next >
Encoding:
Text File  |  1996-05-16  |  34.4 KB  |  1,394 lines

  1. #############################################################################
  2. #                                                                           #
  3. # ActiveX SDK Master Makefile - ACTIVEX.MAK                                 #
  4. #                                                                           #
  5. # Win32 application master NMAKE definitions file for the Microsoft         #
  6. # AciveX 1.0 SDK for Windows programming samples.                           #
  7. #                                                                           #
  8. # THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY     #
  9. # KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE       #
  10. # IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR     #
  11. # PURPOSE.                                                                  #
  12. #                                                                           #
  13. # Copyright (c) 1992 - 1996  Microsoft Corporation.  All Rights Reserved.   #
  14. #                                                                           #
  15. # ------------------------------------------------------------------------- #
  16. # This files should be included after all public macro definitions          #
  17. # and before any private targets (so that the default "all" and "clean"     #
  18. # targets are not accidentally overridden. )                                #
  19. #                                                                           #
  20. # e.g.                                                                      #
  21. #                                                                           #
  22. # TARGET_NAME = filter                                                      #
  23. # TARGET_TYPE = DYNLINK                                                     #
  24. #                                                                           #
  25. # SRC_FILES   = file1.cpp \                                                 #
  26. #               file2.cpp \                                                 #
  27. #               file3.c                                                     #
  28. #                                                                           #
  29. # RC_FILE     = filter.rc                                                   #
  30. #                                                                           #
  31. # DEF_FILE    = filter.def                                                  #
  32. #                                                                           #
  33. # END_TASK    = assorted_stuff                                              #
  34. #                                                                           #
  35. # !include "$(AXSDK)\tools\activex.mak"                                     #
  36. #                                                                           #
  37. # assorted_stuff:                                                           #
  38. #   do_this                                                                 #
  39. #   do_that                                                                 #
  40. #   do_the_other                                                            #
  41. #                                                                           #
  42. # ------------------------------------------------------------------------- #
  43. # NMAKE Options (passed by macro)                                           #
  44. #                                                                           #
  45. # Use the table below to determine the additional options for NMAKE to      #
  46. # generate various application debugging, profiling and performance tuning  #
  47. # information.                                                              #
  48. #                                                                           #
  49. # Application Information Type         Invoke NMAKE                         #
  50. # ----------------------------         ------------                         #
  51. # For No Debugging Info                nmake nodebug=1                      #
  52. # For performance tuning               nmake nodebug=1 perf=1               #
  53. #                                                                           #
  54. # Note: creating the environment variables NODEBUG and PERF is an           #
  55. #       alternative method to setting these options via the nmake           #
  56. #       command line.                                                       #
  57. #                                                                           #
  58. # Additional NMAKE Options             Invoke NMAKE                         #
  59. # ----------------------------         ------------                         #
  60. # For No ANSI NULL Compliance          nmake no_ansi=1                      #
  61. # (ANSI NULL is defined as PVOID 0)                                         #
  62. #                                                                           #
  63. # ------------------------------------------------------------------------- #
  64. # NMAKE Targets (common)                                                    #
  65. #                                                                           #
  66. # all           Create executables (default).                               #
  67. # clean         Delete object files, etc.                                   #
  68. #                                                                           #
  69. # Note: use "nmake clean all" to force a clean rebuild.                     #
  70. #                                                                           #
  71. #############################################################################
  72.  
  73. # temp hack
  74.  
  75. NO_PDB_FILES = 1
  76.  
  77. # START OF MAKEFILE
  78. !IFNDEF _ACTIVEX_MAK_
  79. _ACTIVEX_MAK_ = 1
  80.  
  81. #----------------------------------------------------------------------------
  82. # recover environment
  83.  
  84. !ifndef MAKE_ENV
  85. MAKE_ENV = $(MAKEDIR)\~qmakenv.tmp
  86. !endif
  87.  
  88. !ifndef MAKE_PASS
  89. MAKE_PASS = pass1
  90. !else
  91. !if exist( "$(MAKE_ENV)" )
  92. !include "$(MAKE_ENV)"
  93. !endif
  94. !endif
  95.  
  96. #----------------------------------------------------------------------------
  97. # Logging
  98.  
  99. !ifndef MAKE_LOG
  100. MAKE_LOG = $(MAKEDIR)\make.log
  101. !endif
  102.  
  103. !ifndef MAKE_ECHO
  104. !if "$(OS)" == "Windows_NT"
  105. MAKE_ECHO = $(MAKEDIR)\~qmakech.tmp 2>>&1
  106. !else
  107. MAKE_ECHO = $(MAKEDIR)\~qmakech.tmp
  108. !endif
  109. !endif
  110.  
  111. !ifndef ECHO_ECHO
  112. ECHO_ECHO = type $(MAKEDIR)\~qmakech.tmp
  113. !endif
  114.  
  115. !ifndef TYPE_ECHO
  116. !if "$(MAKE_LOGGING)" == "quiet"
  117. TYPE_ECHO = rem
  118. !else
  119. TYPE_ECHO = $(ECHO_ECHO)
  120. !endif
  121. !endif
  122.  
  123. !ifndef TYPE_ECHO2
  124. !if "$(MAKE_LOGGING)" == "verbose"
  125. TYPE_ECHO2 = $(ECHO_ECHO)
  126. !else
  127. TYPE_ECHO2 = rem
  128. !endif
  129. !endif
  130.  
  131. !ifndef FILE_ECHO
  132. !ifdef NO_MAKE_LOG
  133. FILE_ECHO = rem
  134. !else
  135. FILE_ECHO = $(ECHO_ECHO) >> $(MAKE_LOG)
  136. !endif
  137. !endif
  138.  
  139. !ifndef MAKE_CMD
  140. MAKE_CMD = $(MAKEDIR)\~qmakcmd.bat
  141. !endif
  142.  
  143. #----------------------------------------------------------------------------
  144. # Set up object directory
  145.  
  146. !ifdef RETAIL
  147. !ifndef NODEBUG
  148. NODEBUG = 1
  149. !endif
  150. !endif
  151.  
  152. !ifdef DEBUG
  153. !ifdef NODEBUG
  154. !undef NODEBUG
  155. !endif
  156. !endif
  157.  
  158. !ifdef NODEBUG
  159. DBG_RTL = retail
  160. !else
  161. DBG_RTL = debug
  162. !endif
  163.  
  164. # BINARY/DIRECTORY
  165. !IFNDEF DIR_LIST
  166.  
  167. #============================================================================
  168. #
  169. # BINARY
  170. #
  171. #============================================================================
  172.  
  173. #
  174. # if DIR_LIST is *not*  defined this makefile just
  175. # simply must be being included to build a binary
  176. #
  177.  
  178. #----------------------------------------------------------------------------
  179. # Backward compat section
  180.  
  181. !if "$(DEP_LIBS)" != ""
  182. !message Should now be using CODE_LIBS instead of DEP_LIBS!!
  183. CODE_LIBS = $(CODE_LIBS) $(DEP_LIBS)
  184. !endif
  185.  
  186. #----------------------------------------------------------------------------
  187. # Default handling
  188.  
  189. !ifdef NO_ACTIVEX_DEFAULTS
  190. !ifndef NO_ACTIVEX_LIBS
  191. NO_ACTIVEX_LIBS = 1
  192. !endif
  193. !ifndef NO_ACTIVEX_INCLUDES
  194. NO_ACTIVEX_INCLUDES = 1
  195. !endif
  196. !endif
  197.  
  198. #----------------------------------------------------------------------------
  199. # set CPU Type
  200.  
  201. !IF "$(CPU)" != "i386"
  202. !IF "$(CPU)" != "MIPS"
  203. !IF "$(CPU)" != "ALPHA"
  204. !IF "$(CPU)" != "PPC"
  205. !MESSAGE Missing or invalid 'CPU' environment variable
  206. !MESSAGE (valid options are CPU=i386, MIPS, ALPHA or PPC )
  207. !MESSAGE
  208. !MESSAGE WARNING: Defaulting to CPU=i386!
  209. !MESSAGE
  210. CPU = i386
  211. !ENDIF
  212. !ENDIF
  213. !ENDIF
  214. !ENDIF
  215.  
  216. #----------------------------------------------------------------------------
  217. # set Target Operating System - Default to both
  218.  
  219. !IF "$(TARGET_OS)" != "WINNT"
  220. !IF "$(TARGET_OS)" != "WIN95"
  221. !IF "$(TARGET_OS)" != "BOTH"
  222. #!MESSAGE Must specify TARGET_OS environment variable (BOTH, WIN95, WINNT)
  223. TARGET_OS = BOTH
  224. !ENDIF
  225. !ENDIF
  226. !ENDIF
  227.  
  228. #----------------------------------------------------------------------------
  229. # Set Default WINVER - depends on TARGET_OS
  230. # Defaults to 4.0 for all applications except NT specific.
  231.  
  232. !IFNDEF WIN_VER
  233. !IF "$(TARGET_OS)" == "WINNT"
  234. WIN_VER = 3.50
  235. !ELSE
  236. WIN_VER = 4.0
  237. !ENDIF
  238. !ENDIF
  239.  
  240. !IF "$(WIN_VER)" != "4.0"
  241. !IF "$(WIN_VER)" != "3.50"
  242. !IF "$(WIN_VER)" != "3.51"
  243. !ERROR Must specify WIN_VER environment variable (4.0, 3.50, 3.51)
  244. !ENDIF
  245. !ENDIF
  246. !ENDIF
  247.  
  248. #----------------------------------------------------------------------------
  249. # Check TARGET_TYPE defined
  250.  
  251. !if "$(TARGET_TYPE)" != "DYNLINK"
  252. !if "$(TARGET_TYPE)" != "LIBRARY"
  253. !if "$(TARGET_TYPE)" != "PROGRAM"
  254. !error Must define TARGET_TYPE
  255. !endif
  256. !endif
  257. !endif
  258.  
  259. #----------------------------------------------------------------------------
  260. # Define EXT if not already done
  261.  
  262. !if "$(TARGET_EXT)" == ""
  263. !if "$(TARGET_TYPE)" == "DYNLINK"
  264. TARGET_EXT = dll
  265. !elseif "$(TARGET_TYPE)" == "LIBRARY"
  266. TARGET_EXT = lib
  267. !else
  268. TARGET_EXT = exe
  269. !endif
  270. !endif
  271.  
  272. #----------------------------------------------------------------------------
  273. # Define targets
  274.  
  275. !if "$(TARGET_TYPE)" == "DYNLINK"
  276. TARGET_LIB = $(DBG_RTL)\$(TARGET_NAME).lib
  277. TARGET_BIN = $(DBG_RTL)\$(TARGET_NAME).$(TARGET_EXT)
  278. TARGET_MAP = $(DBG_RTL)\$(TARGET_NAME).map
  279. TARGET_EXP = $(DBG_RTL)\$(TARGET_NAME).exp
  280. !elseif "$(TARGET_TYPE)" == "LIBRARY"
  281. TARGET_LIB = $(DBG_RTL)\$(TARGET_NAME).$(TARGET_EXT)
  282. TARGET_BIN =
  283. TARGET_MAP =
  284. TARGET_EXP =
  285. !else
  286. TARGET_LIB =
  287. TARGET_BIN = $(DBG_RTL)\$(TARGET_NAME).$(TARGET_EXT)
  288. TARGET_MAP = $(DBG_RTL)\$(TARGET_NAME).map
  289. TARGET_EXP =
  290. !endif
  291.  
  292. #----------------------------------------------------------------------------
  293. # Tool aliases
  294.  
  295. cc     = cl
  296. rc     = rc
  297. link   = link
  298. implib = lib
  299. hc     = hcrtf -x
  300.  
  301. #----------------------------------------------------------------------------
  302. # general defs
  303.  
  304. !IFDEF NO_ANSI
  305. noansi = -DNULL=0
  306. !ENDIF
  307.  
  308. #----------------------------------------------------------------------------
  309. # compiler flags
  310.  
  311. ccommon = -c -nologo -Gy -DINC_OLE2 -DSTRICT   \
  312.           -DWIN32 -D_WIN32 $(noansi)
  313.  
  314. # !ifdef USE_MSVCRT_LIB
  315. !ifndef USE_LIBCMT_LIB
  316.  
  317. !ifdef NODEBUG
  318. ccommon = $(ccommon) -MD
  319. !else
  320. !ifdef USE_MSVC20
  321. ccommon = $(ccommon) -MD
  322. !else
  323. ccommon = $(ccommon) -MDd
  324. !endif
  325. !endif
  326.  
  327. !else
  328.  
  329. !ifdef NODEBUG
  330. ccommon = $(ccommon) -MT
  331. !else
  332. !ifdef USE_MSVC20
  333. ccommon = $(ccommon) -MT
  334. !else
  335. ccommon = $(ccommon) -MTd
  336. !endif
  337. !endif
  338.  
  339. !endif
  340.  
  341. !ifndef ACTIVEX_NO_MT
  342. ccommon = $(ccommon) -D_MT
  343. !endif
  344.  
  345. # !ifdef USE_MSVCRT_LIB
  346. !ifndef USE_LIBCMT_LIB
  347. !if "$(TARGET_TYPE)" == "DYNLINK"
  348. ccommon = $(ccommon) -D_DLL
  349. !endif
  350. !endif
  351.  
  352. !IF "$(CPU)" == "i386"
  353. ccommon = $(ccommon) -D_X86_=1
  354. !ELSE
  355. !IF "$(CPU)" == "MIPS"
  356. ccommon = $(ccommon) -D_MIPS_=1
  357. !ELSE
  358. !IF "$(CPU)" == "PPC"
  359. ccommon = $(ccommon) -D_PPC_=1
  360. !ELSE
  361. !IF "$(CPU)" == "ALPHA"
  362. ccommon = $(ccommon) -D_ALPHA_=1
  363. !ENDIF
  364. !ENDIF
  365. !ENDIF
  366. !ENDIF
  367.  
  368. !IF "$(TARGET_OS)" == "WINNT"
  369. ccommon = $(ccommon) -D_WINNT
  370. !ELSE
  371. !IF "$(TARGET_OS)" == "WIN95"
  372. ccommon = $(ccommon) -D_WIN95
  373. !ENDIF
  374. !ENDIF
  375.  
  376. !IF "$(WIN_VER)" == "4.0"
  377. ccommon = $(ccommon) -DWINVER=0x0400
  378. !ELSE
  379. !IF "$(WIN_VER)" == "3.51"
  380. ccommon = $(ccommon) -DWINVER=0x0400
  381. !ELSE
  382. ccommon = $(ccommon) -DWINVER=0x0400
  383. !ENDIF
  384. !ENDIF
  385.  
  386. # debug
  387.  
  388. !ifdef NODEBUG
  389. cdebug = -DDBG=0
  390. !else
  391. !ifdef NODEBUGCODE
  392. cdebug = -DDBG=0
  393. !else
  394. cdebug = -DDBG=1 -DDEBUG -D_DEBUG
  395. !endif
  396. !endif
  397.  
  398. !ifdef PERF
  399. cdebug = $(cdebug) -DPERF
  400. !endif
  401.  
  402. !ifdef C_DEBUG
  403. cdebug = $(cdebug) $(C_DEBUG)
  404. !else
  405. !IFDEF NODEBUG
  406. cdebug = $(cdebug) -Zd
  407. !ELSE
  408. !ifdef NO_PDB_FILES
  409. cdebug = $(cdebug) -Z7
  410. !else
  411. cdebug = $(cdebug) -Zi
  412. !endif
  413. !ENDIF
  414. !endif
  415.  
  416. !ifndef NO_PDB_FILES
  417. cdebug = $(cdebug) -Fd$(DBG_RTL)\$(TARGET_NAME).pdb
  418. !endif
  419.  
  420. # optimization
  421.  
  422. !ifdef C_OPTIMIZATION
  423. cdebug = $(cdebug) $(C_OPTIMIZATION)
  424. !else
  425. !IFDEF NODEBUG
  426. !IFDEF PERF
  427. cdebug = $(cdebug) -Ois
  428. !ELSE
  429. cdebug = $(cdebug) -Oxs
  430. !ENDIF
  431. !ELSE
  432. cdebug = $(cdebug) -Oid
  433. !ENDIF
  434. !endif
  435.  
  436. # calling convention (Intel only)
  437. # - default to stdcall
  438.  
  439. !IF "$(CPU)" == "i386"
  440. !if "$(C_CALL)" == "cdecl"
  441. ccall = -Gd
  442. !else
  443. ccall = -Gz
  444. !endif
  445. !ELSE
  446. ccall =
  447. !ENDIF
  448.  
  449. # warning level
  450. # - defaults to level 3
  451.  
  452. !ifndef C_WARNING
  453. cwarn = -W3
  454. !else
  455. cwarn = $(C_WARNING)
  456. !endif
  457.  
  458. # exception handling
  459. # - default to standard WIN32
  460. # - can override to use C++ exceptions
  461.  
  462. !ifdef CPP_EXCEPTION_HANDLING
  463. cexcept = -GX -D_INC_EXCPT
  464. !else
  465. cexcept = -Dtry=__try -Dexcept=__except -Dleave=__leave -Dfinally=__finally
  466. !endif
  467.  
  468. # combine flags
  469.  
  470. cflags   = $(ccommon) $(cdebug) $(ccall) $(cexcept) $(cwarn) $(C_DEFINES)
  471.  
  472. #----------------------------------------------------------------------------
  473. # resource compiler flags
  474.  
  475. rccommon = -l 409 /r -DWIN32 -D_WIN32 $(noansi)
  476.  
  477. !IF "$(WIN_VER)" == "4.0"
  478. rccommon = $(rccommon) -DWINVER=0x0400
  479. !else
  480. rccommon = $(rccommon) -DWINVER=0x0400
  481. !ENDIF
  482.  
  483. !ifdef NODEBUG
  484. rcdebug = -DDBG=0
  485. !else
  486. rcdebug = -DDBG=1 -DDEBUG -D_DEBUG
  487. !endif
  488.  
  489. rcflags = $(rccommon) $(rcdebug) $(RC_DEFINES)
  490.  
  491. #----------------------------------------------------------------------------
  492. # library flags
  493.  
  494. # common stuff
  495.  
  496. libcommon = /NODEFAULTLIB /machine:$(CPU)
  497.  
  498. # debug type = coff|cv|both
  499.  
  500. !ifdef NODEBUG
  501. libdebug = -debugtype:coff
  502. !else
  503. libdebug = -debugtype:cv
  504. !endif
  505.  
  506. # subsystem, def file, etc. switched
  507. # in according to TARGET_TYPE and EXE_TYPE
  508.  
  509. !if "$(TARGET_TYPE)" == "DYNLINK"
  510. liblink = /subsystem:windows,$(WIN_VER)
  511. !if "$(DEF_FILE)" != ""
  512. liblink = $(liblink) /def:$(DEF_FILE)
  513. !endif
  514. !else
  515. !if "$(TARGET_TYPE)" == "PROGRAM"
  516. !if "$(EXE_TYPE)" == "console"
  517. liblink = /subsystem:console,$(WIN_VER)
  518. !else
  519. !if "$(EXE_TYPE)" == "windows"
  520. liblink = /subsystem:windows,$(WIN_VER)
  521. !else
  522. !error EXE_TYPE=console|windows must be defined for PROGRAM
  523. !endif
  524. !endif
  525. !else
  526. liblink = /subsystem:windows,$(WIN_VER)
  527. !endif
  528. !endif
  529.  
  530. libflags = $(libcommon) $(liblink) $(libdebug)
  531.  
  532. #----------------------------------------------------------------------------
  533. # linker flags
  534.  
  535. lcommon = /NODEFAULTLIB /INCREMENTAL:NO /NOLOGO /MACHINE:$(CPU)
  536.  
  537. !ifdef NO_PDB_FILES
  538. lcommon = $(lcommon) /PDB:NONE
  539. !else
  540. lcommon = $(lcommon) /PDB:$(DBG_RTL)\$(TARGET_NAME).pdb
  541. !endif
  542.  
  543. # declarations for use on Intel i386, i486, and Pentium systems
  544. !IF "$(CPU)" == "i386"
  545. DLLENTRY = @12
  546. lcommon  = $(lcommon) /align:0x1000
  547. !ENDIF
  548.  
  549. # declarations for use on self hosted MIPS R4x000 systems
  550. !IF "$(CPU)" == "MIPS"
  551. DLLENTRY =
  552. lcommon   = $(lcommon)
  553. !ENDIF
  554.  
  555. # declarations for use on self hosted PowerPC systems
  556. !IF "$(CPU)" == "PPC"
  557. DLLENTRY =
  558. lcommon   = $(lcommon)
  559. !ENDIF
  560.  
  561. # declarations for use on self hosted Digital Alpha AXP systems
  562. !IF "$(CPU)" == "ALPHA"
  563. DLLENTRY =
  564. lcommon   = $(lcommon)
  565. !ENDIF
  566.  
  567. # NODEBUG means a retail build
  568. # PERF is a special case of retail:
  569. #  == retail plus performance stuff
  570.  
  571. !ifndef DEBUG_TYPE
  572. DEBUG_TYPE = both
  573. !endif
  574.  
  575. !IFDEF NODEBUG
  576. !IFDEF PERF
  577. ldebug = /RELEASE /debug:mapped,minimal /debugtype:$(DEBUG_TYPE)
  578. !ELSE
  579. ldebug = /RELEASE /debug:mapped,minimal /debugtype:$(DEBUG_TYPE)
  580. !ENDIF
  581. !ELSE
  582. ldebug = /debug:mapped,full /debugtype:$(DEBUG_TYPE)
  583. !ENDIF
  584.  
  585. !if "$(TARGET_TYPE)" == "DYNLINK"
  586. !ifndef DLL_BASE
  587. DLL_BASE = 0x1c400000
  588. !endif
  589. llink = /dll /base:$(DLL_BASE) /subsystem:windows,$(WIN_VER)
  590. !if "$(DEF_FILE)" != ""
  591. llink = $(llink)
  592. TARGET_EXP = $(DBG_RTL)\$(TARGET_NAME).exp
  593. !endif
  594. !if "$(DLL_ENTRY)" != ""
  595. !if "$(DLL_ENTRY)" != "none"
  596. llink = $(llink) /entry:$(DLL_ENTRY)$(DLLENTRY)
  597. !endif
  598. !else
  599. llink = $(llink) /entry:DllEntryPoint$(DLLENTRY)
  600. !endif
  601. !else
  602. !if "$(TARGET_TYPE)" == "PROGRAM"
  603. !if "$(EXE_TYPE)" == "console"
  604. llink = /subsystem:console,$(WIN_VER) /entry:mainCRTStartup
  605. !else
  606. !if "$(EXE_TYPE)" == "windows"
  607. llink = /subsystem:windows,$(WIN_VER) /entry:WinMainCRTStartup
  608. !endif
  609. !endif
  610. !endif
  611. !endif
  612.  
  613. lflags   = $(lcommon) $(ldebug) $(llink)
  614.  
  615. #----------------------------------------------------------------------------
  616. # unicode flags
  617.  
  618. !ifdef UNICODE
  619. cflags  = $(cflags)  -DUNICODE
  620. rcflags = $(rcflags) -DUNICODE
  621. !endif
  622.  
  623. #----------------------------------------------------------------------------
  624. # Next work out what obj files need to be built from
  625. # the list of source files
  626.  
  627. !if "$(SRC_FILES)" != ""
  628. OBJ_FILES = $(SRC_FILES)
  629. OBJ_FILES = $(OBJ_FILES:.cpp =.cpp*)
  630. OBJ_FILES = $(OBJ_FILES:.c =.c*)
  631. OBJ_FILES = $(OBJ_FILES: =)
  632. !if "$(DBG_RTL)" == "retail"
  633. OBJ_FILES = retail\$(OBJ_FILES:*= retail\)
  634. !else
  635. OBJ_FILES = debug\$(OBJ_FILES:*= debug\)
  636. !endif
  637. OBJ_FILES = $(OBJ_FILES:.cpp=.obj)
  638. OBJ_FILES = $(OBJ_FILES:.c=.obj)
  639. !endif
  640.  
  641. # Similary for res file wrt rc file
  642.  
  643. !if "$(RC_FILE)" != ""
  644. !if "$(DBG_RTL)" == "retail"
  645. RES_FILE = retail\$(RC_FILE:.rc=.res)
  646. !else
  647. RES_FILE = debug\$(RC_FILE:.rc=.res)
  648. !endif
  649. !endif
  650.  
  651. #----------------------------------------------------------------------------
  652. # Map and Sym files
  653.  
  654. !if "$(TARGET_MAP)" !=""
  655.  
  656. !ifdef SYM_FILES
  657. END_TASK = $(END_TASK) $(TARGET_MAP:.map=.sym)
  658. lmap     = -map
  659. !endif
  660.  
  661. !ifdef MAP_FILES
  662. lmap     = -map
  663. !endif
  664.  
  665. LINKER_FLAGS = $(LINKER_FLAGS) $(lmap)
  666.  
  667. !endif
  668.  
  669. #----------------------------------------------------------------------------
  670. # Define common libraries
  671.  
  672. # base (not version!)
  673. _CORE_LIBS = kernel32.lib    \
  674.              advapi32.lib    \
  675.              version.lib     \
  676.              largeint.lib
  677. # win libs
  678. _USER_LIBS = user32.lib      \
  679.              gdi32.lib       \
  680.              comctl32.lib
  681.  
  682. _OLE__LIBS = ole32.lib       \
  683.              oleaut32.lib    \
  684.              uuid.lib
  685.  
  686. # !ifdef USE_MSVCRT_LIB
  687. !ifndef USE_LIBCMT_LIB
  688.  
  689. !ifdef NODEBUG
  690. _CRT__LIBS = msvcrt.lib
  691. !else
  692. !ifdef USE_MSVC20
  693. _CRT__LIBS = msvcrt.lib
  694. !else
  695. _CRT__LIBS = msvcrtd.lib
  696. !endif
  697. !endif
  698.  
  699. !else
  700.  
  701. !ifdef NODEBUG
  702. _CRT__LIBS = libcmt.lib
  703. !else
  704. !ifdef USE_MSVC20
  705. _CRT__LIBS = libcmt.lib
  706. !else
  707. _CRT__LIBS = libcmtd.lib
  708. !endif
  709. !endif
  710.  
  711. !endif
  712.  
  713. _MM___LIBS = vfw32.lib       \
  714.              winmm.lib
  715.  
  716. !ifdef NODEBUG
  717. _AX1__LIBS = $(AXSDK)\lib\strmbase.lib
  718. !else
  719. _AX1__LIBS = $(AXSDK)\lib\strmbasd.lib
  720. !endif
  721.  
  722. _AX2__LIBS = $(AXSDK)\lib\quartz.lib   \
  723.              $(AXSDK)\lib\measure.lib
  724.  
  725.  
  726. BASE_LIBS = $(_CRT__LIBS) \
  727.             $(_MM___LIBS) \
  728.             $(_CORE_LIBS) \
  729.             $(_USER_LIBS) \
  730.             $(_OLE__LIBS)
  731.  
  732. !ifndef NO_ACTIVEX_LIBS
  733. CODE_LIBS = $(_AX1__LIBS) $(CODE_LIBS)
  734. LINK_LIBS = $(_AX2__LIBS) $(LINK_LIBS) $(_AX1_LIBS)
  735. !endif
  736.  
  737. LINK_LIBS = $(LINK_LIBS) $(BASE_LIBS)
  738.  
  739.  
  740. #----------------------------------------------------------------------------
  741. # include path
  742.  
  743. !ifndef NO_ACTIVEX_INCLUDES
  744. INC_PATH = .;                     \
  745.            $(AXSDK)\include;      \
  746.            $(AXSDK)\classes\base; \
  747.            $(INC_PATH)
  748. !endif
  749.  
  750. !if "$(INC_PATH)" != ""
  751. INC_FLAGS = $(INC_PATH: =)***
  752. INC_FLAGS = $(INC_FLAGS:;***=)
  753. INC_FLAGS = $(INC_FLAGS:***=)
  754. INC_FLAGS = -I$(INC_FLAGS:;= -I)
  755. !endif
  756.  
  757. #----------------------------------------------------------------------------
  758. # PCH stuff
  759.  
  760.  
  761. !ifndef DISABLE_PCH
  762. !ifdef NODEBUG
  763. STREAMS_PCH = $(AXSDK)\lib\streams.pch
  764. !else
  765. STREAMS_PCH = $(AXSDK)\lib\streamsd.pch
  766. !endif
  767. !if exist("$(STREAMS_PCH)") || "$(MAKE_PCH)" == "TRUE"
  768. cpppch = -Yu"streams.h" -Fp"$(STREAMS_PCH)"
  769. !ifndef MAKE_PCH
  770. START_TASK = $(START_TASK) $(DBG_RTL)\_streams.obj
  771. END_TASK   = $(END_TASK) del_own_streams_obj
  772. LINK_LIBS  = $(LINK_LIBS) $(DBG_RTL)\_streams.obj
  773. !endif
  774. !else
  775. DISABLE_PCH = 1
  776. !endif
  777. !endif
  778.  
  779. #----------------------------------------------------------------------------
  780. # BROWSER STUFF
  781.  
  782. !if "$(BROWSER)" == "TRUE"
  783. cbrowser   = -FR$(@R).sbr
  784. TARGET_BSC = $(DBG_RTL)\$(TARGET_NAME).bsc
  785. !else
  786. cbrowser   =
  787. TARGET_BSC =
  788. !endif
  789.  
  790. #----------------------------------------------------------------------------
  791. # copy target info
  792.  
  793. !ifndef NO_COPY
  794.  
  795. !if "$(TARGET_LIB)" != ""
  796. TARGET_LIB_GOAL = $(AXSDK)\lib\$(DBG_RTL)
  797. !ifndef NODEBUG
  798. GOAL_LIB = $(TARGET_LIB_GOAL)\$(TARGET_LIB:debug\=)
  799. !else
  800. GOAL_LIB = $(TARGET_LIB_GOAL)\$(TARGET_LIB:retail\=)
  801. !endif
  802. !endif
  803.  
  804. !if "$(TARGET_BIN)" != ""
  805. TARGET_BIN_GOAL = $(AXSDK)\bin\$(DBG_RTL)
  806. !ifndef NODEBUG
  807. GOAL_BIN = $(TARGET_BIN_GOAL)\$(TARGET_BIN:debug\=)
  808. !else
  809. GOAL_BIN = $(TARGET_BIN_GOAL)\$(TARGET_BIN:retail\=)
  810. !endif
  811. !endif
  812.  
  813. !endif
  814.  
  815. #----------------------------------------------------------------------------
  816. # Pseudo-targets
  817.  
  818. .SILENT:
  819. .IGNORE:
  820. .SUFFIXES:
  821. .SUFFIXES: .c .cpp
  822. .PRECIOUS: $(TARGET_LIB) $(TARGET_BIN)
  823.  
  824. #----------------------------------------------------------------------------
  825. # Rules
  826.  
  827. CC_COMMAND_LINE  = $(cflags) $(cbrowser) -Fo$(DBG_RTL)\ $(INC_FLAGS) $(@B).c
  828.  
  829. CPP_COMMAND_LINE = $(cflags) $(cbrowser) -Fo$(DBG_RTL)\ $(INC_FLAGS) $(@B).cpp
  830.  
  831. .c{$(DBG_RTL)}.obj:
  832.   echo Compiling $(@B).c...                 > $(MAKE_ECHO)
  833.   if exist $@ del $@ > NUL
  834.   $(TYPE_ECHO)
  835.   $(FILE_ECHO)
  836.   echo $(cc) $(ccpch) $(CC_COMMAND_LINE)    > $(MAKE_ECHO)
  837.   $(TYPE_ECHO2)
  838.   $(FILE_ECHO)
  839.   $(cc) $(ccpch) $(CC_COMMAND_LINE)         > $(MAKE_ECHO)
  840.   $(TYPE_ECHO)
  841.   $(FILE_ECHO)
  842.   echo.                                     > $(MAKE_ECHO)
  843.   $(TYPE_ECHO2)
  844.   $(FILE_ECHO)
  845.  
  846. .c.cod:
  847.   echo Compiling $(@B).c - with cod file... > $(MAKE_ECHO)
  848.   if exist $@ del $@ > NUL
  849.   $(TYPE_ECHO)
  850.   $(FILE_ECHO)
  851.   echo $(cc) -Fc $(CC_COMMAND_LINE)         > $(MAKE_ECHO)
  852.   $(TYPE_ECHO2)
  853.   $(FILE_ECHO)
  854.   $(cc) -Fc $(CC_COMMAND_LINE)              > $(MAKE_ECHO)
  855.   $(TYPE_ECHO)
  856.   $(FILE_ECHO)
  857.   echo.                                     > $(MAKE_ECHO)
  858.   $(TYPE_ECHO2)
  859.   $(FILE_ECHO)
  860.  
  861. .cpp{$(DBG_RTL)}.obj:
  862.   echo Compiling $(@B).cpp...               > $(MAKE_ECHO)
  863.   if exist $@ del $@ > NUL
  864.   $(TYPE_ECHO)
  865.   $(FILE_ECHO)
  866.   echo $(cc) $(cpppch) $(CPP_COMMAND_LINE)  > $(MAKE_ECHO)
  867.   $(TYPE_ECHO2)
  868.   $(FILE_ECHO)
  869.   $(cc) $(cpppch) $(CPP_COMMAND_LINE)       > $(MAKE_ECHO)
  870.   $(TYPE_ECHO)
  871.   $(FILE_ECHO)
  872.   echo.                                     > $(MAKE_ECHO)
  873.   $(TYPE_ECHO2)
  874.   $(FILE_ECHO)
  875.  
  876. .cpp.cod:
  877.   echo Compiling $(@B).cpp - with cod file... > $(MAKE_ECHO)
  878.   if exist $@ del $@ > NUL
  879.   $(TYPE_ECHO)
  880.   $(FILE_ECHO)
  881.   echo $(cc) -Fc $(CPP_COMMAND_LINE)          > $(MAKE_ECHO)
  882.   $(TYPE_ECHO2)
  883.   $(FILE_ECHO)
  884.   $(cc) -Fc $(CPP_COMMAND_LINE)               > $(MAKE_ECHO)
  885.   $(TYPE_ECHO)
  886.   $(FILE_ECHO)
  887.   echo.                                       > $(MAKE_ECHO)
  888.   $(TYPE_ECHO2)
  889.   $(FILE_ECHO)
  890.  
  891. #----------------------------------------------------------------------------
  892. # TARGETS - key
  893.  
  894. #
  895. # default
  896. #
  897.  
  898. all  : log_start     \
  899.        dump_params   \
  900.        pass1         \
  901.        log_done      \
  902.        clear_params  \
  903.        del_echo
  904.  
  905. #
  906. # clean
  907. #
  908.  
  909. clean: dump_params0  \
  910.        pass0         \
  911.        clear_params0 \
  912.        del_echo0     \
  913.        log_reset
  914.  
  915. #----------------------------------------------------------------------------
  916. # TARGETS - passes
  917.  
  918. pass0: log_pass0     \
  919.        $(CLEAN_TASK) \
  920.        delete
  921.  
  922. pass1: log_pass      \
  923.        make_dir      \
  924.        $(START_TASK) \
  925.        $(TARGET_LIB) \
  926.        $(TARGET_BIN) \
  927.        $(TARGET_BSC) \
  928.        $(END_TASK)   \
  929.        $(GOAL_LIB)   \
  930.        $(GOAL_BIN)
  931.  
  932. #----------------------------------------------------------------------------
  933. # TARGETS - logging
  934.  
  935. log_reset:
  936.   if exist $(MAKE_LOG) del $(MAKE_LOG)
  937.  
  938. log_start:
  939.   if exist $(MAKE_LOG) del $(MAKE_LOG)
  940.   echo Making $(MAKEDIR)          > $(MAKE_ECHO)
  941.   $(TYPE_ECHO)
  942.   $(FILE_ECHO)
  943.   echo TARGET_LIB = $(TARGET_LIB) > $(MAKE_ECHO)
  944.   $(TYPE_ECHO2)
  945.   $(FILE_ECHO)
  946.   echo TARGET_BIN = $(TARGET_BIN) > $(MAKE_ECHO)
  947.   $(TYPE_ECHO2)
  948.   $(FILE_ECHO)
  949.   echo. > $(MAKE_ECHO)
  950.   $(TYPE_ECHO2)
  951.   $(FILE_ECHO)
  952.  
  953. log_done:
  954.   echo Done! > $(MAKE_ECHO)
  955.   $(TYPE_ECHO)
  956.   $(FILE_ECHO)
  957.  
  958. #----------------------------------------------------------------------------
  959. # TARGETS - support
  960.  
  961. make_dir:
  962.   if not exist $(DBG_RTL)\NUL md $(DBG_RTL)
  963.  
  964. delete:
  965.   echo y | del $(DBG_RTL)\*.* > NUL
  966.  
  967. # OPK prob.  if exist $(DBG_RTL)\nul del $(DBG_RTL)\** > NUL
  968.  
  969. del_own_streams_obj:
  970.   if exist $(DBG_RTL)\_streams.obj del $(DBG_RTL)\_streams.obj
  971.  
  972. #----------------------------------------------------------------------------
  973. # TARGETS - copying
  974.  
  975. !ifndef NO_COPY
  976.  
  977. !if "$(TARGET_LIB)" != ""
  978. $(GOAL_LIB) : $(TARGET_LIB)
  979.   echo Copy $(TARGET_LIB) to $@... > $(MAKE_ECHO)
  980.   $(TYPE_ECHO)
  981.   $(FILE_ECHO)
  982.   if not exist $(TARGET_LIB_GOAL)\NUL md $(TARGET_LIB_GOAL)
  983.   copy $(TARGET_LIB) $(TARGET_LIB_GOAL) > $(MAKE_ECHO)
  984.   $(TYPE_ECHO2)
  985.   $(FILE_ECHO)
  986.   echo. > $(MAKE_ECHO)
  987.   $(TYPE_ECHO2)
  988.   $(FILE_ECHO)
  989. !endif
  990.  
  991. !if "$(TARGET_BIN)" != ""
  992. $(GOAL_BIN) : $(TARGET_BIN)
  993.   echo Copy $(TARGET_BIN) to $@... > $(MAKE_ECHO)
  994.   $(TYPE_ECHO)
  995.   $(FILE_ECHO)
  996.   if not exist $(TARGET_BIN_GOAL)\NUL md $(TARGET_BIN_GOAL)
  997.   copy $(TARGET_BIN) $(TARGET_BIN_GOAL) > $(MAKE_ECHO)
  998. !ifdef MAP_FILES
  999.   if exist $(TARGET_MAP) copy $(TARGET_MAP) $(TARGET_BIN_GOAL) > NUL
  1000. !endif
  1001. !ifdef SYM_FILES
  1002.   if exist $(TARGET_MAP:.map=.sym) copy $(TARGET_MAP:.map=.sym) $(TARGET_BIN_GOAL) > NUL
  1003. !endif
  1004.   $(TYPE_ECHO2)
  1005.   $(FILE_ECHO)
  1006.   echo. > $(MAKE_ECHO)
  1007.   $(TYPE_ECHO2)
  1008.   $(FILE_ECHO)
  1009. !endif
  1010.  
  1011. !endif
  1012.  
  1013. #----------------------------------------------------------------------------
  1014. # TARGETS - target type specific
  1015.  
  1016. #
  1017. # build library
  1018. #
  1019.  
  1020. !if "$(TARGET_LIB)" != ""
  1021.  
  1022. LIB_COMMAND_LINE = $(libflags)         \
  1023.                    $(LIB_FLAGS)        \
  1024.                   /out:$(TARGET_LIB)   \
  1025.                   $(CODE_LIBS)         \
  1026.                   $(OBJ_FILES)         \
  1027.                   $(PCH_OBJ)           \
  1028.                   $(RES_FILE)
  1029.  
  1030. $(TARGET_LIB): $(OBJ_FILES) $(RES_FILE) $(DEF_FILE) $(CODE_LIBS)
  1031.   echo Build library $@... > $(MAKE_ECHO)
  1032.   $(TYPE_ECHO)
  1033.   $(FILE_ECHO)
  1034.   echo $(implib) $(LIB_COMMAND_LINE) > $(MAKE_ECHO)
  1035.   $(TYPE_ECHO2)
  1036.   $(FILE_ECHO)
  1037.   $(implib) $(LIB_COMMAND_LINE)      > $(MAKE_ECHO)
  1038.   $(TYPE_ECHO)
  1039.   $(FILE_ECHO)
  1040.   echo.                              > $(MAKE_ECHO)
  1041.   $(TYPE_ECHO2)
  1042.   $(FILE_ECHO)
  1043. !endif
  1044.  
  1045. #
  1046. # link bin
  1047. #
  1048.  
  1049. !if "$(TARGET_BIN)" != ""
  1050.  
  1051. LINK_COMMAND_LINE =   \
  1052.    $(lflags)          \
  1053.    $(LINKER_FLAGS)    \
  1054.    /out:$(TARGET_BIN) \
  1055.    $(TARGET_EXP)      \
  1056.    $(OBJ_FILES)       \
  1057.    $(PCH_OBJ)         \
  1058.    $(RES_FILE)        \
  1059.    $(CODE_LIBS)       \
  1060.    $(LINK_LIBS)
  1061.  
  1062. # kill extra whitespace
  1063. LINK_COMMAND_LINE = $(LINK_COMMAND_LINE:        = )
  1064. LINK_COMMAND_LINE = $(LINK_COMMAND_LINE:    = )
  1065. LINK_COMMAND_LINE = $(LINK_COMMAND_LINE:  = )
  1066. LINK_COMMAND_LINE = $(LINK_COMMAND_LINE:  = )
  1067.  
  1068. $(TARGET_BIN): $(OBJ_FILES) $(RES_FILE) $(DEF_FILE) $(CODE_LIBS) $(TARGET_EXP)
  1069.   echo Linking $(TARGET_BIN)...     > $(MAKE_ECHO)
  1070.   $(TYPE_ECHO)
  1071.   $(FILE_ECHO)
  1072.   copy << $(MAKEDIR)\~qlnkcmd.tmp > NUL
  1073.   $(LINK_COMMAND_LINE: =^
  1074.   )
  1075. <<NOKEEP
  1076.   echo. $(link)                     > $(MAKE_ECHO)
  1077.   type $(MAKEDIR)\~qlnkcmd.tmp     >> $(MAKE_ECHO)
  1078.   $(TYPE_ECHO2)
  1079.   $(FILE_ECHO)
  1080.   $(link) @$(MAKEDIR)\~qlnkcmd.tmp  > $(MAKE_ECHO)
  1081.   $(TYPE_ECHO)
  1082.   $(FILE_ECHO)
  1083.   del $(MAKEDIR)\~qlnkcmd.tmp
  1084.   echo.                             > $(MAKE_ECHO)
  1085.   $(TYPE_ECHO2)
  1086.   $(FILE_ECHO)
  1087. !endif
  1088.  
  1089. #
  1090. # compile resources
  1091. #
  1092.  
  1093. !if "$(RC_FILE)" != ""
  1094. RC_COMMAND_LINE = $(rcflags)    \
  1095.                  -Fo$(RES_FILE) \
  1096.                  -I.            \
  1097.                  $(INC_FLAGS)   \
  1098.                  $(RC_FILE)
  1099. $(RES_FILE): $(RC_FILE)
  1100.   echo Compiling resources...   > $(MAKE_ECHO)
  1101.   $(TYPE_ECHO)
  1102.   $(FILE_ECHO)
  1103.   echo $(rc) $(RC_COMMAND_LINE) > $(MAKE_ECHO)
  1104.   $(TYPE_ECHO2)
  1105.   $(FILE_ECHO)
  1106.   $(rc) $(RC_COMMAND_LINE)      > $(MAKE_ECHO)
  1107.   $(TYPE_ECHO)
  1108.   $(FILE_ECHO)
  1109.   echo.                         > $(MAKE_ECHO)
  1110.   $(TYPE_ECHO2)
  1111.   $(FILE_ECHO)
  1112. !endif
  1113.  
  1114. #
  1115. # bsc target
  1116. #
  1117.  
  1118. !if "$(TARGET_BSC)" != ""
  1119. !if "$(PREPEND_STRMBASE_BSC)" == "TRUE"
  1120. STRMBASE_BSC = $(AXSDK)\classes\base\$(DBG_RTL)\strmbase.bsc
  1121. $(TARGET_BSC) :: $(STRMBASE_BSC)
  1122.   copy $(STRMBASE_BSC) $(TARGET_BSC)
  1123. !endif
  1124. $(TARGET_BSC) :: $(OBJS)
  1125.   echo Generating Browser database... > $(MAKE_ECHO)
  1126.   $(TYPE_ECHO)
  1127.   $(FILE_ECHO)
  1128.   if exist $(DBG_RTL)\*.sbr bscmake /nologo /o$(TARGET_BSC) $(DBG_RTL)\*.sbr
  1129.   echo. > $(MAKE_ECHO)
  1130.   $(TYPE_ECHO)
  1131.   $(FILE_ECHO)
  1132. !endif
  1133.  
  1134. #
  1135. # pch file
  1136. #
  1137.  
  1138. !ifndef DISABLE_PCH
  1139.  
  1140. !ifdef NODEBUG
  1141. $(OBJ_FILES) : $(AXSDK)\lib\streams.pch
  1142. !else
  1143. $(OBJ_FILES) : $(AXSDK)\lib\streamsd.pch
  1144. !endif
  1145.  
  1146. !ifndef MAKE_PCH
  1147. $(DBG_RTL)\_streams.obj : $(AXSDK)\classes\base\$(DBG_RTL)\_streams.obj
  1148.   copy $(AXSDK)\classes\base\$(DBG_RTL)\_streams.obj $(DBG_RTL)
  1149.  
  1150. !endif
  1151.  
  1152. !endif
  1153.  
  1154. #
  1155. # sym files
  1156. #
  1157.  
  1158. !ifdef SYM_FILES
  1159. !if "$(TARGET_MAP)" !=""
  1160. $(TARGET_MAP:.map=.sym): $(TARGET_MAP)
  1161.   echo Running mapsym...                                  > $(MAKE_ECHO)
  1162.   $(TYPE_ECHO)
  1163.   $(FILE_ECHO)
  1164.   mapsym -nologo -o $(TARGET_MAP:.map=.sym) $(TARGET_MAP) > $(MAKE_ECHO)
  1165.   $(TYPE_ECHO2)
  1166.   $(FILE_ECHO)
  1167. !endif
  1168. !endif
  1169.  
  1170. #----------------------------------------------------------------------------
  1171. # dependencies
  1172.  
  1173. !ifndef NODEPENDS
  1174. !if exist("_depend")
  1175. !include "_depend"
  1176. !endif
  1177. !endif
  1178.  
  1179. !ELSE
  1180.  
  1181. #============================================================================
  1182. #
  1183. # DIRECTORY
  1184. #
  1185. #============================================================================
  1186.  
  1187. #
  1188. # if DIR_LIST *is* defined this makefile is being
  1189. # included to build a directory (tree).
  1190. #
  1191.  
  1192. #----------------------------------------------------------------------------
  1193. # directives
  1194.  
  1195. .IGNORE:
  1196. .SILENT:
  1197.  
  1198. #----------------------------------------------------------------------------
  1199. # defines
  1200.  
  1201.  
  1202. #----------------------------------------------------------------------------
  1203. # TARGETS - key
  1204.  
  1205. #
  1206. # default
  1207. #
  1208.  
  1209. all  : log_start           \
  1210.        dump_params         \
  1211.        set_pass_target     \
  1212.        pass1               \
  1213.        log_done            \
  1214.        delete_qmakcmd_bat  \
  1215.        clear_params        \
  1216.        del_echo
  1217.  
  1218. clean: dump_params0        \
  1219.        set_pass_target0    \
  1220.        pass0               \
  1221.        delete_qmakcmd_bat0 \
  1222.        clear_params0       \
  1223.        del_echo0
  1224.  
  1225. #----------------------------------------------------------------------------
  1226. # TARGETS - passes
  1227.  
  1228. # pass0 - do clean
  1229.  
  1230. pass0: log_pass0      \
  1231.        $(CLEAN_TASK)  \
  1232.        dir_list0      \
  1233.        dir_delete
  1234.  
  1235. pass1: log_pass       \
  1236.        $(START_TASK)  \
  1237.        dir_list1      \
  1238.        $(END_TASK)
  1239.  
  1240. #----------------------------------------------------------------------------
  1241. # TARGETS - directory lists
  1242.  
  1243. # dir_list0 - do clean
  1244.  
  1245. dir_list0: $(DIR_LIST)
  1246.   !$(MAKE_CMD) $** pass0
  1247.  
  1248. # dir_list1 - build all targets
  1249.  
  1250. dir_list1: $(DIR_LIST)
  1251.   !$(MAKE_CMD) $** pass1
  1252.  
  1253. #----------------------------------------------------------------------------
  1254. # TARGETS - support
  1255.  
  1256. set_pass_target:
  1257.   @echo @echo off                                            >  $(MAKE_CMD)
  1258.   @echo cd %1                                                >> $(MAKE_CMD)
  1259.   @echo $(MAKE) /nologo MAKE_ENV=$(MAKE_ENV) MAKE_PASS=%2 %2 >> $(MAKE_CMD)
  1260.   @echo cd $(MAKEDIR)                                        >> $(MAKE_CMD)
  1261.  
  1262. set_pass_target0:
  1263.   @echo @echo off                                            >  $(MAKE_CMD)
  1264.   @echo cd %1                                                >> $(MAKE_CMD)
  1265.   @echo $(MAKE) /nologo MAKE_ENV=$(MAKE_ENV) MAKE_PASS=%2 %2 >> $(MAKE_CMD)
  1266.   @echo cd $(MAKEDIR)                                        >> $(MAKE_CMD)
  1267.  
  1268. #----------------------------------------------------------------------------
  1269. # TARGETS - logging
  1270.  
  1271. log_start:
  1272.   if exist $(MAKE_LOG) del $(MAKE_LOG)
  1273.   echo Making $(MAKEDIR) tree... > $(MAKE_ECHO)
  1274.   $(TYPE_ECHO)
  1275.   $(FILE_ECHO)
  1276.  
  1277. log_done:
  1278.   echo Finished $(MAKEDIR) tree... > $(MAKE_ECHO)
  1279.   $(TYPE_ECHO)
  1280.   $(FILE_ECHO)
  1281.  
  1282. #----------------------------------------------------------------------------
  1283. # TARGETS - delete
  1284.  
  1285. dir_delete:
  1286.   if exist ~q*.*    del ~q*.*
  1287.   if exist make.log del make.log
  1288.  
  1289. delete_log:
  1290.   if exist $(MAKE_LOG) del $(MAKE_LOG)
  1291.  
  1292. delete_qmakcmd_bat:
  1293.   if exist $(MAKE_CMD) del $(MAKE_CMD)
  1294.  
  1295. delete_log0:
  1296.   if exist $(MAKE_LOG) del $(MAKE_LOG)
  1297.  
  1298. delete_qmakcmd_bat0:
  1299.   if exist $(MAKE_CMD) del $(MAKE_CMD)
  1300.  
  1301. # BINARY/DIRECTORY
  1302. !ENDIF
  1303.  
  1304. #============================================================================
  1305. #
  1306. # Common (to BINARY and DIRECTORY)
  1307. #
  1308. #============================================================================
  1309.  
  1310. #----------------------------------------------------------------------------
  1311. # TARGETS - environment
  1312.  
  1313. dump_params:
  1314.   if exist $(MAKE_ENV) del $(MAKE_ENV)
  1315. !ifdef NODEBUG
  1316.   echo NODEBUG     = $(NODEBUG)     >> $(MAKE_ENV)
  1317. !endif
  1318. !ifdef PERF
  1319.   echo PERF        = $(PERF)        >> $(MAKE_ENV)
  1320. !endif
  1321. !ifdef MAKE_CMD
  1322.   echo MAKE_CMD    = $(MAKE_CMD)    >> $(MAKE_ENV)
  1323. !endif
  1324. !ifdef MAKE_LOG
  1325.   echo MAKE_LOG    = $(MAKE_LOG)    >> $(MAKE_ENV)
  1326. !endif
  1327. !ifdef MAKE_ECHO
  1328.   echo MAKE_ECHO   = $(MAKE_ECHO)   >> $(MAKE_ENV)
  1329. !endif
  1330. !ifdef ECHO_ECHO
  1331.   echo ECHO_ECHO   = $(ECHO_ECHO)   >> $(MAKE_ENV)
  1332. !endif
  1333. !ifdef MAKEFLAGS
  1334.   echo MAKEFLAGS   = $(MAKEFLAGS)   >> $(MAKE_ENV)
  1335. !endif
  1336. !ifdef DISABLE_PCH
  1337.   echo DISABLE_PCH = $(DISABLE_PCH) >> $(MAKE_ENV)
  1338. !endif
  1339.  
  1340. dump_params0:
  1341.   if exist $(MAKE_ENV) del $(MAKE_ENV)
  1342. !ifdef NODEBUG
  1343.   echo NODEBUG     = $(NODEBUG)     >> $(MAKE_ENV)
  1344. !endif
  1345. !ifdef PERF
  1346.   echo PERF        = $(PERF)        >> $(MAKE_ENV)
  1347. !endif
  1348. !ifdef MAKE_CMD
  1349.   echo MAKE_CMD    = $(MAKE_CMD)    >> $(MAKE_ENV)
  1350. !endif
  1351. !ifdef MAKE_LOG
  1352.   echo MAKE_LOG    = $(MAKE_LOG)    >> $(MAKE_ENV)
  1353. !endif
  1354. !ifdef MAKE_ECHO
  1355.   echo MAKE_ECHO   = $(MAKE_ECHO)   >> $(MAKE_ENV)
  1356. !endif
  1357. !ifdef ECHO_ECHO
  1358.   echo ECHO_ECHO   = $(ECHO_ECHO)   >> $(MAKE_ENV)
  1359. !endif
  1360. !ifdef MAKEFLAGS
  1361.   echo MAKEFLAGS   = $(MAKEFLAGS)   >> $(MAKE_ENV)
  1362. !endif
  1363. !ifdef DISABLE_PCH
  1364.   echo DISABLE_PCH = $(DISABLE_PCH) >> $(MAKE_ENV)
  1365. !endif
  1366.  
  1367. clear_params:
  1368.   if exist $(MAKE_ENV) del $(MAKE_ENV)
  1369.  
  1370. clear_params0:
  1371.   if exist $(MAKE_ENV) del $(MAKE_ENV)
  1372.  
  1373. #----------------------------------------------------------------------------
  1374. # TARGETS - logging
  1375.  
  1376. del_echo:
  1377.   if exist $(MAKE_ECHO) del $(MAKE_ECHO)
  1378.  
  1379. del_echo0:
  1380.   if exist $(MAKE_ECHO) del $(MAKE_ECHO)
  1381.  
  1382. log_pass:
  1383.   echo $(MAKE_PASS) - $(MAKEDIR) > $(MAKE_ECHO)
  1384.   $(TYPE_ECHO)
  1385.   $(FILE_ECHO)
  1386.  
  1387. log_pass0:
  1388.   echo cleaning - $(MAKEDIR) > $(MAKE_ECHO)
  1389.   $(TYPE_ECHO)
  1390.   $(FILE_ECHO)
  1391.  
  1392. # END OF FILE
  1393. !ENDIF
  1394.