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

📄 make.defs

📁 openvxi3.4是一个voicexml对话脚本语言的解释器源码.可用VC6.0编译.
💻 DEFS
字号:
# PRODUCT_DOC
#
# Copyright 2004 Vocalocity, Inc. All Rights Reserved.
#
# Make definitions common to all NT make files
#
# Used by: all NT make files
#
#
#----------------
#
# Platform macros
#
# NOTE: By default nmake sets a variable called $(OS) to indicate the
# exact Windows variant. This SWI build system overrides $(OS) to
# simply indicate "win32", and in some rare cases this messes up our
# ability to invoke third party makefiles or Microsoft Visual Studio
# Project Files to delegate builds. Thus we use $(SWIOS) within this
# build system, set $(OS) only for external use in actual Makefiles,
# and allow users to set SUPRESS_OS_SET to suppress this variable
# override in those rare cases.
#
#----------------
!ifndef PROCESSOR_ARCHITECTURE
!error I think you're not using NT. NT defines a PROCESSOR_ARCHITECTURE env. var.
!elseif "$(PROCESSOR_ARCHITECTURE)" != "x86"
!error This is not an Intel architecture machine. This makefile expects Intel.
!else
SWISBSDK = $(SWISBSDK:/=\)   # make the env. var friendly to dos commands
CPU=i386
SWIOS=win32
PLATFORM=$(CPU)-$(SWIOS)
!ifndef SUPRESS_OS_SET
OS=$(SWIOS)
!endif
!endif

#====================================================================
# Tools
#====================================================================
BISON = bison -d
CC = cl
MTL = midl.exe
FLEX = flex
LIBRARIAN = lib
LNK = link
YACC = yacc
DOCXX = docxx
DOCIFY = docify
PERL = perl

#====================================================================
# Directories
#====================================================================
BUILD_ROOT = build
BUILD_ROOT_PLT = $(BUILD_ROOT)\$(PLATFORM)
BUILDDIR = $(BUILD_ROOT_PLT)\$(CFG)
PLATFORMDIR = $(PROJ_ROOT)\$(PLATFORM)
MAKEDIRLIST = $(BUILD_ROOT) $(BUILD_ROOT_PLT) $(BUILDDIR) $(BUILDSUBDIRS)

#====================================================================
# Files
#====================================================================
!ifndef MAKEFILE
MAKEFILE = Makefile.NT
!endif

#====================================================================
# Librarian flags
#====================================================================
# nologo         suppresses the title and copyright banner
# machine:IX86   tells the librarian this is for intel machines
# out:           specifies the output file
LIBRARIAN_FLAGS = \
        -nologo \
        -machine:IX86 \
        -OUT:$@

#====================================================================
# Browse info-maker flags
#====================================================================
BROWSE_FLAGS = -nologo -n -o $@

#====================================================================
# C/C++ compiler flags
#====================================================================
# nologo     suppresses the title and copyright banner
# c          only compile - don't link
# W3         use warning level 3
# YX         use precompiled headers
# Fp<file>   use <file> for precompiled header data file name
# Fo<file>   output file name is <file>
# Zi         store debug info in a program database file
# Fd<file>   use <file> for program database file name
CFLAGS_GENERAL = \
        -nologo -c \
!if defined(STRICT)
	      -W4 \
!else
	      -W3 \
!endif
        -DWIN32 \
        -D_$(CPU)_ \
        -D_$(SWIOS)_ \
        -D__THREADED \
        -YX -Fp$(TARGET).pch \
        -Fo$@ \
!if defined(BROWSE)
	      -Fr$*.sbr \
!endif
# First get include directories, then other headers from this project
# and only then include SWISBSDK files.
        -I$(PROJ_ROOT)\$(PLATFORM)\include \
        -I$(PROJ_ROOT)\include \
        $(PROJ_CFLAGS) \
	      -I"$(SWISBSDK)\include"

# /Od  disable optimizations
# /MDd use the multi-threaded, DLL, debug version of the run-time library
CFLAGS_DEBUG = -D_DEBUG -Od -MDd -Zi -Fd$(TARGET).pdb

# /O2  optimize for speed
# /G6  generate code for Pentium Pro
# /MD  use the multi-threaded, DLL version of the run-time library
CFLAGS_RELEASE = -DNDEBUG -O2 -G6 -MD

#====================================================================
# Linker flags
#====================================================================
# nologo           suppresses the title and copyright banner
# machine:IX86     tells the librarian this is for intel machines
# incremental:no   turns off incremental linking
# map              generates a map file
# out:             specifies the output file
# debug            tells the linker this is a debug build
# pdb:<file>       use <file> for the program database
# release          generates a checksum in the image header

LNKFLAGS = \
        -nologo -machine:I386 -incremental:no -fixed:no -MAP \
        kernel32.lib user32.lib advapi32.lib \
        -out:$@ \
!if "$(CFG)" == "debug"
        -debug -pdb:$*.pdb \
!endif
        -release \
	      -libpath:"$(SWISBSDK)\lib" \
!if defined(PROFILE)
	      -profile \
!endif
!if defined(PURIFY)
# Suppress Purify warning messages when using the tool
	      -fixed:no \
