Ignore:
Timestamp:
May 8, 2017, 7:03:48 PM (8 years ago)
Author:
bird
Message:

tools: Created VCC120 from VCC100, only difference is the -FS flag for precompiled header related operations.

File:
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/kBuild/tools/VCC120.kmk

    r3024 r3033  
    11# $Id$
    22## @file
    3 # kBuild Tool Config - Visual C++ 10.0 (aka Visual 2010 and MSC v16), targeting $(KBUILD_TARGET).
    4 #
    5 
    6 #
    7 # Copyright (c) 2004-2014 knut st. osmundsen <bird-kBuild-spam-xiv@anduin.net>
     3# kBuild Tool Config - Visual C++ 12.0 (aka Visual 2013 and MSC v18), targeting $(KBUILD_TARGET).
     4#
     5
     6#
     7# Copyright (c) 2004-2017 knut st. osmundsen <bird-kBuild-spam-xiv@anduin.net>
    88#
    99# This file is part of kBuild.
     
    3232#
    3333
    34 TOOL_VCC100 := Visual C++ 10.0 (aka Visual 2010 and MSC v16), targeting $(KBUILD_TARGET).
     34TOOL_VCC120 := Visual C++ 12.0 (aka Visual 2013 and MSC v18), targeting $(KBUILD_TARGET).
    3535
    3636# Tool Specific Properties
    37 ifndef PATH_TOOL_VCC100
    38  PATH_TOOL_VCC100 := $(wildcard $(KBUILD_DEVTOOLS_TRG)/vcc/v10*)
    39  ifeq ($(PATH_TOOL_VCC100),)
    40   PATH_TOOL_VCC100 := $(wildcard $(KBUILD_DEVTOOLS)/win.x86/vcc/v10*)
     37ifndef PATH_TOOL_VCC120
     38 PATH_TOOL_VCC120 := $(wildcard $(KBUILD_DEVTOOLS_TRG)/vcc/v12*)
     39 ifeq ($(PATH_TOOL_VCC120),)
     40  PATH_TOOL_VCC120 := $(wildcard $(KBUILD_DEVTOOLS)/win.x86/vcc/v12*)
    4141 endif
    42  ifeq ($(PATH_TOOL_VCC100),)
    43   PATH_TOOL_VCC100 := $(wildcard $(KBUILD_DEVTOOLS)/x86.win32/vcc/v10*)
     42 ifeq ($(PATH_TOOL_VCC120),)
     43  PATH_TOOL_VCC120 := $(wildcard $(KBUILD_DEVTOOLS)/x86.win32/vcc/v12*)
    4444 endif
    45  ifeq ($(PATH_TOOL_VCC100),)
    46   PATH_TOOL_VCC100 := $(wildcard $(KBUILD_DEVTOOLS)/win.amd64/vcc/v10*)
     45 ifeq ($(PATH_TOOL_VCC120),)
     46  PATH_TOOL_VCC120 := $(wildcard $(KBUILD_DEVTOOLS)/win.amd64/vcc/v12*)
    4747 endif
    48  ifeq ($(PATH_TOOL_VCC100),)
    49   PATH_TOOL_VCC100 := $(lastword $(sort $(PATH_TOOL_VCC100)))
     48 ifeq ($(PATH_TOOL_VCC120),)
     49  PATH_TOOL_VCC120 := $(lastword $(sort $(PATH_TOOL_VCC120)))
    5050 endif
    5151 # if not found, we'll enter 'pathless' mode.
    5252else
    5353 # Resolve any fancy stuff once and for all.
    54  PATH_TOOL_VCC100 := $(PATH_TOOL_VCC100)
     54 PATH_TOOL_VCC120 := $(PATH_TOOL_VCC120)
    5555endif
    56 ifneq ($(PATH_TOOL_VCC100),)
     56ifneq ($(PATH_TOOL_VCC120),)
    5757 ifeq ($(KBUILD_HOST).$(KBUILD_HOST_ARCH),win.amd64)
    58  PATH_TOOL_VCC100_BIN.amd64 ?= $(PATH_TOOL_VCC100)/bin/amd64
     58 PATH_TOOL_VCC120_BIN.amd64 ?= $(PATH_TOOL_VCC120)/bin/amd64
    5959 else
    60  PATH_TOOL_VCC100_BIN.amd64 ?= $(PATH_TOOL_VCC100)/bin/x86_amd64
     60 PATH_TOOL_VCC120_BIN.amd64 ?= $(PATH_TOOL_VCC120)/bin/x86_amd64
    6161 endif
    62  PATH_TOOL_VCC100_BIN.x86   ?= $(PATH_TOOL_VCC100)/bin
    63  PATH_TOOL_VCC100_BIN       ?= $(PATH_TOOL_VCC100_BIN.$(KBUILD_TARGET_ARCH))
    64  PATH_TOOL_VCC100_LIB.amd64 ?= $(PATH_TOOL_VCC100)/lib/amd64
    65  PATH_TOOL_VCC100_LIB.x86   ?= $(PATH_TOOL_VCC100)/lib
    66  PATH_TOOL_VCC100_LIB       ?= $(PATH_TOOL_VCC100_LIB.$(KBUILD_TARGET_ARCH))
    67  PATH_TOOL_VCC100_INC       ?= $(PATH_TOOL_VCC100)/include
    68  PATH_TOOL_VCC100_ATLMFC    ?= $(PATH_TOOL_VCC100X86)/atlmfc
    69  PATH_TOOL_VCC100_ATLMFC_INC       ?= $(PATH_TOOL_VCC100_ATLMFC)/include
    70  PATH_TOOL_VCC100_ATLMFC_LIB.amd64 ?= $(PATH_TOOL_VCC100_ATLMFC)/lib
    71  PATH_TOOL_VCC100_ATLMFC_LIB.x86   ?= $(PATH_TOOL_VCC100_ATLMFC)/lib/amd64
    72  PATH_TOOL_VCC100_ATLMFC_LIB       ?= $(PATH_TOOL_VCC100_ATLMFC_LIB.$(KBUILD_TARGET_ARCH))
    73  TOOL_VCC100_CC  ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100_BIN)/cl.exe
    74  TOOL_VCC100_CXX ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100_BIN)/cl.exe
    75  TOOL_VCC100_AS  ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100_BIN)/ml64.exe
    76  TOOL_VCC100_AR  ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100_BIN)/lib.exe
    77  TOOL_VCC100_LD  ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100_BIN)/link.exe
    78  TOOL_VCC100_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100_BIN)/dumpbin.exe
    79  TOOL_VCC100_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100_BIN)/editbin.exe
     62 PATH_TOOL_VCC120_BIN.x86   ?= $(PATH_TOOL_VCC120)/bin
     63 PATH_TOOL_VCC120_BIN       ?= $(PATH_TOOL_VCC120_BIN.$(KBUILD_TARGET_ARCH))
     64 PATH_TOOL_VCC120_LIB.amd64 ?= $(PATH_TOOL_VCC120)/lib/amd64
     65 PATH_TOOL_VCC120_LIB.x86   ?= $(PATH_TOOL_VCC120)/lib
     66 PATH_TOOL_VCC120_LIB       ?= $(PATH_TOOL_VCC120_LIB.$(KBUILD_TARGET_ARCH))
     67 PATH_TOOL_VCC120_INC       ?= $(PATH_TOOL_VCC120)/include
     68 PATH_TOOL_VCC120_ATLMFC    ?= $(PATH_TOOL_VCC120X86)/atlmfc
     69 PATH_TOOL_VCC120_ATLMFC_INC       ?= $(PATH_TOOL_VCC120_ATLMFC)/include
     70 PATH_TOOL_VCC120_ATLMFC_LIB.amd64 ?= $(PATH_TOOL_VCC120_ATLMFC)/lib
     71 PATH_TOOL_VCC120_ATLMFC_LIB.x86   ?= $(PATH_TOOL_VCC120_ATLMFC)/lib/amd64
     72 PATH_TOOL_VCC120_ATLMFC_LIB       ?= $(PATH_TOOL_VCC120_ATLMFC_LIB.$(KBUILD_TARGET_ARCH))
     73 TOOL_VCC120_CC  ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC120_BIN)/cl.exe
     74 TOOL_VCC120_CXX ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC120_BIN)/cl.exe
     75 TOOL_VCC120_AS  ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC120_BIN)/ml64.exe
     76 TOOL_VCC120_AR  ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC120_BIN)/lib.exe
     77 TOOL_VCC120_LD  ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC120_BIN)/link.exe
     78 TOOL_VCC120_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC120_BIN)/dumpbin.exe
     79 TOOL_VCC120_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC120_BIN)/editbin.exe
    8080else
    8181 # Pathless, relies on the environment.
    82  TOOL_VCC100_CC  ?= $(EXEC_X86_WIN32) cl.exe
    83  TOOL_VCC100_CXX ?= $(EXEC_X86_WIN32) cl.exe
    84  TOOL_VCC100_AS  ?= $(EXEC_X86_WIN32) ml64.exe
    85  TOOL_VCC100_AR  ?= $(EXEC_X86_WIN32) lib.exe
    86  TOOL_VCC100_LD  ?= $(EXEC_X86_WIN32) link.exe
    87  TOOL_VCC100_DUMPBIN ?= $(EXEC_X86_WIN32) dumpbin.exe
    88  TOOL_VCC100_EDITBIN ?= $(EXEC_X86_WIN32) editbin.exe
     82 TOOL_VCC120_CC  ?= $(EXEC_X86_WIN32) cl.exe
     83 TOOL_VCC120_CXX ?= $(EXEC_X86_WIN32) cl.exe
     84 TOOL_VCC120_AS  ?= $(EXEC_X86_WIN32) ml64.exe
     85 TOOL_VCC120_AR  ?= $(EXEC_X86_WIN32) lib.exe
     86 TOOL_VCC120_LD  ?= $(EXEC_X86_WIN32) link.exe
     87 TOOL_VCC120_DUMPBIN ?= $(EXEC_X86_WIN32) dumpbin.exe
     88 TOOL_VCC120_EDITBIN ?= $(EXEC_X86_WIN32) editbin.exe
    8989endif
    90 TOOL_VCC100_RC   ?= $(EXEC_X86_WIN32) $(call TOOL_VCC100_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC100_RC_CACHED)
    91 TOOL_VCC100_MT   ?= $(EXEC_X86_WIN32) $(call TOOL_VCC100_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC100_MT_CACHED)
    92 
    93 # The following in duplicated in VCC100.kmk and VCC100X86.kmk.
    94 TOOL_VCC100_FN_FIND_SDK_TOOL_SUB = $(eval $3 := $(firstword  \
     90TOOL_VCC120_RC   ?= $(EXEC_X86_WIN32) $(call TOOL_VCC120_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC120_RC_CACHED)
     91TOOL_VCC120_MT   ?= $(EXEC_X86_WIN32) $(call TOOL_VCC120_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC120_MT_CACHED)
     92
     93# The following in duplicated in VCC120.kmk and VCC120X86.kmk.
     94TOOL_VCC120_FN_FIND_SDK_TOOL_SUB = $(eval $3 := $(firstword  \
    9595       $(if-expr defined(PATH_SDK_WINPSDK71_BIN), $(wildcard $(PATH_SDK_WINPSDK71_BIN)/$2)) \
    9696       $(if-expr defined(PATH_SDK_WINPSDK_BIN)  , $(wildcard $(PATH_SDK_WINPSDK_BIN)/$2)) \
     
    9898        $(rsort $(wildcard $(KBUILD_DEVTOOLS_HST_ALT)/sdk/*/[Bb][Ii][Nn]/$2)) \
    9999        $1))
    100 TOOL_VCC100_FN_FIND_SDK_TOOL = $(if-expr !defined($3),$(TOOL_VCC100_FN_FIND_SDK_TOOL_SUB),)$($3)
     100TOOL_VCC120_FN_FIND_SDK_TOOL = $(if-expr !defined($3),$(TOOL_VCC120_FN_FIND_SDK_TOOL_SUB),)$($3)
    101101
    102102## Disabled fast DEP_IDB based dependencies.
    103 #VCC100_OLD_DEPS = 1
     103#VCC120_OLD_DEPS = 1
    104104
    105105## Constructs the correct .pdb name (the name is lowercased).
    106106# @param    $(1)        Base name, no extention.
    107107# @param    $(2)        The extension.
    108 TOOL_VCC100_PDB = $(dir $(1))$(tolower $(notdir $(1))).$(2)
     108TOOL_VCC120_PDB = $(dir $(1))$(tolower $(notdir $(1))).$(2)
    109109
    110110
    111111# General Properties used by kBuild
    112 TOOL_VCC100_COBJSUFF         ?= .obj
    113 TOOL_VCC100_CFLAGS           ?= -TC -nologo -Zi
    114 TOOL_VCC100_CFLAGS.debug     ?=
    115 TOOL_VCC100_CFLAGS.dbgopt    ?= -O2
    116 TOOL_VCC100_CFLAGS.release   ?= -O2
    117 TOOL_VCC100_CFLAGS.profile   ?= -O2
    118 TOOL_VCC100_CINCS            ?= $(PATH_TOOL_VCC100_INC)
    119 TOOL_VCC100_CDEFS            ?=
    120 
    121 TOOL_VCC100_CXXOBJSUFF       ?= .obj
    122 TOOL_VCC100_CXXFLAGS         ?= -TP -nologo -Zi
    123 TOOL_VCC100_CXXFLAGS.debug   ?=
    124 TOOL_VCC100_CXXFLAGS.dbgopt  ?= -O2
    125 TOOL_VCC100_CXXFLAGS.release ?= -O2
    126 TOOL_VCC100_CXXFLAGS.profile ?= -O2
    127 TOOL_VCC100_CXXINCS          ?= $(PATH_TOOL_VCC100_INC) $(PATH_TOOL_VCC100_ATLMFC_INC)
    128 TOOL_VCC100_CXXDEFS          ?=
    129 
    130 TOOL_VCC100_ASOBJSUFF        ?= .obj
    131 
    132 TOOL_VCC100_RCOBJSUFF        ?= .res
    133 TOOL_VCC100_RCINCS           ?= $(PATH_TOOL_VCC100_INC) $(PATH_TOOL_VCC100_ATLMFC_INC)
    134 
    135 TOOL_VCC100_ARFLAGS.amd64    ?= -machine:amd64
    136 TOOL_VCC100_ARFLAGS.x86      ?= -machine:x86
    137 TOOL_VCC100_ARFLAGS          ?= -nologo
    138 TOOL_VCC100_ARLIBSUFF        ?= .lib
    139 
    140 TOOL_VCC100_LDFLAGS.amd64    ?= -machine:amd64
    141 TOOL_VCC100_LDFLAGS.x86      ?= -machine:x86
    142 TOOL_VCC100_LDFLAGS          ?= -nologo
    143 TOOL_VCC100_LDFLAGS.debug    ?= -debug
    144 TOOL_VCC100_LDFLAGS.dbgopt   ?= -debug
    145 TOOL_VCC100_LDFLAGS.profile  ?= -debug
    146 TOOL_VCC100_LDFLAGS.release  ?=
    147 TOOL_VCC100_LIBPATH.amd64    ?= $(PATH_TOOL_VCC100_LIB.amd64) $(PATH_TOOL_VCC100_ATLMFC_LIB.amd64)
    148 TOOL_VCC100_LIBPATH.x86      ?= $(PATH_TOOL_VCC100_LIB.x86) $(PATH_TOOL_VCC100_ATLMFC_LIB.x86)
     112TOOL_VCC120_COBJSUFF         ?= .obj
     113TOOL_VCC120_CFLAGS           ?= -TC -nologo -Zi
     114TOOL_VCC120_CFLAGS.debug     ?=
     115TOOL_VCC120_CFLAGS.dbgopt    ?= -O2
     116TOOL_VCC120_CFLAGS.release   ?= -O2
     117TOOL_VCC120_CFLAGS.profile   ?= -O2
     118TOOL_VCC120_CINCS            ?= $(PATH_TOOL_VCC120_INC)
     119TOOL_VCC120_CDEFS            ?=
     120
     121TOOL_VCC120_CXXOBJSUFF       ?= .obj
     122TOOL_VCC120_CXXFLAGS         ?= -TP -nologo -Zi
     123TOOL_VCC120_CXXFLAGS.debug   ?=
     124TOOL_VCC120_CXXFLAGS.dbgopt  ?= -O2
     125TOOL_VCC120_CXXFLAGS.release ?= -O2
     126TOOL_VCC120_CXXFLAGS.profile ?= -O2
     127TOOL_VCC120_CXXINCS          ?= $(PATH_TOOL_VCC120_INC) $(PATH_TOOL_VCC120_ATLMFC_INC)
     128TOOL_VCC120_CXXDEFS          ?=
     129
     130TOOL_VCC120_ASOBJSUFF        ?= .obj
     131
     132TOOL_VCC120_RCOBJSUFF        ?= .res
     133TOOL_VCC120_RCINCS           ?= $(PATH_TOOL_VCC120_INC) $(PATH_TOOL_VCC120_ATLMFC_INC)
     134
     135TOOL_VCC120_ARFLAGS.amd64    ?= -machine:amd64
     136TOOL_VCC120_ARFLAGS.x86      ?= -machine:x86
     137TOOL_VCC120_ARFLAGS          ?= -nologo
     138TOOL_VCC120_ARLIBSUFF        ?= .lib
     139
     140TOOL_VCC120_LDFLAGS.amd64    ?= -machine:amd64
     141TOOL_VCC120_LDFLAGS.x86      ?= -machine:x86
     142TOOL_VCC120_LDFLAGS          ?= -nologo
     143TOOL_VCC120_LDFLAGS.debug    ?= -debug
     144TOOL_VCC120_LDFLAGS.dbgopt   ?= -debug
     145TOOL_VCC120_LDFLAGS.profile  ?= -debug
     146TOOL_VCC120_LDFLAGS.release  ?=
     147TOOL_VCC120_LIBPATH.amd64    ?= $(PATH_TOOL_VCC120_LIB.amd64) $(PATH_TOOL_VCC120_ATLMFC_LIB.amd64)
     148TOOL_VCC120_LIBPATH.x86      ?= $(PATH_TOOL_VCC120_LIB.x86) $(PATH_TOOL_VCC120_ATLMFC_LIB.x86)
    149149
    150150
     
    163163# @param    $(outbase)  Output basename (full). Use this for list files and such.
    164164# @param    $(objsuff)  Object suffix.
    165 TOOL_VCC100_COMPILE_C_DEPEND =
    166 TOOL_VCC100_COMPILE_C_DEPORD =
    167 TOOL_VCC100_COMPILE_C_OUTPUT =
    168 TOOL_VCC100_COMPILE_C_OUTPUT_MAYBE = $(call TOOL_VCC100_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC100_PDB, $(outbase)-obj,idb)
    169 define TOOL_VCC100_COMPILE_C_CMDS
    170         $(QUIET)$(TOOL_VCC100_CC) -c\
     165TOOL_VCC120_COMPILE_C_DEPEND =
     166TOOL_VCC120_COMPILE_C_DEPORD =
     167TOOL_VCC120_COMPILE_C_OUTPUT =
     168TOOL_VCC120_COMPILE_C_OUTPUT_MAYBE = $(call TOOL_VCC120_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC120_PDB, $(outbase)-obj,idb)
     169define TOOL_VCC120_COMPILE_C_CMDS
     170        $(QUIET)$(TOOL_VCC120_CC) -c\
    171171                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    172172                -Fd$(outbase)-obj.pdb \
     
    190190# @param    $(outbase)  Output basename (full). Use this for list files and such.
    191191# @param    $(objsuff)  Object suffix.
    192 TOOL_VCC100_COMPILE_CXX_DEPEND = $($(target)_1_VCC_PCH_FILE)
    193 TOOL_VCC100_COMPILE_CXX_DEPORD =
    194 TOOL_VCC100_COMPILE_CXX_OUTPUT =
    195 TOOL_VCC100_COMPILE_CXX_OUTPUT_MAYBE = $(if-expr defined($(target)_1_VCC_COMMON_OBJ_PDB)\
    196         ,,$(call TOOL_VCC100_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC100_PDB, $(outbase)-obj,idb))
    197 define TOOL_VCC100_COMPILE_CXX_CMDS
    198         $(QUIET)$(TOOL_VCC100_CXX) -c\
     192TOOL_VCC120_COMPILE_CXX_DEPEND = $($(target)_1_VCC_PCH_FILE)
     193TOOL_VCC120_COMPILE_CXX_DEPORD =
     194TOOL_VCC120_COMPILE_CXX_OUTPUT =
     195TOOL_VCC120_COMPILE_CXX_OUTPUT_MAYBE = $(if-expr defined($(target)_1_VCC_COMMON_OBJ_PDB)\
     196        ,,$(call TOOL_VCC120_PDB, $(outbase)-obj,pdb) $(call TOOL_VCC120_PDB, $(outbase)-obj,idb))
     197define TOOL_VCC120_COMPILE_CXX_CMDS
     198        $(QUIET)$(TOOL_VCC120_CXX) -c\
    199199                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    200200                $(if-expr defined($(target)_PCH_HDR)\
    201                 ,-FI$($(target)_PCH_HDR) -Yu$($(target)_PCH_HDR) -Fp$($(target)_1_VCC_PCH_FILE),)\
     201                ,-FI$($(target)_PCH_HDR) -Yu$($(target)_PCH_HDR) -Fp$($(target)_1_VCC_PCH_FILE) -FS,)\
    202202                -Fd$(if-expr defined($(target)_1_VCC_COMMON_OBJ_PDB),$($(target)_1_VCC_COMMON_OBJ_PDB),$(outbase)-obj.pdb) \
    203203                -Fo$(obj)\
     
    213213# related _1_VCC_PCH_FILE and add -Yc.
    214214#
    215 TOOL_VCC100-PCH                         := Helper for creating precompiled header using CXX handling.
    216 TOOL_VCC100-PCH_EXTENDS                 := VCC100
    217 TOOL_VCC100-PCH_CXXOBJSUFF              := .obj
    218 TOOL_VCC100-PCH_CXXINCS                  = $(TOOL_VCC100_CXXINCS)
    219 TOOL_VCC100-PCH_CXXFLAGS.debug           = $(TOOL_VCC100_CXXFLAGS.debug)
    220 TOOL_VCC100-PCH_CXXFLAGS.dbgopt          = $(TOOL_VCC100_CXXFLAGS.dbgopt)
    221 TOOL_VCC100-PCH_CXXFLAGS.release         = $(TOOL_VCC100_CXXFLAGS.release)
    222 TOOL_VCC100-PCH_CXXFLAGS.profile         = $(TOOL_VCC100_CXXFLAGS.profile)
    223 TOOL_VCC100-PCH_COMPILE_CXX_DEPEND       = $(NO_SUCH_VARIABLE)
    224 TOOL_VCC100-PCH_COMPILE_CXX_DEPORD       = $(NO_SUCH_VARIABLE)
    225 TOOL_VCC100-PCH_COMPILE_CXX_OUTPUT       = $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
    226 TOOL_VCC100-PCH_COMPILE_CXX_OUTPUT_MAYBE = $(NO_SUCH_VARIABLE)
    227 ifdef TOOL_VCC100_KSUBMIT
    228  define TOOL_VCC100-PCH_COMPILE_CXX_CMDS
    229         $(QUIET)$(TOOL_VCC100_KSUBMIT) --no-pch-caching -P $(DEP_OBJ_INT) -f -s -q -e .pch -o $(dep) -t $(obj) $(obj)\
    230                 -- $(TOOL_VCC100_CXX) -c -Yc\
     215TOOL_VCC120-PCH                         := Helper for creating precompiled header using CXX handling.
     216TOOL_VCC120-PCH_EXTENDS                 := VCC120
     217TOOL_VCC120-PCH_CXXOBJSUFF              := .obj
     218TOOL_VCC120-PCH_CXXINCS                  = $(TOOL_VCC120_CXXINCS)
     219TOOL_VCC120-PCH_CXXFLAGS                 = $(TOOL_VCC120_CXXFLAGS) -FS
     220TOOL_VCC120-PCH_CXXFLAGS.debug           = $(TOOL_VCC120_CXXFLAGS.debug)
     221TOOL_VCC120-PCH_CXXFLAGS.dbgopt          = $(TOOL_VCC120_CXXFLAGS.dbgopt)
     222TOOL_VCC120-PCH_CXXFLAGS.release         = $(TOOL_VCC120_CXXFLAGS.release)
     223TOOL_VCC120-PCH_CXXFLAGS.profile         = $(TOOL_VCC120_CXXFLAGS.profile)
     224TOOL_VCC120-PCH_COMPILE_CXX_DEPEND       = $(NO_SUCH_VARIABLE)
     225TOOL_VCC120-PCH_COMPILE_CXX_DEPORD       = $(NO_SUCH_VARIABLE)
     226TOOL_VCC120-PCH_COMPILE_CXX_OUTPUT       = $($(target)_1_VCC_PCH_FILE) $($(target)_1_VCC_COMMON_OBJ_PDB)
     227TOOL_VCC120-PCH_COMPILE_CXX_OUTPUT_MAYBE = $(NO_SUCH_VARIABLE)
     228ifdef TOOL_VCC120_KSUBMIT
     229 define TOOL_VCC120-PCH_COMPILE_CXX_CMDS
     230        $(QUIET)$(TOOL_VCC120_KSUBMIT) --no-pch-caching -P $(DEP_OBJ_INT) -f -s -q -e .pch -o $(dep) -t $(obj) $(obj)\
     231                -- $(TOOL_VCC120_CXX) -c -Yc\
    231232                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    232233               -Fp$($(target)_1_VCC_PCH_FILE) \
     
    237238 endef
    238239else
    239  define TOOL_VCC100-PCH_COMPILE_CXX_CMDS
    240         $(QUIET)$(TOOL_VCC100_CXX) -c -Yc\
     240 define TOOL_VCC120-PCH_COMPILE_CXX_CMDS
     241        $(QUIET)$(TOOL_VCC120_CXX) -c -Yc\
    241242                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    242243               -Fp$($(target)_1_VCC_PCH_FILE) \
     
    248249
    249250 endef
    250 endif # !TOOL_VCC100_KSUBMIT
     251endif # !TOOL_VCC120_KSUBMIT
    251252
    252253
     
    266267# @param    $(outbase)  Output basename (full). Use this for list files and such.
    267268# @param    $(objsuff)  Object suffix.
    268 TOOL_VCC100_COMPILE_RC_OUTPUT =
    269 TOOL_VCC100_COMPILE_RC_DEPEND =
    270 TOOL_VCC100_COMPILE_RC_DEPORD =
    271 define TOOL_VCC100_COMPILE_RC_CMDS
    272         $(QUIET)$(TOOL_VCC100_RC) \
     269TOOL_VCC120_COMPILE_RC_OUTPUT =
     270TOOL_VCC120_COMPILE_RC_DEPEND =
     271TOOL_VCC120_COMPILE_RC_DEPORD =
     272define TOOL_VCC120_COMPILE_RC_CMDS
     273        $(QUIET)$(TOOL_VCC120_RC) \
    273274                $(flags) $(addprefix /i, $(subst /,\\,$(incs))) $(addprefix /d, $(defs))\
    274275                /fo$(obj)\
     
    287288# @param    $(outbase)  Output basename (full). Use this for list files and such.
    288289#
    289 TOOL_VCC100_LINK_LIBRARY_DEPEND = $(othersrc)
    290 TOOL_VCC100_LINK_LIBRARY_DEPORD =
    291 TOOL_VCC100_LINK_LIBRARY_OUTPUT = $(outbase).rsp
    292 TOOL_VCC100_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
    293 define TOOL_VCC100_LINK_LIBRARY_CMDS
     290TOOL_VCC120_LINK_LIBRARY_DEPEND = $(othersrc)
     291TOOL_VCC120_LINK_LIBRARY_DEPORD =
     292TOOL_VCC120_LINK_LIBRARY_OUTPUT = $(outbase).rsp
     293TOOL_VCC120_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
     294define TOOL_VCC120_LINK_LIBRARY_CMDS
    294295        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    295296                $(foreach arg,\
     
    298299                        $(addprefix /DEF:,$(filter %.def,$(othersrc))) \
    299300                        ,\"$(arg)\")
    300         $(QUIET)$(TOOL_VCC100_AR) $(flags) /OUT:$(out) @$(outbase).rsp
     301        $(QUIET)$(TOOL_VCC120_AR) $(flags) /OUT:$(out) @$(outbase).rsp
    301302endef
    302303
     
    316317# @param    $(outbase)      Output basename (full). Use this for list files and such.
    317318#
    318 TOOL_VCC100_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    319 TOOL_VCC100_LINK_PROGRAM_DEPORD =
    320 TOOL_VCC100_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp
    321 TOOL_VCC100_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
    322 TOOL_VCC100_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
    323 TOOL_VCC100_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    324 define TOOL_VCC100_LINK_PROGRAM_CMDS
     319TOOL_VCC120_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     320TOOL_VCC120_LINK_PROGRAM_DEPORD =
     321TOOL_VCC120_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp
     322TOOL_VCC120_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
     323TOOL_VCC120_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
     324TOOL_VCC120_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
     325define TOOL_VCC120_LINK_PROGRAM_CMDS
    325326        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    326327                $(foreach arg,\
     
    328329                    $(subst /,\\,$(libs)) \
    329330                        ,\"$(arg)\")
    330         $(QUIET)$(TOOL_VCC100_LD) $(flags) \
     331        $(QUIET)$(TOOL_VCC120_LD) $(flags) \
    331332                /OUT:$(out) \
    332333                /MAPINFO:EXPORTS /INCREMENTAL:NO \
     
    336337                $(foreach p,$(libpath), /LIBPATH:$(p)) \
    337338                @$(outbase).rsp
    338 ifndef TOOL_VCC100_NO_AUTO_MANIFEST
     339ifndef TOOL_VCC120_NO_AUTO_MANIFEST
    339340        $(QUIET)$(TEST) -f $(out).manifest -- \
    340                 $(TOOL_VCC100_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
     341                $(TOOL_VCC120_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
    341342endif
    342343endef
     
    357358#
    358359# @param    $(outbase)  Output basename (full). Use this for list files and such.
    359 TOOL_VCC100_LINK_DLL_DEPEND = $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    360 TOOL_VCC100_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
    361 TOOL_VCC100_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).rsp
    362 TOOL_VCC100_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
    363 TOOL_VCC100_LINK_DLL_OUTPUT_MAYBE_PRECIOUS = $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib
    364 TOOL_VCC100_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
    365 TOOL_VCC100_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    366 define TOOL_VCC100_LINK_DLL_CMDS
     360TOOL_VCC120_LINK_DLL_DEPEND = $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     361TOOL_VCC120_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
     362TOOL_VCC120_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).rsp
     363TOOL_VCC120_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
     364TOOL_VCC120_LINK_DLL_OUTPUT_MAYBE_PRECIOUS = $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib
     365TOOL_VCC120_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
     366TOOL_VCC120_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
     367define TOOL_VCC120_LINK_DLL_CMDS
    367368        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    368369                $(foreach arg,\
     
    370371                    $(subst /,\\,$(libs)) \
    371372                        ,\"$(arg)\")
    372         $(QUIET)$(TOOL_VCC100_LD) $(flags) \
     373        $(QUIET)$(TOOL_VCC120_LD) $(flags) \
    373374                /OUT:$(out) \
    374375                /IMPLIB:$(outbase).lib \
     
    380381                $(foreach p,$(libpath), /LIBPATH:$(p)) \
    381382                @$(outbase).rsp
    382 ifndef TOOL_VCC100_NO_AUTO_MANIFEST
     383ifndef TOOL_VCC120_NO_AUTO_MANIFEST
    383384        $(QUIET)$(TEST) -f $(out).manifest -- \
    384                 $(TOOL_VCC100_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
     385                $(TOOL_VCC120_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
    385386endif
    386387        $(QUIET)$(TEST) -f $(outbase).lib -- $(KLIBTWEAKER_EXT) --clear-timestamps $(outbase).lib
     
    404405#
    405406# @param    $(outbase)  Output basename (full). Use this for list files and such.
    406 TOOL_VCC100_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    407 TOOL_VCC100_LINK_SYSMOD_DEPORD =
    408 TOOL_VCC100_LINK_SYSMOD_OUTPUT = $(outbase).map $(outbase).rsp
    409 TOOL_VCC100_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
    410 TOOL_VCC100_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
    411 TOOL_VCC100_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    412 define TOOL_VCC100_LINK_SYSMOD_CMDS
     407TOOL_VCC120_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
     408TOOL_VCC120_LINK_SYSMOD_DEPORD =
     409TOOL_VCC120_LINK_SYSMOD_OUTPUT = $(outbase).map $(outbase).rsp
     410TOOL_VCC120_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
     411TOOL_VCC120_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
     412TOOL_VCC120_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
     413define TOOL_VCC120_LINK_SYSMOD_CMDS
    413414        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    414415                $(foreach arg,\
     
    416417                    $(subst /,\\,$(libs)) \
    417418                        ,\"$(arg)\")
    418         $(QUIET)$(TOOL_VCC100_LD) $(flags) \
     419        $(QUIET)$(TOOL_VCC120_LD) $(flags) \
    419420                /OUT:$(out) \
    420421                /MAPINFO:EXPORTS /INCREMENTAL:NO \
     
    424425                $(foreach p,$(libpath), /LIBPATH:$(p)) \
    425426                @$(outbase).rsp
    426 ifndef TOOL_VCC100_NO_AUTO_MANIFEST
     427ifndef TOOL_VCC120_NO_AUTO_MANIFEST
    427428        $(QUIET)$(TEST) -f $(out).manifest -- \
    428                 $(TOOL_VCC100_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
     429                $(TOOL_VCC120_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
    429430endif
    430431endef
Note: See TracChangeset for help on using the changeset viewer.