📄 win32_tools.mk
字号:
###############################################################################
## ##
## Copyright (c) 2006 Videon Central, Inc. ##
## All rights reserved. ##
## ##
## The makefile contained herein contains proprietary information which ##
## is the property of Videon Central, Inc. The makefile may be used ##
## and/or copied only with the written permission of Videon Central, Inc. ##
## or in accordance with the terms and conditions stipulated in the ##
## agreement/contract under which the makefile has been supplied. ##
## ##
###############################################################################
#######################################################################################################################
#
# win32_tools.mk Microsoft Windows Platform Tools
#
# $Revision: 1.4 $
#
# Microsoft Visual C++ Compiler (cl.exe)
# Microsoft Visual C++ Linker (link.exe)
# Microsoft Visual C++ Librarian (lib.exe)
#
# INPUT: MODULE_DEBUG_BUILD = YES if debug build
#
# Makefile written for GNU make (v3.8 known to work)
#
#######################################################################################################################
VISUAL_STUDIO_BIN_DIRECTORY := "C:/Program Files/Microsoft Visual Studio 8/VC/bin
COMPILER := $(VISUAL_STUDIO_BIN_DIRECTORY)/CL.EXE"
ifeq ($(strip $(MODULE_DEBUG_BUILD)),"YES")
COMPILER_FLAGS := /Od /RTC1 /MTd /W3 /WX /nologo /c /ZI /wd4200 /wd4996 /wd4995 /wd4065 /errorReport:prompt /D "WIN32" /D "DEBUG" /D "_WINDOWS" /D "WINVER=0x0501" /D "_WIN32_DCOM" /D "_WIN32_WINNT=0x0501"
else
COMPILER_FLAGS := /O2 /FD /MTd /W3 /nologo /c /wd4200 /wd4996 /wd4995 /wd4065 /errorReport:prompt /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "WINVER=0x0501" /D "_WIN32_DCOM" /D "_WIN32_WINNT=0x0501"
endif
LINKER := $(VISUAL_STUDIO_BIN_DIRECTORY)/LINK.EXE"
LINKER_FLAGS := /NOLOGO /MANIFEST /DEBUG /SUBSYSTEM:CONSOLE /MACHINE:X86 /ERRORREPORT:PROMPT kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
LIBRARIAN := $(VISUAL_STUDIO_BIN_DIRECTORY)/LIB.EXE"
LIBRARIAN_FLAGS := /nologo
COMPILER_INCLUDE_DIRECTORY_FLAG := /I
COMPILER_DEFINE_SYMBOL_FLAG := /D
LINKER_INCLUDE_LIBRARY_FLAG :=
OBJECTCODE_FILE_EXTENSION := .obj
LIBRARY_FILE_EXTENSION := .lib
DEPEND_FILE_EXTENSION := .d
# GNU Make Utility
MAKE := make.exe
# File/directory utilities
MKDIR := mkdir -p
RMDIR := rm -rf
RM := rm -f
# Win32 Build Rules
MODULE_LIBRARY_DIRECTORY = $(dir $(MODULE_LIBRARY_FILE))
MODULE_EXECUTABLE_DIRECTORY = $(dir $(MODULE_EXECUTABLE_FILE))
MODULE_OBJECTCODE_FILES_NO_ROOT = $(subst $(SDK_ROOT_DIRECTORY),,$(addsuffix $(OBJECTCODE_FILE_EXTENSION), $(basename $(MODULE_SOURCECODE_FILES))))
MODULE_OBJECTCODE_FILES = $(addprefix $(MODULE_OBJECTCODE_DIRECTORY), $(MODULE_OBJECTCODE_FILES_NO_ROOT))
MODULE_DEPEND_FILES_NO_ROOT = $(subst $(SDK_ROOT_DIRECTORY),,$(addsuffix $(DEPEND_FILE_EXTENSION), $(basename $(MODULE_SOURCECODE_FILES))))
MODULE_DEPEND_FILES = $(addprefix $(MODULE_OBJECTCODE_DIRECTORY), $(MODULE_DEPEND_FILES_NO_ROOT))
$(MODULE_LIBRARY_DIRECTORY) :
$(MKDIR) $(MODULE_LIBRARY_DIRECTORY)
$(MODULE_EXECUTABLE_DIRECTORY) :
$(MKDIR) $(MODULE_EXECUTABLE_DIRECTORY)
$(MODULE_OBJECTCODE_DIRECTORY) :
$(MKDIR) $(MODULE_OBJECTCODE_DIRECTORY)
$(MODULE_OBJECTCODE_DIRECTORY)/%$(OBJECTCODE_FILE_EXTENSION) : $(SDK_ROOT_DIRECTORY)/%.c
$(MKDIR) $(dir $@)
@$(COMPILER) $(COMPILER_FLAGS) $(MODULE_FLAGS) $(MODULE_INCLUDE_DIRECTORIES) $< /Fo$@
$(MODULE_OBJECTCODE_DIRECTORY)/%$(OBJECTCODE_FILE_EXTENSION) : $(SDK_ROOT_DIRECTORY)/%.cpp
$(MKDIR) $(dir $@)
@$(COMPILER) $(COMPILER_FLAGS) $(MODULE_FLAGS) $(MODULE_INCLUDE_DIRECTORIES) $< /Fo$@
$(MODULE_LIBRARY_FILE): $(MODULE_LIBRARY_DIRECTORY) $(MODULE_OBJECTCODE_DIRECTORY) $(MODULE_OBJECTCODE_FILES)
@echo " $(notdir $@)"
@$(LIBRARIAN) $(LIBRARIAN_FLAGS) $(MODULE_OBJECTCODE_FILES) /out:$@
$(MODULE_EXECUTABLE_FILE) : $(MODULE_EXECUTABLE_DIRECTORY) $(MODULE_OBJECTCODE_DIRECTORY) $(MODULE_OBJECTCODE_FILES)
@echo " $(notdir $@)"
@$(LINKER) $(LINKER_FLAGS) $(MODULE_OBJECTCODE_FILES) $(MODULE_LIBRARIES) /out:$(MODULE_EXECUTABLE_FILE)
module-clean :
$(RM) $(MODULE_OBJECTCODE_FILES)
$(RM) $(MODULE_DEPEND_FILES)
$(RM) $(MODULE_LIBRARY_FILE)
$(RM) $(MODULE_EXECUTABLE_FILE)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -