⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 activex.mak

📁 vc6.0完整版
💻 MAK
📖 第 1 页 / 共 3 页
字号:
#############################################################################
#                                                                           #
# DirectShow SDK Master Makefile - ACTIVEX.MAK                              #
#                                                                           #
# Win32 application master NMAKE definitions file for the Microsoft         #
# DirectShow 5.1 for Windows programming samples.                           #
#                                                                           #
# THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY     #
# KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE       #
# IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR     #
# PURPOSE.                                                                  #
#                                                                           #
# Copyright 1992 - 1998 Microsoft Corporation.  All Rights Reserved.    #
#                                                                           #
# ------------------------------------------------------------------------- #
# This files should be included after all public macro definitions          #
# and before any private targets (so that the default "all" and "clean"     #
# targets are not accidentally overridden. )                                #
#                                                                           #
# e.g.                                                                      #
#                                                                           #
# TARGET_NAME = filter                                                      #
# TARGET_TYPE = DYNLINK                                                     #
#                                                                           #
# SRC_FILES   = file1.cpp \                                                 #
#               file2.cpp \                                                 #
#               file3.c                                                     #
#                                                                           #
# RC_FILE     = filter.rc                                                   #
#                                                                           #
# DEF_FILE    = filter.def                                                  #
#                                                                           #
# END_TASK    = assorted_stuff                                              #
#                                                                           #
# !include "activex.mak"                                     #
#                                                                           #
# assorted_stuff:                                                           #
#   do_this                                                                 #
#   do_that                                                                 #
#   do_the_other                                                            #
#                                                                           #
# ------------------------------------------------------------------------- #
# NMAKE Options (passed by macro)                                           #
#                                                                           #
# Use the table below to determine the additional options for NMAKE to      #
# generate various application debugging, profiling and performance tuning  #
# information.                                                              #
#                                                                           #
# Application Information Type         Invoke NMAKE                         #
# ----------------------------         ------------                         #
# For No Debugging Info                nmake nodebug=1                      #
# For debuggable retail build          nmake nodebug=1 symbols=1            #
# For performance tuning               nmake nodebug=1 perf=1               #
#                                                                           #
# Note: creating the environment variables NODEBUG and PERF is an           #
#       alternative method to setting these options via the nmake           #
#       command line.                                                       #
#                                                                           #
#       perf=1 overrides symbols=1                                          #
#                                                                           #
# Additional NMAKE Options             Invoke NMAKE                         #
# ----------------------------         ------------                         #
# For No ANSI NULL Compliance          nmake no_ansi=1                      #
# (ANSI NULL is defined as PVOID 0)                                         #
#                                                                           #
# Set SYM_FILES=1 in the nmake command line to generate .sym files that     #
# can be used with a kernel level debugger.                                 #
#                                                                           #
# ------------------------------------------------------------------------- #
# NMAKE Targets (common)                                                    #
#                                                                           #
# all           Create executables (default).                               #
# clean         Delete object files, etc.                                   #
#                                                                           #
# Note: use "nmake clean all" to force a clean rebuild.                     #
#                                                                           #
#############################################################################

DISABLE_PCH = 1
NO_COMMON_PCH = 1
NO_PDB_FILES = 1

# START OF MAKEFILE
!IFNDEF _ACTIVEX_MAK_
_ACTIVEX_MAK_ = 1

#----------------------------------------------------------------------------
# recover environment

!ifndef MAKE_ENV
MAKE_ENV = $(MAKEDIR)\~qmakenv.tmp
!endif

!ifndef MAKE_PASS
MAKE_PASS = pass1
!else
!if exist( "$(MAKE_ENV)" )
!include "$(MAKE_ENV)"
!endif
!endif

#----------------------------------------------------------------------------
# Logging

!ifndef MAKE_LOG
MAKE_LOG = $(MAKEDIR)\make.log
!endif

