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

📄 activex.mak

📁 vc6.0完整版
💻 MAK
📖 第 1 页 / 共 3 页
字号:
# resource compiler flags

rccommon = -l409 -r -DWIN32 -D_WIN32 $(noansi)

!IF "$(WIN_VER)" == "5.0"
rccommon = $(rccommon) -DWINVER=0x0500
!else
rccommon = $(rccommon) -DWINVER=0x0400
!ENDIF

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

rcflags = $(rccommon) $(rcdebug) $(RC_DEFINES)

#----------------------------------------------------------------------------
# library flags

# common stuff

libcommon = /NODEFAULTLIB /machine:$(CPU)

# debug type = coff|cv|both

!ifdef USE_LEGO
libdebug = -debugtype:cv,fixup
!else
!ifdef NODEBUG
!ifdef SYMBOLS
libdebug = -debugtype:coff
!endif
!else
libdebug = -debugtype:cv
!endif
!endif

# subsystem, def file, etc. switched
# in according to TARGET_TYPE and EXE_TYPE

!if "$(TARGET_TYPE)" == "DYNLINK"
liblink = /subsystem:windows,$(WIN_VER)
!if "$(DEF_FILE)" != ""
liblink = $(liblink) /def:$(DEF_FILE)
!endif
!else
!if "$(TARGET_TYPE)" == "PROGRAM"
!if "$(EXE_TYPE)" == "console"
liblink = /subsystem:console,$(WIN_VER)
!else
!if "$(EXE_TYPE)" == "windows"
liblink = /subsystem:windows,$(WIN_VER)
!else
!error EXE_TYPE=console|windows must be defined for PROGRAM
!endif
!endif
!else
liblink = /subsystem:windows,$(WIN_VER)
!endif
!endif

libflags = $(libcommon) $(liblink) $(libdebug)

#----------------------------------------------------------------------------
# linker flags

!ifdef USE_DEFAULT_LIB
DEFAULTLIBSWITCH = /NODEFAULTLIB:MSVCRT
!else
DEFAULTLIBSWITCH = /NODEFAULTLIB
!endif

lcommon = $(DEFAULTLIBSWITCH) /INCREMENTAL:NO /NOLOGO /MACHINE:$(CPU)

!ifdef NO_PDB_FILES
lcommon = $(lcommon) /PDB:NONE
!else
lcommon = $(lcommon) /PDB:$(DBG_RTL)\$(TARGET_NAME).pdb
!endif

# declarations for use on Intel i386, i486, and Pentium systems
!IF "$(CPU)" == "i386"
DLLENTRY = @12
lcommon  = $(lcommon) /align:0x1000
!ENDIF

# declarations for use on self hosted MIPS R4x000 systems
!IF "$(CPU)" == "MIPS"
DLLENTRY =
lcommon  = $(lcommon)
!ENDIF

# declarations for use on self hosted PowerPC systems
!IF "$(CPU)" == "PPC"
DLLENTRY =
lcommon  = $(lcommon)
!ENDIF

# declarations for use on self hosted Digital Alpha AXP systems
!IF "$(CPU)" == "ALPHA"
DLLENTRY =
lcommon  = $(lcommon)
!ENDIF

# NODEBUG means a retail build
# PERF is a special case of retail:
#  == retail plus performance stuff

!ifndef DEBUG_TYPE
DEBUG_TYPE = both
!endif

!ifdef USE_LEGO
ldebug = /OPT:REF /RELEASE /debug /debugtype:cv,fixup
!else
!IFDEF NODEBUG
!IFDEF PERF
ldebug = /OPT:REF /RELEASE /debug:mapped,minimal /debugtype:$(DEBUG_TYPE)
!ELSE
!ifdef SYMBOLS
ldebug = /OPT:REF /RELEASE /debug:mapped,minimal /debugtype:$(DEBUG_TYPE)
!else
ldebug = /OPT:REF /RELEASE /debug:none
!endif
!ENDIF
!ELSE
ldebug = /debug:mapped,full /debugtype:$(DEBUG_TYPE)
!ENDIF
!endif

