- DEFINITIONS += _Windows _WINDOWS WIN32 __WIN32__ __FLAT__ VC_EXTRALEAN WIN32_LEAN_AND_MEAN ATL_NO_LEAN_AND_MEAN
- DEF_FILE =
- LOAD_FLAG_PREFIX = -subsystem:windows -machine:X86 -nologo
- LOAD_FLAG_SUFFIX =
-
- MIDL = "$(COMPILER_ROOT_DIR)/../Common7/Tools/Bin"/midl.exe -Oicf $(MIDL_DEFS) $(HEADER_SEARCH_PATH:%=-I% ) $(DEFINITIONS:%=-D% )
- MIDL_DEFS = -no_robust
-
- # additional definitions that get put on the command line for makedep. these
- # are needed since visual c++ defines them automatically.
- DEPENDENCY_DEFINITIONS += __cplusplus _WIN32 _CHAR_UNSIGNED M_I86 _M_I86 _MSC_VER=1200 _M_IX86=500 __RPC_WIN32__ __RPCNDR_H_VERSION__ __RPCPROXY_H_VERSION__ TARGET_IS_NT40_OR_LATER PGM_SETCHILD _MFC_VER=0x0600
-
- # set the flags used by visual c++.
- CREATE_LIBRARY_FLAG = -out:
- LIBRARY_NAME_FLAG =
- LIBRARY_PATH_FLAG = -libpath:
- LINKER_OPTION_SEPARATOR = -link
- LINKER_OUTPUT_FLAG = -out:
- OBJECT_NAME_FLAG = -Fo
-
- # Add the extra files created by visual c++.
-#is this needed now that we whack whole output path? CLEANUPS += $(OUTPUT_PATH)/*.*db
-
- # compilation parameters for microsoft.
- # -c specifies compilation without linking.
- # -EHsc is the flag for turning on exception handling.
- # -FD is for getting the best dependency checking in visual studio.
- # -Fd[filename] names the program database (PDB) file used for debugging.
- # -Fp[filename] names the precompiled header file name.
- # -FR[filename] names the browser output path used for source analysis.
- # -Gd calling convention is cdecl.
- # -Gm enables minimal rebuild (only if source files changed).
- # Note! as of Visual Studio 6 SP 3, minimal rebuild does not work
- # properly. Do not use it unless you want inconsistent builds!
- # -GR enables run-time type identification (RTTI).
- # -GS enables buffer checking.
- # -GX turns on synchronous exception handling. (deprecated)
- # -Gz uses __stdcall calling convention.
- # -MD specifies multi-threaded DLL (MDd means debug).
- # -ML signifies uni-threaded executable (MLd means debug).
- # -MT indicates multi-threaded executable (MTd means debug)
- # -O is for optimization (1 small code, 2 fast code, d disabled).
- # do not use 1 or 2 though; they both include "global optimization",
- # which seems plagued with problems. the specific optimizations are:
- # -Oa assume no aliasing
- # -Obn inline function expansion, where n is 1 (enable) or 0 (disable)
- # -Od disable (for debug)
- # -Oi generate intrinsic functions
- # -Og global optimizations (flawed)
- # -Op improve float consistency
- # -Os favor small code
- # -Ot favor fast code
- # -Ow assume aliasing across function calls
- # -Ox full optimization
- # -Oy frame pointer optimization
- # -O1 has g s y b1 Gs Gf Gy
- # -O2 has g i t y b1 Gs Gf Gy
- # -TP C++ compilation.
- # -W sets the warning level (from 0 (least warnings) through 4 (loudest)).
- # -WX turns all warnings into errors.
- # -Yu[filename] uses a precompiled header file.
- # -YX turns on precompiled headers. not used due to poor implementation.
- # -Zi generates debugging information into the PDB file.
-
- # put the common flags into the compiler flags.
- COMPILER_FLAGS += -nologo -Fd$(PDB_DIR)/$(PROJECT)_bookkeeping.pdb -GR -W3 -Zi -EHsc -GS -Gd
-#-Wp64
-
- ifneq "$(DEBUG)" ""
- # disable function inlining and optimizations for debug.
- COMPILER_FLAGS += -Ob0 -Od
- else
- # enable function inlining for release only.
- COMPILER_FLAGS += -Ob1
-
- ifneq "$(OPTIMIZE)" ""
- # add in fast code optimization.
- COMPILER_FLAGS += -O2
- else
- # no optimizations.
- endif
-
- endif
-
- # linking parameters for microsoft.
- # -dll specifies that a dynamic library is to be created.
- # -debug specifies that debugging information is to be included.
- # -map turns on the map file.
- # -warn sets the warning level, from 0 to 3, where 3 is the most verbose.
- # kernel32.lib is the kernel support.
- # user32.lib is the user level support.
- # gdi32.lib is the graphical device interface? support.
- # winspool.lib contains printer support.
- # comdlg32.lib provides the common dialogs.
- # advapi32.lib provides deeper win32 features, like registry, services, etc.
- # shell32.lib is ?
- # ole32.lib supplies OLE support.
- # oleaut32.lib is the OLE automation library.
- # uuid.lib has unique id management?
- # odbc32.lib provides ODBC data source functionality.
- # odbccp32.lib is something?
- # winmm.lib has the win32 multimedia support.
- # version.lib offers up splendid version services.
-
- # check if profiling is to be enabled.
- PROFILER_FLAG =
- ifneq "$(PROFILE)" ""
- PROFILER_FLAG = -profile
- endif
-
- LIBS_USED += htmlhelp.lib
-
- # add the common linker flags. the debugging flag is added because we
- # want to be able to debug into release code, but since the pdb files
- # are separate, we are not exposing ourselves when we do not include them.
- LOAD_FLAG_PREFIX += $(PROFILER_FLAG) -debug -opt:ref -opt:icf
-#-warn:3
-
- # "USE_MFC" dictates whether mfc should be allowed in the application.
- # the default is not to use MFC extension style dlls. this can be turned
- # on in the individual makefiles that require MFC.
- #USE_MFC =
-
- # the library creator gets a couple of flags.
- LIBRARIAN_FLAGS += -nologo -machine:X86 -subsystem:windows
-
- # now, vary the flag configuration based on the flags that have been set.
-
-####override for windows since things are broken with WinMain
-###export CONSOLE_MODE = true
-
- ifneq "$(CONSOLE_MODE)" ""
- # console type of applications are built using the static flag so that
- # they are more redistributable.
- DEFINITIONS += _CONSOLE
- LOAD_FLAG_SUFFIX += -subsystem:console
- LIBRARIAN_FLAGS += -subsystem:console
- endif
-
- # dynamically linked library or application flags.
- ifneq "$(DEBUG)" ""
- # debug.
- DEFINITIONS += _DEBUG
- COMPILER_FLAGS += -MDd
- else
- # release.
- DEFINITIONS += NDEBUG
- COMPILER_FLAGS += -MD
- LOAD_FLAG_PREFIX += -map
- endif
-
- ifneq "$(STRICT_WARNINGS)" ""
- COMPILER_FLAGS += -WX
-#would like to add W4 but that triggers warnings in microsoft headers.
- endif
-
-endif
-
-############################################################################
-
-ifeq "$(COMPILER)" "GNU_DARWIN"
- # Darwin kernel GNU compiler...
- CC = g++
- COMPILER_ROOT_DIR = /
- PLATFORM_ADD_IN = darwin
- ARCHITECTURE = $(shell machine 2>/dev/null || arch 2>/dev/null || echo i686)
-# COMPILER_FLAGS += -fgnu-runtime
-
- export COMPILER_VERSION = $(shell $(SHELL) $(CLAM_SCRIPTS)/cpp/get_version.sh $(COMPILER) $(COMPILER_ROOT_DIR) )
-
- DEFINITIONS += _FILE_OFFSET_BITS=64
-
- DEPENDENCY_DEFINITIONS += NO_VERSION
- DEPENDENCY_ADDITIONS = -X/usr/include -X/usr/include/c++/$(COMPILER_VERSION) -X/usr/include/c++/$(COMPILER_VERSION)/tr1 -X/usr/local/include -X/usr/include/linux -X/usr/include/wx-2.8 -X/usr/lib/gcc/i586-suse-linux/$(COMPILER_VERSION)/include -X/usr/lib/gcc/i486-linux-gnu/$(COMPILER_VERSION)/include
-
- COMPILER_HEADER_DIR := /usr/local/include /usr/include /System/Library/Frameworks/Foundation.framework/Versions/C/Headers
-
- # "USE_XWIN" specifies that this project needs X window system support.
- #USE_XWIN =
-
-# ifeq "x86_64" "$(ARCHITECTURE)"
-# COMPILER_LIBRARY_DIR = /lib64 /usr/lib64 /usr/local/lib64
-# else
-
- COMPILER_LIBRARY_DIR = /usr/lib /usr/local/lib
-#/lib
-
-# endif
- DEFINITIONS += __LINUX__ linux __linux__ UNIX unix __UNIX__ __USE_GNU
- # X Window System not enabled by default.
- #DEFINITIONS += __XWINDOWS__
-
- LIBRARY_TOOL = ar
- LIB_PREFIX = lib
-# LOAD_FLAG_PREFIX += -Xlinker
-#mac has no o3???
-#-O3
-
-# -Xlinker --print-map : shows what went in and why.
-# -Xlinker -O3 : linker optimization
- CREATE_LIBRARY_FLAG += -r
- # space on end is significant.
- LINKER_OUTPUT_FLAG = -o
- LINK_TOOL = g++
-# COMPILER_FLAGS += -shared-libgcc -fPIC
-#old: -Wl,-export-dynamic
-# ifeq "$(DEBUG)" ""
-# COMPILER_FLAGS += -finline-functions
-# endif
-# ifneq "$(STRICT_WARNINGS)" ""
-# COMPILER_FLAGS += -Wall -Werror -Wextra -pedantic-errors -Wno-long-long
-# endif
-# LIBS_USED += dl pthread rt
-#mac no like these libs
- # dl=dynamic library.
- # pthread=thread libraries.
- # rt=real time libraries for shared memory.
-
- ifneq "$(DEBUG)" ""
- # add in debugging flags.
-# COMPILER_FLAGS += -g3 -O0
- endif