!ifndef MAKE_ECHO
!if "$(OS)" == "Windows_NT"
MAKE_ECHO = $(MAKEDIR)\~qmakech.tmp 2>>&1
!else
MAKE_ECHO = $(MAKEDIR)\~qmakech.tmp
!endif
!endif

!ifndef ECHO_ECHO
ECHO_ECHO = type $(MAKEDIR)\~qmakech.tmp
!endif

!ifndef TYPE_ECHO
!if "$(MAKE_LOGGING)" == "quiet"
TYPE_ECHO = rem
!else
TYPE_ECHO = $(ECHO_ECHO)
!endif
!endif

!ifndef TYPE_ECHO2
!if "$(MAKE_LOGGING)" == "verbose"
TYPE_ECHO2 = $(ECHO_ECHO)
!else
TYPE_ECHO2 = rem
!endif
!endif

!ifndef FILE_ECHO
!ifdef NO_MAKE_LOG
FILE_ECHO = rem
!else
FILE_ECHO = $(ECHO_ECHO) >> $(MAKE_LOG)
!endif
!endif

!ifndef MAKE_CMD
MAKE_CMD = $(MAKEDIR)\~qmakcmd.bat
!endif

#----------------------------------------------------------------------------
# Set up object directory

!ifdef RETAIL
!ifndef NODEBUG
NODEBUG = 1
!endif
!endif

!ifdef DEBUG
!ifdef NODEBUG
!undef NODEBUG
!endif
!endif

!ifdef NODEBUG
DBG_RTL = retail
!else
DBG_RTL = debug
!endif

#----------------------------------------------------------------------------
# resolve pdb/pch clash

!ifndef DISABLE_PCH
!ifndef NO_PDB_FILES
NO_PDB_FILES = 1
!endif
!endif


# BINARY/DIRECTORY
!IFNDEF DIR_LIST

#============================================================================
#
# BINARY
#
#============================================================================

#
# if DIR_LIST is *not* defined this makefile just
# simply must be being included to build a binary
#

#----------------------------------------------------------------------------
# Backward compat section

!if "$(DEP_LIBS)" != ""
!message Should now be using CODE_LIBS instead of DEP_LIBS!!
CODE_LIBS = $(CODE_LIBS) $(DEP_LIBS)
!endif

#----------------------------------------------------------------------------
# Default handling

!ifdef NO_ACTIVEX_DEFAULTS
!ifndef NO_ACTIVEX_LIBS
NO_ACTIVEX_LIBS = 1
!endif
!ifndef NO_ACTIVEX_INCLUDES
NO_ACTIVEX_INCLUDES = 1
!endif
!endif

#----------------------------------------------------------------------------
# set CPU Type

!IF "$(CPU)" != "i386"
!IF "$(CPU)" != "MIPS"
!IF "$(CPU)" != "ALPHA"
!IF "$(CPU)" != "PPC"
!MESSAGE Missing or invalid 'CPU' environment variable
!MESSAGE ( valid options are CPU=i386, MIPS, ALPHA or PPC )
!MESSAGE
!MESSAGE WARNING: Defaulting to CPU=i386!
!MESSAGE
CPU = i386
!ENDIF
!ENDIF
!ENDIF
!ENDIF

#----------------------------------------------------------------------------
# set Target Operating System - Default to both

!IF "$(TARGET_OS)" != "WINNT"
!IF "$(TARGET_OS)" != "WIN95"
!IF "$(TARGET_OS)" != "BOTH"
#!MESSAGE Must specify TARGET_OS environment variable (BOTH, WIN95, WINNT)
TARGET_OS = BOTH
!ENDIF
!ENDIF
!ENDIF

#----------------------------------------------------------------------------
# Set Default WINVER - depends on TARGET_OS
# Defaults to 4.0 for all applications except NT specific.

!IFNDEF WIN_VER
!IF "$(TARGET_OS)" == "WINNT"
WIN_VER = 5.0
!ELSE
WIN_VER = 4.0
!ENDIF
!ENDIF

!IF "$(WIN_VER)" != "5.0"
!IF "$(WIN_VER)" != "4.0"
!ERROR Must specify WIN_VER environment variable (5.0, 4.0)
!ENDIF
!ENDIF
!ENDIF