!if "$(TARGET_TYPE)" == "DYNLINK"
!ifndef DLL_BASE
DLL_BASE = 0x1c400000
!endif
llink = /dll /base:$(DLL_BASE) /subsystem:windows,$(WIN_VER)
!if "$(DEF_FILE)" != ""
llink = $(llink)
TARGET_EXP = $(DBG_RTL)\$(TARGET_NAME).exp
!endif
!if "$(DLL_ENTRY)" != ""
!if "$(DLL_ENTRY)" != "none"
llink = $(llink) /entry:$(DLL_ENTRY)$(DLLENTRY)
!endif
!else
llink = $(llink) /entry:DllEntryPoint$(DLLENTRY)
!endif
!else
!if "$(TARGET_TYPE)" == "PROGRAM"
!if "$(EXE_TYPE)" == "console"
llink = /subsystem:console,$(WIN_VER) /entry:mainCRTStartup
!else
!if "$(EXE_TYPE)" == "windows"
llink = /subsystem:windows,$(WIN_VER) /entry:WinMainCRTStartup
!endif
!endif
!endif
!endif

lflags = $(lcommon) $(ldebug) $(llink)

#----------------------------------------------------------------------------
# make type library flags

mtlflags = /nologo $(MTL_DEFINES)

#----------------------------------------------------------------------------
# unicode flags

!ifdef UNICODE
cflags  = $(cflags)  -DUNICODE
rcflags = $(rcflags) -DUNICODE
!endif

#----------------------------------------------------------------------------
# Include path

!ifndef NO_ACTIVEX_INCLUDES
INC_PATH = .;                       \
           $(MSSDK)\include;        \
           $(MSTOOLS)\include;      \
           $(MSSDK)\samples\graphics\DirectShow\classes\base;   \
           $(MSTOOLS)\samples\graphics\DirectShow\classes\base; \
           $(INC_PATH)
!endif

!if "$(INC_PATH)" != ""
INC_FLAGS = $(INC_PATH: =)***
INC_FLAGS = $(INC_FLAGS:;***=)
INC_FLAGS = $(INC_FLAGS:***=)
INC_FLAGS = -I$(INC_FLAGS:;= -I)
!endif

#----------------------------------------------------------------------------
# Next work out what obj files need to be built from
# the list of source files

!if "$(SRC_FILES)" != ""
OBJ_FILES = $(SRC_FILES)
OBJ_FILES = $(OBJ_FILES:.cpp =.cpp*)
OBJ_FILES = $(OBJ_FILES:.c =.c*)
OBJ_FILES = $(OBJ_FILES: =)
!if "$(DBG_RTL)" == "retail"
OBJ_FILES = retail\$(OBJ_FILES:*= retail\)
!else
OBJ_FILES = debug\$(OBJ_FILES:*= debug\)
!endif
OBJ_FILES = $(OBJ_FILES:.cpp=.obj)
OBJ_FILES = $(OBJ_FILES:.c=.obj)
!endif

# Similary for res file wrt rc file

!if "$(RC_FILE)" != ""
!if "$(DBG_RTL)" == "retail"
RES_FILE = retail\$(RC_FILE:.rc=.res)
!else
RES_FILE = debug\$(RC_FILE:.rc=.res)
!endif
!endif

# and TLB file wrt ODL

!if "$(ODL_FILE)" != ""
!if "$(TLB_FILE)" == ""
!if "$(DBG_RTL)" == "retail"
TLB_FILE = retail\$(ODL_FILE:.odl=.tlb)
!else
TLB_FILE = debug\$(ODL_FILE:.odl=.tlb)
!endif
!endif
!endif

#----------------------------------------------------------------------------
# PCH stuff

!ifndef NO_COMMON_PCH

!ifdef NODEBUG
STREAMS_PCH = $(MSSDK)\lib\streams.pch
!else
STREAMS_PCH = $(MSSDK)\lib\streamsd.pch
!endif

!if exist( "$(STREAMS_PCH)" )
NEED_PCH_OBJ = 1
LINK_TASK = $(LINK_TASK) $(DBG_RTL)\_streams.obj
END_TASK  = $(END_TASK) del_own_streams_obj
COMMON_PCH_OBJ = $(DBG_RTL)\_streams.obj
!endif

!endif

!ifndef DISABLE_PCH

!ifdef  PCH_HEADER

pchusage = /Yu$(PCH_HEADER)