!endif
!if defined(ALTMON)
# For use internally by Vocalocity crash information
	      $(PRODUCT_LIB_PREFIX)mon$(CFG_SUFFIX).lib -INCLUDE:_ALTmonAttach@0 \
!endif
!if "$(TARGET_LIBS)" == ""
        $(PROJ_LIBS) \
!else
        $(TARGET_LIBS) \
!endif
	      $(MYLFLAGS)

#====================================================================
# Resource compiler flags
#====================================================================
# l <lang-id>   use the language specified by <lang-id>
# Fo<file>      use <file> for output file name
RFLAGS = $(PROJ_RFLAGS) -I"$(SWISBSDK)\include" -l 0x409 -Fo$@

#====================================================================
# IDL compiler flags
#====================================================================
# /Oicf         generate stubless proxies
MTLFLAGS = $(PROJ_MTLFLAGS) /Oicf

#====================================================================
# Message compiler flags
#====================================================================
# b             prefix the .bin file name with the source file name
# h             set the directory for the generated header
# r             set the directory for the generated .bin and .rc files
MFLAGS = -b -h $(BUILDDIR) -r $(BUILDDIR)

#====================================================================
# Set up macros for different config's
#====================================================================
!if "$(CFG)" == ""
CFG=debug
!message CFG not defined. Defaulting to debug.
!endif

!if "$(CFG)" == "debug"
CFG_SUFFIX = D
CFLAGS_CFG = $(CFLAGS_DEBUG)
!elseif "$(CFG)" == "release"
CFG_SUFFIX =
CFLAGS_CFG = $(CFLAGS_RELEASE)
!else
!error variable CFG = $(CFG) is not a legal config type.
!endif

#====================================================================
# STL library flags
#====================================================================

# The SWI standard Standard C++ Library (a.k.a. STL) is STLport,
# which implements the ISO C++ standard, as does the GNU GCC 3.x
# compilers we use on Unix. The STL that comes with Microsoft Visual
# C++ is a very old version of Dinkumware that does not implement that
# standard, and has significant known defects. By default, STLport library
# gets used by detecting if STLPORTDIR gets set. If STLPORTDIR isn't either set
# or found then MSVC library gets used. You can also select Microsoft Visual C++ 
# by defining MSVC_STL=1, and you can opt for no STL by defining NO_STL=1 
# (really gives you Microsoft Visual C++ STL since there's no way to disable
# that, but adds a NO_STL define to request your code to use non-STL
# based implementations when available).
#
# Detecting STLport libraries
!ifdef STLPORTDIR
STL_INCLUDE_PATH = "$(STLPORTDIR)\stlport"
STL_LIBRARY_CFLAGS = -I$(STL_INCLUDE_PATH) -DSTL_PORT

!if "$(CFG)" == "debug"

!if exist ("$(STLPORTDIR)\lib\stlport_vc6_stldebug.lib")
STL_LIBRARY_LIBS = "$(STLPORTDIR)\lib\stlport_vc6_stldebug.lib"
CFLAGS_DEBUG = $(CFLAGS_DEBUG) -D_STLP_DEBUG -D_STLP_USE_DEBUG_LIB -D_STLP_USE_EXCEPTIONS
!else
!error "Unable to find 'stlport_vc6_stldebug.lib' library file."
!endif

!elseif "$(CFG)" == "release"

!if exist ("$(STLPORTDIR)\lib\stlport_vc6.lib")
STL_LIBRARY_LIBS = "$(STLPORTDIR)\lib\stlport_vc6.lib"
!else
!error "Unable to find 'stlport_vc6.lib' library file."
!endif

!endif

!else
MSVC_STL = 1
!endif

!ifdef NO_STL
STL_INCLUDE_PATH =
STL_LIBRARY_PATH =
STL_LIBRARY_CFLAGS = -DNO_STL
!else
!ifdef MSVC_STL
STL_LIBRARY_CFLAGS = -DSWI_MSVC_STL
!endif
!endif

#====================================================================
# Set up macros for different target type's
#====================================================================
# dll                tells the linker to generate a DLL
# implib:<file>      generates an import library named <file>
# def:<file>         uses the module definition file specified by <file>
LNKFLAGS_DLL = \
        -dll \
        -implib:$*.lib \
!if "$(NO_DEF_FILES)" == ""
        -def:$(TARGET_DEF) \
!endif
	      $(STL_LIBRARY_LIBS)

# /subsystem:console      runs under the console subsystem (obsolete?)
LNKFLAGS_CONSOLE = -subsystem:console $(STL_LIBRARY_LIBS)
LIBRARIANFLAGS_LIB =

#====================================================================
# Set final values for these macros
#====================================================================
# we define __STDC__ here as a kludge. We'd like to enforce ANSI code (the
# /Za option) which would implicitly define __STDC__ but this creates all sorts
# of errors/warnings in Microsoft's own windows.h header file.
CFLAGS = -D__STDC__=1 $(CFLAGS_CFG) $(CFLAGS_GENERAL) $(MYCFLAGS)

# GX    enables C++ exception handling
# TP    forces the source file to be compiled as C++
CPPFLAGS = -GX -TP $(CFLAGS_CFG) $(CFLAGS_GENERAL) $(STL_LIBRARY_CFLAGS) \
	          $(MYCFLAGS)

⌨️ 快捷键说明

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