📄 activex.mak
字号:
#############################################################################
# #
# 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 + -