!ifdef PCH_NAME
!ifdef PCH_OBJ_NAME
PCH_OBJ = $(DBG_RTL)\$(PCH_OBJ_NAME).obj
!else
PCH_OBJ = $(DBG_RTL)\$(PCH_NAME).obj
!endif
PCH_PCH = $(DBG_RTL)\$(PCH_NAME).pch
!else
!ERROR must specify PCH_NAME when using PCH_HEADER
!endif

cpppch  = $(pchusage) /Fp$(PCH_PCH)

!else

!if exist( "$(STREAMS_PCH)" )
PCH_OBJ  =
PCH_PCH  = $(STREAMS_PCH)
pchusage = /Yustreams.h
cpppch  = $(pchusage) /Fp$(PCH_PCH)
!else
DISABLE_PCH = 1
!endif

!endif

!endif

#----------------------------------------------------------------------------
# Browser files

!if "$(BROWSER)" == "TRUE"
cbrowser   = -FR$(@R).sbr
TARGET_BSC = $(DBG_RTL)\$(TARGET_NAME).bsc
!else
cbrowser   =
TARGET_BSC =
!endif

#----------------------------------------------------------------------------
# Map and Sym files

!if "$(TARGET_MAP)" !=""

!ifdef SYM_FILES
END_TASK = $(END_TASK) $(TARGET_MAP:.map=.sym)
lmap     = -map:$(TARGET_MAP)
!endif

!ifdef MAP_FILES
lmap     = -map:$(TARGET_MAP)
!endif

LINKER_FLAGS = $(LINKER_FLAGS) $(lmap)

!endif

#----------------------------------------------------------------------------
# Define common libraries

# base (not version!)
_CORE_LIBS = kernel32.lib    \
             advapi32.lib    \
             version.lib     \
             largeint.lib

# win libs
_USER_LIBS = user32.lib      \
             gdi32.lib       \
             comctl32.lib

_OLE__LIBS = ole32.lib       \
             oleaut32.lib    \
             uuid.lib

# !ifdef USE_MSVCRT_LIB
!ifndef USE_LIBCMT_LIB

!ifdef NODEBUG
_CRT__LIBS = msvcrt.lib
!else
!ifdef USE_MSVC20
_CRT__LIBS = msvcrt.lib
!else
_CRT__LIBS = msvcrtd.lib
!endif
!endif

!else

!ifdef NODEBUG
_CRT__LIBS = libcmt.lib
!else
!ifdef USE_MSVC20
_CRT__LIBS = libcmt.lib
!else
_CRT__LIBS = libcmtd.lib
!endif
!endif

!endif

_MM___LIBS = vfw32.lib       \
             winmm.lib

!ifdef NODEBUG
_AX1__LIBS = $(MSSDK)\lib\strmbase.lib
!else
_AX1__LIBS = $(MSSDK)\lib\strmbasd.lib
!endif

_AX2__LIBS = $(MSSDK)\lib\quartz.lib

!ifdef PERF
_AX2__LIBS = $(_AX2__LIBS)               \
             $(MSSDK)\lib\measure.lib
!endif

BASE_LIBS = $(_CRT__LIBS) \
            $(_MM___LIBS) \
            $(_CORE_LIBS) \
            $(_USER_LIBS) \
            $(_OLE__LIBS)

!ifndef NO_ACTIVEX_LIBS
LINK_LIBS = $(_AX2__LIBS) $(LINK_LIBS) $(_AX1__LIBS)
!if "$(TARGET_TYPE)" == "DYNLINK"
CODE_LIBS = $(_AX1__LIBS) $(CODE_LIBS)
!endif
!endif

!if "$(TARGET_TYPE)" != "DYNLINK"
LINK_LIBS = $(CODE_LIBS) $(LINK_LIBS)
!endif

LINK_LIBS = $(LINK_LIBS) $(BASE_LIBS)

#----------------------------------------------------------------------------
# Pseudo-targets

.SILENT:
.IGNORE:
.SUFFIXES:
.SUFFIXES: .c .cpp
.PRECIOUS: $(TARGET_LIB) $(TARGET_BIN)

#----------------------------------------------------------------------------
# Rules

CC_COMMAND_LINE  = $(cflags) $(cbrowser) -Fo$(DBG_RTL)\ $(INC_FLAGS) $(@B).c