#----------------------------------------------------------------------------
# Check TARGET_TYPE defined

!if "$(TARGET_TYPE)" != "DYNLINK"
!if "$(TARGET_TYPE)" != "LIBRARY"
!if "$(TARGET_TYPE)" != "PROGRAM"
!error Must define TARGET_TYPE
!endif
!endif
!endif

#----------------------------------------------------------------------------
# Define EXT if not already done

!if "$(TARGET_EXT)" == ""
!if "$(TARGET_TYPE)" == "DYNLINK"
TARGET_EXT = dll
!elseif "$(TARGET_TYPE)" == "LIBRARY"
TARGET_EXT = lib
!elseif "$(TARGET_TYPE)" == "PROGRAM"
TARGET_EXT = exe
!endif
!endif

#----------------------------------------------------------------------------
# Define targets

!if "$(TARGET_TYPE)" == "DYNLINK"
TARGET_LIB = $(DBG_RTL)\$(TARGET_NAME).lib
TARGET_BIN = $(DBG_RTL)\$(TARGET_NAME).$(TARGET_EXT)
!ifndef TARGET_MAP
TARGET_MAP = $(DBG_RTL)\$(TARGET_NAME).map
!endif
!if "$(DEF_FILE)" != ""
TARGET_EXP = $(DBG_RTL)\$(TARGET_NAME).exp
!else
TARGET_EXP =
!endif
!elseif "$(TARGET_TYPE)" == "LIBRARY"
TARGET_LIB = $(DBG_RTL)\$(TARGET_NAME).$(TARGET_EXT)
TARGET_BIN =
TARGET_MAP =
TARGET_EXP =
!elseif "$(TARGET_TYPE)" == "PROGRAM"
TARGET_LIB =
TARGET_BIN = $(DBG_RTL)\$(TARGET_NAME).$(TARGET_EXT)
!ifndef TARGET_MAP
TARGET_MAP = $(DBG_RTL)\$(TARGET_NAME).map
!endif
TARGET_EXP =
!else
TARGET_LIB =
TARGET_BIN =
TARGET_MAP =
TARGET_EXP =
!endif

#----------------------------------------------------------------------------
# Define copy targets

!ifndef NO_COPY

!if "$(TARGET_LIB)" != ""
TARGET_LIB_GOAL = $(MSSDK)\samples\graphics\directshow\$(TARGET_NAME)\lib\$(DBG_RTL)
!ifndef NODEBUG
GOAL_LIB = $(TARGET_LIB_GOAL)\$(TARGET_LIB:debug\=)
!else
GOAL_LIB = $(TARGET_LIB_GOAL)\$(TARGET_LIB:retail\=)
!endif
!endif

!if "$(TARGET_BIN)" != ""
TARGET_BIN_GOAL = $(MSSDK)\samples\graphics\directshow\$(TARGET_NAME)
!ifndef NODEBUG
GOAL_BIN = $(TARGET_BIN_GOAL)\$(TARGET_BIN:debug\=)
!else
GOAL_BIN = $(TARGET_BIN_GOAL)\$(TARGET_BIN:retail\=)
!endif
!endif

!endif

#----------------------------------------------------------------------------
# Tool aliases

cc     = cl
rc     = rc
link   = link
implib = lib
hc     = hcrtf -x
mtl    = mktyplib

#----------------------------------------------------------------------------
# general defs

!IFDEF NO_ANSI
noansi = -DNULL=0
!ENDIF

#----------------------------------------------------------------------------
# compiler flags

ccommon = -c -nologo -Gy -DINC_OLE2 -DSTRICT  \
          -DWIN32 -D_WIN32 $(noansi)

# !ifdef USE_MSVCRT_LIB
!ifndef USE_LIBCMT_LIB

!ifdef NODEBUG
ccommon = $(ccommon) -MD
!else
!ifdef USE_MSVC20
ccommon = $(ccommon) -MD
!else
ccommon = $(ccommon) -MDd
!endif
!endif