CPP_COMMAND_LINE = $(cflags) $(cbrowser) -Fo$(DBG_RTL)\ $(INC_FLAGS) $(@B).cpp

.c{$(DBG_RTL)}.obj:
  echo Compiling $(@B).c...               > $(MAKE_ECHO)
  if exist $@ del $@ > NUL
  $(TYPE_ECHO)
  $(FILE_ECHO)
  echo $(cc) $(ccpch) $(CC_COMMAND_LINE)  > $(MAKE_ECHO)
  $(TYPE_ECHO2)
  $(FILE_ECHO)
  $(cc) $(ccpch) $(CC_COMMAND_LINE)       > $(MAKE_ECHO)
  $(TYPE_ECHO)
  $(FILE_ECHO)
  echo.                                   > $(MAKE_ECHO)
  $(TYPE_ECHO2)
  $(FILE_ECHO)

.c.cod:
  echo Compiling $(@B).c - with cod file... > $(MAKE_ECHO)
  if exist $@ del $@ > NUL
  $(TYPE_ECHO)
  $(FILE_ECHO)
  echo $(cc) -Fc $(CC_COMMAND_LINE)         > $(MAKE_ECHO)
  $(TYPE_ECHO2)
  $(FILE_ECHO)
  $(cc) -Fc $(CC_COMMAND_LINE)              > $(MAKE_ECHO)
  $(TYPE_ECHO)
  $(FILE_ECHO)
  echo.                                     > $(MAKE_ECHO)
  $(TYPE_ECHO2)
  $(FILE_ECHO)

.cpp{$(DBG_RTL)}.obj:
  echo Compiling $(@B).cpp...               > $(MAKE_ECHO)
  if exist $@ del $@ > NUL
  $(TYPE_ECHO)
  $(FILE_ECHO)
  echo $(cc) $(cpppch) $(CPP_COMMAND_LINE)  > $(MAKE_ECHO)
  $(TYPE_ECHO2)
  $(FILE_ECHO)
  $(cc) $(cpppch) $(CPP_COMMAND_LINE)       > $(MAKE_ECHO)
  $(TYPE_ECHO)
  $(FILE_ECHO)
  echo.                                     > $(MAKE_ECHO)
  $(TYPE_ECHO2)
  $(FILE_ECHO)

.cpp.cod:
  echo Compiling $(@B).cpp - with cod file... > $(MAKE_ECHO)
  if exist $@ del $@ > NUL
  $(TYPE_ECHO)
  $(FILE_ECHO)
  echo $(cc) -Fc $(CPP_COMMAND_LINE)          > $(MAKE_ECHO)
  $(TYPE_ECHO2)
  $(FILE_ECHO)
  $(cc) -Fc $(CPP_COMMAND_LINE)               > $(MAKE_ECHO)
  $(TYPE_ECHO)
  $(FILE_ECHO)
  echo.                                       > $(MAKE_ECHO)
  $(TYPE_ECHO2)
  $(FILE_ECHO)

#----------------------------------------------------------------------------
# TARGETS - key

#
# default
#

all  : log_start     \
       dump_params   \
       pass1         \
       log_done      \
       clear_params  \
       del_echo

#
# clean
#

clean: dump_params0  \
       pass0         \
       clear_params0 \
       del_echo0     \
       log_reset

#----------------------------------------------------------------------------
# TARGETS - passes

pass0: log_pass0      \
       $(CLEAN_TASK)  \
       delete

pass1: log_pass       \
       make_dir       \
       $(START_TASK)  \
       $(TLB_FILE)    \
       $(LIB_TASK)    \
       $(RES_FILE)    \
       $(PCH_PCH)     \
       $(PCH_OBJ)     \
       $(OBJ_FILES)   \
       $(TARGET_LIB)  \
       $(GOAL_LIB)    \
       $(LINK_TASK)   \
       $(TARGET_BIN)  \
       $(TARGET_BSC)  \
       $(END_TASK)    \
       $(GOAL_BIN)

#----------------------------------------------------------------------------
# TARGETS - logging

log_reset:
  if exist $(MAKE_LOG) del $(MAKE_LOG)

log_start:
  if exist $(MAKE_LOG) del $(MAKE_LOG)
  echo Making $(MAKEDIR)          > $(MAKE_ECHO)

⌨️ 快捷键说明

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