!else

!ifdef NODEBUG
ccommon = $(ccommon) -MT
!else
!ifdef USE_MSVC20
ccommon = $(ccommon) -MT
!else
ccommon = $(ccommon) -MTd
!endif
!endif

!endif

!ifndef ACTIVEX_NO_MT
ccommon = $(ccommon) -D_MT
!endif

# !ifdef USE_MSVCRT_LIB
!ifndef USE_LIBCMT_LIB
!if "$(TARGET_TYPE)" == "DYNLINK"
ccommon = $(ccommon) -D_DLL
!endif
!endif

!IF "$(CPU)" == "i386"
ccommon = $(ccommon) -D_X86_=1
!ELSE
!IF "$(CPU)" == "MIPS"
ccommon = $(ccommon) -D_MIPS_=1
!ELSE
!IF "$(CPU)" == "PPC"
ccommon = $(ccommon) -D_PPC_=1
!ELSE
!IF "$(CPU)" == "ALPHA"
ccommon = $(ccommon) -D_ALPHA_=1
!ENDIF
!ENDIF
!ENDIF
!ENDIF

!IF "$(TARGET_OS)" == "WINNT"
ccommon = $(ccommon) -D_WINNT
!ELSE
!IF "$(TARGET_OS)" == "WIN95"
ccommon = $(ccommon) -D_WIN95
!ENDIF
!ENDIF

!IF "$(WIN_VER)" == "5.0"
ccommon = $(ccommon) -DWINVER=0x0500
!ELSE
!IF "$(WIN_VER)" == "4.0"
ccommon = $(ccommon) -DWINVER=0x0400
!ENDIF
!ENDIF

# debug

!ifdef NODEBUG
cdebug = -DDBG=0
!else
!ifdef NODEBUGCODE
cdebug = -DDBG=0
!else
cdebug = -DDBG=1 -DDEBUG -D_DEBUG
!endif
!endif

!ifdef PERF
cdebug = $(cdebug) -DPERF
!endif

!ifdef USE_LEGO
cdebug = $(cdebug) -Zi
!else
!ifdef C_DEBUG
cdebug = $(cdebug) $(C_DEBUG)
!else
!IFDEF NODEBUG
!ifdef SYMBOLS
cdebug = $(cdebug) -Zd
!endif
!ELSE
!ifdef NO_PDB_FILES
cdebug = $(cdebug) -Z7
!else
cdebug = $(cdebug) -Zi
!endif
!ENDIF
!endif
!endif

!ifndef NO_PDB_FILES
cdebug = $(cdebug) -Fd$(DBG_RTL)\$(TARGET_NAME).pdb
!endif

# optimization

!ifdef C_OPTIMIZATION
cdebug = $(cdebug) $(C_OPTIMIZATION)
!else
!IFDEF NODEBUG
!IFDEF PERF
cdebug = $(cdebug) -Ois -GF
!ELSE
cdebug = $(cdebug) -Oxs -GF
!ENDIF
!ELSE
cdebug = $(cdebug) -Oid
!ENDIF
!endif

# calling convention (Intel only)
# - default to stdcall

!IF "$(CPU)" == "i386"
!if "$(C_CALL)" == "cdecl"
ccall = -Gd
!else
ccall = -Gz
!endif
!ELSE
ccall =
!ENDIF

# warning level
# - defaults to level 3

!ifndef C_WARNING
cwarn = -W3
!else
cwarn = $(C_WARNING)
!endif

# exception handling
# - default to standard WIN32
# - can override to use C++ exceptions

!ifdef CPP_EXCEPTION_HANDLING
cexcept = -GX -D_INC_EXCPT
!else
cexcept = -Dtry=__try -Dexcept=__except -Dleave=__leave -Dfinally=__finally
!endif

# combine flags

cflags   = $(ccommon) $(cdebug) $(ccall) $(cexcept) $(cwarn) $(C_DEFINES)

#----------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -