Changeset 2408 for trunk/kBuild
- Timestamp:
- Jun 16, 2010, 4:13:27 AM (15 years ago)
- Location:
- trunk/kBuild/tools
- Files:
-
- 3 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/kBuild/tools/VCC100.kmk
r2405 r2408 1 1 # $Id$ 2 2 ## @file 3 # kBuild Tool Config - Visual C++ 8.0 (aka Visual .NET 2005, or MSC v14), targeting $(KBUILD_TARGET).4 # 5 6 # 7 # Copyright (c) 2004-20 09knut st. osmundsen <bird-kBuild-spamix@anduin.net>3 # kBuild Tool Config - Visual C++ 10.0 (aka Visual 2010 and MSC v16), targeting $(KBUILD_TARGET). 4 # 5 6 # 7 # Copyright (c) 2004-2010 knut st. osmundsen <bird-kBuild-spamix@anduin.net> 8 8 # 9 9 # This file is part of kBuild. … … 32 32 # 33 33 34 TOOL_VCC 80 := Visual C++ 8.0 (aka Visual .NET 2005, or MSC v14), targeting $(KBUILD_TARGET).34 TOOL_VCC100 := Visual C++ 10.0 (aka Visual 2010 and MSC v16), targeting $(KBUILD_TARGET). 35 35 36 36 # Tool Specific Properties 37 ifndef PATH_TOOL_VCC 8038 PATH_TOOL_VCC 80 := $(wildcard $(PATH_DEVTOOLS_TRG)/vcc/v8*)39 ifeq ($(PATH_TOOL_VCC 80),)40 PATH_TOOL_VCC 80 := $(wildcard $(PATH_DEVTOOLS)/win.x86/vcc/v8*)41 endif 42 ifeq ($(PATH_TOOL_VCC 80),)43 PATH_TOOL_VCC 80 := $(wildcard $(PATH_DEVTOOLS)/x86.win32/vcc/v8*)44 endif 45 ifeq ($(PATH_TOOL_VCC 80),)46 PATH_TOOL_VCC 80 := $(wildcard $(PATH_DEVTOOLS)/win.amd64/vcc/v8*)47 endif 48 ifeq ($(PATH_TOOL_VCC 80),)49 PATH_TOOL_VCC 80 := $(lastword $(sort $(PATH_TOOL_VCC80)))37 ifndef PATH_TOOL_VCC100 38 PATH_TOOL_VCC100 := $(wildcard $(PATH_DEVTOOLS_TRG)/vcc/v10*) 39 ifeq ($(PATH_TOOL_VCC100),) 40 PATH_TOOL_VCC100 := $(wildcard $(PATH_DEVTOOLS)/win.x86/vcc/v10*) 41 endif 42 ifeq ($(PATH_TOOL_VCC100),) 43 PATH_TOOL_VCC100 := $(wildcard $(PATH_DEVTOOLS)/x86.win32/vcc/v10*) 44 endif 45 ifeq ($(PATH_TOOL_VCC100),) 46 PATH_TOOL_VCC100 := $(wildcard $(PATH_DEVTOOLS)/win.amd64/vcc/v10*) 47 endif 48 ifeq ($(PATH_TOOL_VCC100),) 49 PATH_TOOL_VCC100 := $(lastword $(sort $(PATH_TOOL_VCC100))) 50 50 endif 51 51 # if not found, we'll enter 'pathless' mode. 52 52 else 53 53 # Resolve any fancy stuff once and for all. 54 PATH_TOOL_VCC 80 := $(PATH_TOOL_VCC80)54 PATH_TOOL_VCC100 := $(PATH_TOOL_VCC100) 55 55 endif 56 ifneq ($(PATH_TOOL_VCC 80),)56 ifneq ($(PATH_TOOL_VCC100),) 57 57 ifeq ($(KBUILD_HOST).$(KBUILD_HOST_ARCH),win.amd64) 58 PATH_TOOL_VCC 80_BIN.amd64 ?= $(PATH_TOOL_VCC80)/bin/amd6458 PATH_TOOL_VCC100_BIN.amd64 ?= $(PATH_TOOL_VCC100)/bin/amd64 59 59 else 60 PATH_TOOL_VCC 80_BIN.amd64 ?= $(PATH_TOOL_VCC80)/bin/x86_amd6461 endif 62 PATH_TOOL_VCC 80_BIN.x86 ?= $(PATH_TOOL_VCC80)/bin63 PATH_TOOL_VCC 80_BIN ?= $(PATH_TOOL_VCC80_BIN.$(KBUILD_TARGET_ARCH))64 PATH_TOOL_VCC 80_LIB.amd64 ?= $(PATH_TOOL_VCC80)/lib/amd6465 PATH_TOOL_VCC 80_LIB.x86 ?= $(PATH_TOOL_VCC80)/lib66 PATH_TOOL_VCC 80_LIB ?= $(PATH_TOOL_VCC80_LIB.$(KBUILD_TARGET_ARCH))67 PATH_TOOL_VCC 80_INC ?= $(PATH_TOOL_VCC80)/include68 PATH_TOOL_VCC 80_ATLMFC ?= $(PATH_TOOL_VCC80X86)/atlmfc69 PATH_TOOL_VCC 80_ATLMFC_INC ?= $(PATH_TOOL_VCC80_ATLMFC)/include70 PATH_TOOL_VCC 80_ATLMFC_LIB.amd64 ?= $(PATH_TOOL_VCC80_ATLMFC)/lib71 PATH_TOOL_VCC 80_ATLMFC_LIB.x86 ?= $(PATH_TOOL_VCC80_ATLMFC)/lib/amd6472 PATH_TOOL_VCC 80_ATLMFC_LIB ?= $(PATH_TOOL_VCC80_ATLMFC_LIB.$(KBUILD_TARGET_ARCH))73 TOOL_VCC 80_CC ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80_BIN)/cl.exe74 TOOL_VCC 80_CXX ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80_BIN)/cl.exe75 TOOL_VCC 80_AS ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80_BIN)/ml64.exe76 TOOL_VCC 80_RC ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80_BIN.x86)/rc.exe77 TOOL_VCC 80_AR ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80_BIN)/lib.exe78 TOOL_VCC 80_LD ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80_BIN)/link.exe79 TOOL_VCC 80_MT ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80_BIN.x86)/mt.exe60 PATH_TOOL_VCC100_BIN.amd64 ?= $(PATH_TOOL_VCC100)/bin/x86_amd64 61 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_RC ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100_BIN.x86)/rc.exe 77 TOOL_VCC100_AR ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100_BIN)/lib.exe 78 TOOL_VCC100_LD ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100_BIN)/link.exe 79 TOOL_VCC100_MT ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100_BIN.x86)/mt.exe 80 80 else 81 81 # Pathless, relies on the environment. 82 TOOL_VCC 80_CC ?= $(EXEC_X86_WIN32) cl.exe83 TOOL_VCC 80_CXX ?= $(EXEC_X86_WIN32) cl.exe84 TOOL_VCC 80_AS ?= $(EXEC_X86_WIN32) ml64.exe85 TOOL_VCC 80_RC ?= $(EXEC_X86_WIN32) rc.exe86 TOOL_VCC 80_AR ?= $(EXEC_X86_WIN32) lib.exe87 TOOL_VCC 80_LD ?= $(EXEC_X86_WIN32) link.exe88 TOOL_VCC 80_MT ?= $(EXEC_X86_WIN32) mt.exe82 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_RC ?= $(EXEC_X86_WIN32) rc.exe 86 TOOL_VCC100_AR ?= $(EXEC_X86_WIN32) lib.exe 87 TOOL_VCC100_LD ?= $(EXEC_X86_WIN32) link.exe 88 TOOL_VCC100_MT ?= $(EXEC_X86_WIN32) mt.exe 89 89 endif 90 90 ## Disabled fast DEP_IDB based dependencies. 91 #VCC 80_OLD_DEPS = 191 #VCC100_OLD_DEPS = 1 92 92 93 93 ## Constructs the correct .pdb name (the name is lowercased). 94 94 # @param $(1) Base name, no extention. 95 95 # @param $(2) The extension. 96 TOOL_VCC 80_PDB = $(dir $(1))$(tolower $(notdir $(1))).$(2)97 98 TOOL_VCC 80_COBJSUFF ?= .obj99 TOOL_VCC 80_CFLAGS ?= -TC -c -nologo100 TOOL_VCC 80_CFLAGS.debug ?= -Od -Zi101 TOOL_VCC 80_CFLAGS.release ?= -O2102 TOOL_VCC 80_CFLAGS.profile ?= -O2103 TOOL_VCC 80_CINCS ?= $(PATH_TOOL_VCC80_INC)104 TOOL_VCC 80_CDEFS ?=105 106 TOOL_VCC 80_CXXOBJSUFF ?= .obj107 TOOL_VCC 80_CXXFLAGS ?= -TP -c -nologo108 TOOL_VCC 80_CXXFLAGS.debug ?= -Od -Zi109 TOOL_VCC 80_CXXFLAGS.release ?= -O2110 TOOL_VCC 80_CXXFLAGS.profile ?= -O2111 TOOL_VCC 80_CXXINCS ?= $(PATH_TOOL_VCC80_INC) $(PATH_TOOL_VCC80_ATLMFC_INC)112 TOOL_VCC 80_CXXDEFS ?=113 114 TOOL_VCC 80_ASOBJSUFF ?= .obj115 116 TOOL_VCC 80_RCOBJSUFF ?= .res117 TOOL_VCC 80_RCINCS ?= $(PATH_TOOL_VCC80_INC) $(PATH_TOOL_VCC80_ATLMFC_INC)118 119 TOOL_VCC 80_ARFLAGS.amd64 ?= -machine:amd64120 TOOL_VCC 80_ARFLAGS.x86 ?= -machine:x86121 TOOL_VCC 80_ARFLAGS ?= -nologo122 TOOL_VCC 80_ARLIBSUFF ?= .lib123 124 TOOL_VCC 80_LDFLAGS.amd64 ?= -machine:amd64125 TOOL_VCC 80_LDFLAGS.x86 ?= -machine:x86126 TOOL_VCC 80_LDFLAGS ?= -nologo127 TOOL_VCC 80_LDFLAGS.debug ?= -debug128 TOOL_VCC 80_LDFLAGS.release ?=129 TOOL_VCC 80_LIBPATH.amd64 ?= $(PATH_TOOL_VCC80_LIB.amd64) $(PATH_TOOL_VCC80_ATLMFC_LIB.amd64)130 TOOL_VCC 80_LIBPATH.x86 ?= $(PATH_TOOL_VCC80_LIB.x86) $(PATH_TOOL_VCC80_ATLMFC_LIB.x86)96 TOOL_VCC100_PDB = $(dir $(1))$(tolower $(notdir $(1))).$(2) 97 98 TOOL_VCC100_COBJSUFF ?= .obj 99 TOOL_VCC100_CFLAGS ?= -TC -c -nologo 100 TOOL_VCC100_CFLAGS.debug ?= -Od -Zi 101 TOOL_VCC100_CFLAGS.release ?= -O2 102 TOOL_VCC100_CFLAGS.profile ?= -O2 103 TOOL_VCC100_CINCS ?= $(PATH_TOOL_VCC100_INC) 104 TOOL_VCC100_CDEFS ?= 105 106 TOOL_VCC100_CXXOBJSUFF ?= .obj 107 TOOL_VCC100_CXXFLAGS ?= -TP -c -nologo 108 TOOL_VCC100_CXXFLAGS.debug ?= -Od -Zi 109 TOOL_VCC100_CXXFLAGS.release ?= -O2 110 TOOL_VCC100_CXXFLAGS.profile ?= -O2 111 TOOL_VCC100_CXXINCS ?= $(PATH_TOOL_VCC100_INC) $(PATH_TOOL_VCC100_ATLMFC_INC) 112 TOOL_VCC100_CXXDEFS ?= 113 114 TOOL_VCC100_ASOBJSUFF ?= .obj 115 116 TOOL_VCC100_RCOBJSUFF ?= .res 117 TOOL_VCC100_RCINCS ?= $(PATH_TOOL_VCC100_INC) $(PATH_TOOL_VCC100_ATLMFC_INC) 118 119 TOOL_VCC100_ARFLAGS.amd64 ?= -machine:amd64 120 TOOL_VCC100_ARFLAGS.x86 ?= -machine:x86 121 TOOL_VCC100_ARFLAGS ?= -nologo 122 TOOL_VCC100_ARLIBSUFF ?= .lib 123 124 TOOL_VCC100_LDFLAGS.amd64 ?= -machine:amd64 125 TOOL_VCC100_LDFLAGS.x86 ?= -machine:x86 126 TOOL_VCC100_LDFLAGS ?= -nologo 127 TOOL_VCC100_LDFLAGS.debug ?= -debug 128 TOOL_VCC100_LDFLAGS.release ?= 129 TOOL_VCC100_LIBPATH.amd64 ?= $(PATH_TOOL_VCC100_LIB.amd64) $(PATH_TOOL_VCC100_ATLMFC_LIB.amd64) 130 TOOL_VCC100_LIBPATH.x86 ?= $(PATH_TOOL_VCC100_LIB.x86) $(PATH_TOOL_VCC100_ATLMFC_LIB.x86) 131 131 132 132 … … 145 145 # @param $(outbase) Output basename (full). Use this for list files and such. 146 146 # @param $(objsuff) Object suffix. 147 TOOL_VCC 80_COMPILE_C_DEPEND =148 TOOL_VCC 80_COMPILE_C_DEPORD =149 TOOL_VCC 80_COMPILE_C_OUTPUT = $(call TOOL_VCC80_PDB, $(outbase)-obj,idb)150 TOOL_VCC 80_COMPILE_C_OUTPUT_MAYBE = $(call TOOL_VCC80_PDB, $(outbase)-obj,pdb)151 define TOOL_VCC 80_COMPILE_C_CMDS152 $(QUIET)$(TOOL_VCC 80_CC) -c\147 TOOL_VCC100_COMPILE_C_DEPEND = 148 TOOL_VCC100_COMPILE_C_DEPORD = 149 TOOL_VCC100_COMPILE_C_OUTPUT = $(call TOOL_VCC100_PDB, $(outbase)-obj,idb) 150 TOOL_VCC100_COMPILE_C_OUTPUT_MAYBE = $(call TOOL_VCC100_PDB, $(outbase)-obj,pdb) 151 define TOOL_VCC100_COMPILE_C_CMDS 152 $(QUIET)$(TOOL_VCC100_CC) -c\ 153 153 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 154 154 -Fd$(outbase)-obj.pdb \ … … 156 156 -Fo$(obj)\ 157 157 $(subst /,\\,$(abspath $(source))) 158 $(QUIET)$(DEP_IDB) -f -s -q -o $(dep) -t $(obj) $(call TOOL_VCC 80_PDB,$(outbase)-obj,idb)158 $(QUIET)$(DEP_IDB) -f -s -q -o $(dep) -t $(obj) $(call TOOL_VCC100_PDB,$(outbase)-obj,idb) 159 159 endef 160 160 … … 173 173 # @param $(outbase) Output basename (full). Use this for list files and such. 174 174 # @param $(objsuff) Object suffix. 175 TOOL_VCC 80_COMPILE_CXX_DEPEND =176 TOOL_VCC 80_COMPILE_CXX_DEPORD =177 TOOL_VCC 80_COMPILE_CXX_OUTPUT = $(call TOOL_VCC80_PDB, $(outbase)-obj,idb)178 TOOL_VCC 80_COMPILE_CXX_OUTPUT_MAYBE = $(call TOOL_VCC80_PDB, $(outbase)-obj,pdb)179 define TOOL_VCC 80_COMPILE_CXX_CMDS180 $(QUIET)$(TOOL_VCC 80_CXX) -c\175 TOOL_VCC100_COMPILE_CXX_DEPEND = 176 TOOL_VCC100_COMPILE_CXX_DEPORD = 177 TOOL_VCC100_COMPILE_CXX_OUTPUT = $(call TOOL_VCC100_PDB, $(outbase)-obj,idb) 178 TOOL_VCC100_COMPILE_CXX_OUTPUT_MAYBE = $(call TOOL_VCC100_PDB, $(outbase)-obj,pdb) 179 define TOOL_VCC100_COMPILE_CXX_CMDS 180 $(QUIET)$(TOOL_VCC100_CXX) -c\ 181 181 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 182 182 -Fd$(outbase)-obj.pdb \ … … 184 184 -Fo$(obj)\ 185 185 $(subst /,\\,$(abspath $(source))) 186 $(QUIET)$(DEP_IDB) -f -s -q -o $(dep) -t $(obj) $(call TOOL_VCC 80_PDB,$(outbase)-obj,idb)186 $(QUIET)$(DEP_IDB) -f -s -q -o $(dep) -t $(obj) $(call TOOL_VCC100_PDB,$(outbase)-obj,idb) 187 187 endef 188 188 … … 201 201 # @param $(outbase) Output basename (full). Use this for list files and such. 202 202 # @param $(objsuff) Object suffix. 203 TOOL_VCC 80_COMPILE_RC_OUTPUT =204 TOOL_VCC 80_COMPILE_RC_DEPEND =205 TOOL_VCC 80_COMPILE_RC_DEPORD =206 define TOOL_VCC 80_COMPILE_RC_CMDS207 $(QUIET)$(TOOL_VCC 80_RC) \203 TOOL_VCC100_COMPILE_RC_OUTPUT = 204 TOOL_VCC100_COMPILE_RC_DEPEND = 205 TOOL_VCC100_COMPILE_RC_DEPORD = 206 define TOOL_VCC100_COMPILE_RC_CMDS 207 $(QUIET)$(TOOL_VCC100_RC) \ 208 208 $(flags) $(addprefix /i, $(subst /,\\,$(incs))) $(addprefix /d, $(defs))\ 209 209 /fo$(obj)\ … … 222 222 # @param $(outbase) Output basename (full). Use this for list files and such. 223 223 # 224 TOOL_VCC 80_LINK_LIBRARY_DEPEND = $(othersrc)225 TOOL_VCC 80_LINK_LIBRARY_DEPORD =226 TOOL_VCC 80_LINK_LIBRARY_OUTPUT = $(outbase).rsp227 TOOL_VCC 80_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb228 define TOOL_VCC 80_LINK_LIBRARY_CMDS224 TOOL_VCC100_LINK_LIBRARY_DEPEND = $(othersrc) 225 TOOL_VCC100_LINK_LIBRARY_DEPORD = 226 TOOL_VCC100_LINK_LIBRARY_OUTPUT = $(outbase).rsp 227 TOOL_VCC100_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb 228 define TOOL_VCC100_LINK_LIBRARY_CMDS 229 229 $(QUIET)$(APPEND) -n $(outbase).rsp \ 230 230 $(foreach arg,\ … … 233 233 $(addprefix /DEF:,$(filter %.def,$(othersrc))) \ 234 234 ,\"$(arg)\") 235 $(QUIET)$(TOOL_VCC 80_AR) $(flags) /OUT:$(out) @$(outbase).rsp235 $(QUIET)$(TOOL_VCC100_AR) $(flags) /OUT:$(out) @$(outbase).rsp 236 236 endef 237 237 … … 253 253 # @param $(outbase) Output basename (full). Use this for list files and such. 254 254 # 255 TOOL_VCC 80_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)256 TOOL_VCC 80_LINK_PROGRAM_DEPORD =257 TOOL_VCC 80_LINK_PROGRAM_OUTPUT = $(outbase).map258 TOOL_VCC 80_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).pdb $(outbase).ilk $(out).manifest259 define TOOL_VCC 80_LINK_PROGRAM_CMDS260 $(QUIET)$(TOOL_VCC 80_LD) $(flags) \255 TOOL_VCC100_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc) 256 TOOL_VCC100_LINK_PROGRAM_DEPORD = 257 TOOL_VCC100_LINK_PROGRAM_OUTPUT = $(outbase).map 258 TOOL_VCC100_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).pdb $(outbase).ilk $(out).manifest 259 define TOOL_VCC100_LINK_PROGRAM_CMDS 260 $(QUIET)$(TOOL_VCC100_LD) $(flags) \ 261 261 /OUT:$(out) \ 262 262 /MAPINFO:EXPORTS /INCREMENTAL:NO \ … … 268 268 $(subst /,\\,$(libs)) 269 269 $(QUIET)$(TEST) -f $(out).manifest -- \ 270 $(TOOL_VCC 80_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))270 $(TOOL_VCC100_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out)) 271 271 endef 272 272 … … 286 286 # 287 287 # @param $(outbase) Output basename (full). Use this for list files and such. 288 TOOL_VCC 80_LINK_DLL_DEPEND = $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)289 TOOL_VCC 80_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_LIB))290 TOOL_VCC 80_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp291 TOOL_VCC 80_LINK_DLL_OUTPUT_MAYBE = $(outbase).pdb $(outbase).ilk $(out).manifest $(PATH_LIB)/$(notdir $(outbase)).lib $(PATH_LIB)/$(notdir $(outbase)).exp292 define TOOL_VCC 80_LINK_DLL_CMDS293 $(QUIET)$(TOOL_VCC 80_LD) $(flags) \288 TOOL_VCC100_LINK_DLL_DEPEND = $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc) 289 TOOL_VCC100_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_LIB)) 290 TOOL_VCC100_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp 291 TOOL_VCC100_LINK_DLL_OUTPUT_MAYBE = $(outbase).pdb $(outbase).ilk $(out).manifest $(PATH_LIB)/$(notdir $(outbase)).lib $(PATH_LIB)/$(notdir $(outbase)).exp 292 define TOOL_VCC100_LINK_DLL_CMDS 293 $(QUIET)$(TOOL_VCC100_LD) $(flags) \ 294 294 /OUT:$(out) \ 295 295 /IMPLIB:$(outbase).lib \ … … 303 303 $(subst /,\\,$(libs)) 304 304 $(QUIET)$(TEST) -f $(out).manifest -- \ 305 $(TOOL_VCC 80_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'305 $(TOOL_VCC100_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2' 306 306 $(QUIET)$(CP) --changed --ignore-non-existing $(outbase).exp $(outbase).lib $(PATH_LIB)/ 307 307 $(eval _DIRS += $(PATH_LIB)) … … 323 323 # 324 324 # @param $(outbase) Output basename (full). Use this for list files and such. 325 TOOL_VCC 80_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)326 TOOL_VCC 80_LINK_SYSMOD_DEPORD =327 TOOL_VCC 80_LINK_SYSMOD_OUTPUT = $(outbase).map328 TOOL_VCC 80_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).pdb $(outbase).ilk $(out).manifest329 define TOOL_VCC 80_LINK_SYSMOD_CMDS330 $(QUIET)$(TOOL_VCC 80_LD) $(flags) \325 TOOL_VCC100_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc) 326 TOOL_VCC100_LINK_SYSMOD_DEPORD = 327 TOOL_VCC100_LINK_SYSMOD_OUTPUT = $(outbase).map 328 TOOL_VCC100_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).pdb $(outbase).ilk $(out).manifest 329 define TOOL_VCC100_LINK_SYSMOD_CMDS 330 $(QUIET)$(TOOL_VCC100_LD) $(flags) \ 331 331 /OUT:$(out) \ 332 332 /MAPINFO:EXPORTS /INCREMENTAL:NO \ … … 338 338 $(subst /,\\,$(libs)) 339 339 $(QUIET)$(TEST) -f $(out).manifest -- \ 340 $(TOOL_VCC 80_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'341 endef 342 340 $(TOOL_VCC100_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2' 341 endef 342 -
trunk/kBuild/tools/VCC100AMD64.kmk
r2405 r2408 1 1 # $Id$ 2 2 ## @file 3 # kBuild Tool Config - Visual C++ 8.0 (aka Visual .NET 2005, or MSC v14), targeting AMD64.4 # 5 6 # 7 # Copyright (c) 2004-20 09knut st. osmundsen <bird-kBuild-spamix@anduin.net>3 # kBuild Tool Config - Visual C++ 10.0 (aka Visual 2010 and MSC v16), targeting AMD64. 4 # 5 6 # 7 # Copyright (c) 2004-2010 knut st. osmundsen <bird-kBuild-spamix@anduin.net> 8 8 # 9 9 # This file is part of kBuild. … … 32 32 # 33 33 34 TOOL_VCC 80AMD64 := Visual C++ 8.0 (aka Visual .NET 2005, or MSC v14), targeting AMD64.34 TOOL_VCC100AMD64 := Visual C++ 10.0 (aka Visual 2010 and MSC v16), targeting AMD64 35 35 36 36 # Tool Specific Properties 37 ifndef PATH_TOOL_VCC 80AMD6438 PATH_TOOL_VCC 80AMD64 := $(wildcard $(PATH_DEVTOOLS)/win.x86/vcc/v8*)39 ifeq ($(PATH_TOOL_VCC 80AMD64),)40 PATH_TOOL_VCC 80AMD64 := $(PATH_TOOL_VCC80)37 ifndef PATH_TOOL_VCC100AMD64 38 PATH_TOOL_VCC100AMD64 := $(wildcard $(PATH_DEVTOOLS)/win.x86/vcc/v10*) 39 ifeq ($(PATH_TOOL_VCC100AMD64),) 40 PATH_TOOL_VCC100AMD64 := $(PATH_TOOL_VCC100) 41 41 endif 42 ifeq ($(PATH_TOOL_VCC 80AMD64),)43 PATH_TOOL_VCC 80AMD64 := $(PATH_TOOL_VCC80X86)42 ifeq ($(PATH_TOOL_VCC100AMD64),) 43 PATH_TOOL_VCC100AMD64 := $(PATH_TOOL_VCC100X86) 44 44 endif 45 ifeq ($(PATH_TOOL_VCC 80AMD64),)46 PATH_TOOL_VCC 80AMD64 := $(wildcard $(PATH_DEVTOOLS)/win.x86/vcc/v8*)45 ifeq ($(PATH_TOOL_VCC100AMD64),) 46 PATH_TOOL_VCC100AMD64 := $(wildcard $(PATH_DEVTOOLS)/win.x86/vcc/v10*) 47 47 endif 48 ifneq ($(PATH_TOOL_VCC 80AMD64),)49 PATH_TOOL_VCC 80AMD64 := $(lastword $(sort $(PATH_TOOL_VCC80AMD64)))48 ifneq ($(PATH_TOOL_VCC100AMD64),) 49 PATH_TOOL_VCC100AMD64 := $(lastword $(sort $(PATH_TOOL_VCC100AMD64))) 50 50 else 51 $(warning kBuild: PATH_TOOL_VCC 80AMD64 cannot be determined!)52 PATH_TOOL_VCC 80AMD64 := $(PATH_DEVTOOLS)/win.x86/vcc/v851 $(warning kBuild: PATH_TOOL_VCC100AMD64 cannot be determined!) 52 PATH_TOOL_VCC100AMD64 := $(PATH_DEVTOOLS)/win.x86/vcc/v10 53 53 endif 54 54 else 55 55 # Resolve any fancy stuff once and for all. 56 PATH_TOOL_VCC 80AMD64 := $(PATH_TOOL_VCC80AMD64)56 PATH_TOOL_VCC100AMD64 := $(PATH_TOOL_VCC100AMD64) 57 57 endif 58 58 ifeq ($(KBUILD_HOST).$(KBUILD_HOST_ARCH),win.amd64) 59 PATH_TOOL_VCC 80AMD64_BIN ?= $(PATH_TOOL_VCC80AMD64)/bin/amd6459 PATH_TOOL_VCC100AMD64_BIN ?= $(PATH_TOOL_VCC100AMD64)/bin/amd64 60 60 else 61 PATH_TOOL_VCC 80AMD64_BIN ?= $(PATH_TOOL_VCC80AMD64)/bin/x86_amd6461 PATH_TOOL_VCC100AMD64_BIN ?= $(PATH_TOOL_VCC100AMD64)/bin/x86_amd64 62 62 endif 63 PATH_TOOL_VCC 80AMD64_LIB ?= $(PATH_TOOL_VCC80AMD64)/lib/amd6464 PATH_TOOL_VCC 80AMD64_INC ?= $(PATH_TOOL_VCC80AMD64)/include65 PATH_TOOL_VCC 80AMD64_ATLMFC ?= $(PATH_TOOL_VCC80AMD64)/atlmfc66 PATH_TOOL_VCC 80AMD64_ATLMFC_INC ?= $(PATH_TOOL_VCC80AMD64_ATLMFC)/include67 PATH_TOOL_VCC 80AMD64_ATLMFC_LIB ?= $(PATH_TOOL_VCC80AMD64_ATLMFC)/lib/amd6468 TOOL_VCC 80AMD64_CC ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80AMD64_BIN)/cl.exe69 TOOL_VCC 80AMD64_CXX ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80AMD64_BIN)/cl.exe70 TOOL_VCC 80AMD64_AS ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80AMD64_BIN)/ml64.exe71 TOOL_VCC 80AMD64_RC ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80AMD64_BIN)/../rc.exe72 TOOL_VCC 80AMD64_AR ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80AMD64_BIN)/lib.exe73 TOOL_VCC 80AMD64_LD ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80AMD64_BIN)/link.exe74 TOOL_VCC 80AMD64_MT ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80AMD64_BIN)/../mt.exe63 PATH_TOOL_VCC100AMD64_LIB ?= $(PATH_TOOL_VCC100AMD64)/lib/amd64 64 PATH_TOOL_VCC100AMD64_INC ?= $(PATH_TOOL_VCC100AMD64)/include 65 PATH_TOOL_VCC100AMD64_ATLMFC ?= $(PATH_TOOL_VCC100AMD64)/atlmfc 66 PATH_TOOL_VCC100AMD64_ATLMFC_INC ?= $(PATH_TOOL_VCC100AMD64_ATLMFC)/include 67 PATH_TOOL_VCC100AMD64_ATLMFC_LIB ?= $(PATH_TOOL_VCC100AMD64_ATLMFC)/lib/amd64 68 TOOL_VCC100AMD64_CC ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100AMD64_BIN)/cl.exe 69 TOOL_VCC100AMD64_CXX ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100AMD64_BIN)/cl.exe 70 TOOL_VCC100AMD64_AS ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100AMD64_BIN)/ml64.exe 71 TOOL_VCC100AMD64_RC ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100AMD64_BIN)/../rc.exe 72 TOOL_VCC100AMD64_AR ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100AMD64_BIN)/lib.exe 73 TOOL_VCC100AMD64_LD ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100AMD64_BIN)/link.exe 74 TOOL_VCC100AMD64_MT ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100AMD64_BIN)/../mt.exe 75 75 ## Disabled fast DEP_IDB based dependencies. 76 #VCC 80AMD64_OLD_DEPS = 176 #VCC100AMD64_OLD_DEPS = 1 77 77 78 78 ## Constructs the correct .pdb name (the name is lowercased). 79 79 # @param $(1) Base name, no extention. 80 80 # @param $(2) The extension. 81 TOOL_VCC 80AMD64_PDB = $(dir $(1))$(tolower $(notdir $(1))).$(2)82 83 TOOL_VCC 80AMD64_COBJSUFF ?= .obj84 TOOL_VCC 80AMD64_CFLAGS ?= -TC -c -nologo85 TOOL_VCC 80AMD64_CFLAGS.debug ?= -Od -Zi86 TOOL_VCC 80AMD64_CFLAGS.release ?= -O287 TOOL_VCC 80AMD64_CFLAGS.profile ?= -O288 TOOL_VCC 80AMD64_CINCS ?= $(PATH_TOOL_VCC80AMD64_INC)89 TOOL_VCC 80AMD64_CDEFS ?=90 91 TOOL_VCC 80AMD64_CXXOBJSUFF ?= .obj92 TOOL_VCC 80AMD64_CXXFLAGS ?= -TP -c -nologo93 TOOL_VCC 80AMD64_CXXFLAGS.debug ?= -Od -Zi94 TOOL_VCC 80AMD64_CXXFLAGS.release ?= -O295 TOOL_VCC 80AMD64_CXXFLAGS.profile ?= -O296 TOOL_VCC 80AMD64_CXXINCS ?= $(PATH_TOOL_VCC80AMD64_INC) $(PATH_TOOL_VCC80AMD64_ATLMFC_INC)97 TOOL_VCC 80AMD64_CXXDEFS ?=98 99 TOOL_VCC 80AMD64_ASOBJSUFF ?= .obj100 101 TOOL_VCC 80AMD64_RCOBJSUFF ?= .res102 TOOL_VCC 80AMD64_RCINCS ?= $(PATH_TOOL_VCC80AMD64_INC) $(PATH_TOOL_VCC80AMD64_ATLMFC_INC)103 104 TOOL_VCC 80AMD64_ARFLAGS ?= -nologo -machine:amd64105 TOOL_VCC 80AMD64_ARLIBSUFF ?= .lib106 107 TOOL_VCC 80AMD64_LDFLAGS ?= -nologo -machine:amd64108 TOOL_VCC 80AMD64_LDFLAGS.debug ?= -debug109 TOOL_VCC 80AMD64_LDFLAGS.release ?=81 TOOL_VCC100AMD64_PDB = $(dir $(1))$(tolower $(notdir $(1))).$(2) 82 83 TOOL_VCC100AMD64_COBJSUFF ?= .obj 84 TOOL_VCC100AMD64_CFLAGS ?= -TC -c -nologo 85 TOOL_VCC100AMD64_CFLAGS.debug ?= -Od -Zi 86 TOOL_VCC100AMD64_CFLAGS.release ?= -O2 87 TOOL_VCC100AMD64_CFLAGS.profile ?= -O2 88 TOOL_VCC100AMD64_CINCS ?= $(PATH_TOOL_VCC100AMD64_INC) 89 TOOL_VCC100AMD64_CDEFS ?= 90 91 TOOL_VCC100AMD64_CXXOBJSUFF ?= .obj 92 TOOL_VCC100AMD64_CXXFLAGS ?= -TP -c -nologo 93 TOOL_VCC100AMD64_CXXFLAGS.debug ?= -Od -Zi 94 TOOL_VCC100AMD64_CXXFLAGS.release ?= -O2 95 TOOL_VCC100AMD64_CXXFLAGS.profile ?= -O2 96 TOOL_VCC100AMD64_CXXINCS ?= $(PATH_TOOL_VCC100AMD64_INC) $(PATH_TOOL_VCC100AMD64_ATLMFC_INC) 97 TOOL_VCC100AMD64_CXXDEFS ?= 98 99 TOOL_VCC100AMD64_ASOBJSUFF ?= .obj 100 101 TOOL_VCC100AMD64_RCOBJSUFF ?= .res 102 TOOL_VCC100AMD64_RCINCS ?= $(PATH_TOOL_VCC100AMD64_INC) $(PATH_TOOL_VCC100AMD64_ATLMFC_INC) 103 104 TOOL_VCC100AMD64_ARFLAGS ?= -nologo -machine:amd64 105 TOOL_VCC100AMD64_ARLIBSUFF ?= .lib 106 107 TOOL_VCC100AMD64_LDFLAGS ?= -nologo -machine:amd64 108 TOOL_VCC100AMD64_LDFLAGS.debug ?= -debug 109 TOOL_VCC100AMD64_LDFLAGS.release ?= 110 110 111 111 … … 124 124 # @param $(outbase) Output basename (full). Use this for list files and such. 125 125 # @param $(objsuff) Object suffix. 126 TOOL_VCC 80AMD64_COMPILE_C_DEPEND =127 TOOL_VCC 80AMD64_COMPILE_C_DEPORD =128 TOOL_VCC 80AMD64_COMPILE_C_OUTPUT = $(call TOOL_VCC80AMD64_PDB, $(outbase)-obj,idb)129 TOOL_VCC 80AMD64_COMPILE_C_OUTPUT_MAYBE = $(call TOOL_VCC80AMD64_PDB, $(outbase)-obj,pdb)130 define TOOL_VCC 80AMD64_COMPILE_C_CMDS131 $(QUIET)$(TOOL_VCC 80AMD64_CC) -c\126 TOOL_VCC100AMD64_COMPILE_C_DEPEND = 127 TOOL_VCC100AMD64_COMPILE_C_DEPORD = 128 TOOL_VCC100AMD64_COMPILE_C_OUTPUT = $(call TOOL_VCC100AMD64_PDB, $(outbase)-obj,idb) 129 TOOL_VCC100AMD64_COMPILE_C_OUTPUT_MAYBE = $(call TOOL_VCC100AMD64_PDB, $(outbase)-obj,pdb) 130 define TOOL_VCC100AMD64_COMPILE_C_CMDS 131 $(QUIET)$(TOOL_VCC100AMD64_CC) -c\ 132 132 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 133 133 -Fd$(outbase)-obj.pdb \ … … 135 135 -Fo$(obj)\ 136 136 $(subst /,\\,$(abspath $(source))) 137 $(QUIET)$(DEP_IDB) -f -s -q -o $(dep) -t $(obj) $(call TOOL_VCC 80AMD64_PDB,$(outbase)-obj,idb)137 $(QUIET)$(DEP_IDB) -f -s -q -o $(dep) -t $(obj) $(call TOOL_VCC100AMD64_PDB,$(outbase)-obj,idb) 138 138 endef 139 139 … … 152 152 # @param $(outbase) Output basename (full). Use this for list files and such. 153 153 # @param $(objsuff) Object suffix. 154 TOOL_VCC 80AMD64_COMPILE_CXX_DEPEND =155 TOOL_VCC 80AMD64_COMPILE_CXX_DEPORD =156 TOOL_VCC 80AMD64_COMPILE_CXX_OUTPUT = $(call TOOL_VCC80AMD64_PDB, $(outbase)-obj,idb)157 TOOL_VCC 80AMD64_COMPILE_CXX_OUTPUT_MAYBE = $(call TOOL_VCC80AMD64_PDB, $(outbase)-obj,pdb)158 define TOOL_VCC 80AMD64_COMPILE_CXX_CMDS159 $(QUIET)$(TOOL_VCC 80AMD64_CXX) -c\154 TOOL_VCC100AMD64_COMPILE_CXX_DEPEND = 155 TOOL_VCC100AMD64_COMPILE_CXX_DEPORD = 156 TOOL_VCC100AMD64_COMPILE_CXX_OUTPUT = $(call TOOL_VCC100AMD64_PDB, $(outbase)-obj,idb) 157 TOOL_VCC100AMD64_COMPILE_CXX_OUTPUT_MAYBE = $(call TOOL_VCC100AMD64_PDB, $(outbase)-obj,pdb) 158 define TOOL_VCC100AMD64_COMPILE_CXX_CMDS 159 $(QUIET)$(TOOL_VCC100AMD64_CXX) -c\ 160 160 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 161 161 -Fd$(outbase)-obj.pdb \ … … 163 163 -Fo$(obj)\ 164 164 $(subst /,\\,$(abspath $(source))) 165 $(QUIET)$(DEP_IDB) -f -s -q -o $(dep) -t $(obj) $(call TOOL_VCC 80AMD64_PDB,$(outbase)-obj,idb)165 $(QUIET)$(DEP_IDB) -f -s -q -o $(dep) -t $(obj) $(call TOOL_VCC100AMD64_PDB,$(outbase)-obj,idb) 166 166 endef 167 167 … … 180 180 # @param $(outbase) Output basename (full). Use this for list files and such. 181 181 # @param $(objsuff) Object suffix. 182 TOOL_VCC 80AMD64_COMPILE_RC_DEPEND =183 TOOL_VCC 80AMD64_COMPILE_RC_DEPORD =184 TOOL_VCC 80AMD64_COMPILE_RC_OUTPUT =185 define TOOL_VCC 80AMD64_COMPILE_RC_CMDS186 $(QUIET)$(TOOL_VCC 80AMD64_RC) \182 TOOL_VCC100AMD64_COMPILE_RC_DEPEND = 183 TOOL_VCC100AMD64_COMPILE_RC_DEPORD = 184 TOOL_VCC100AMD64_COMPILE_RC_OUTPUT = 185 define TOOL_VCC100AMD64_COMPILE_RC_CMDS 186 $(QUIET)$(TOOL_VCC100AMD64_RC) \ 187 187 $(flags) $(addprefix /i, $(subst /,\\,$(incs))) $(addprefix /d, $(defs))\ 188 188 /fo$(obj)\ … … 201 201 # @param $(outbase) Output basename (full). Use this for list files and such. 202 202 # 203 TOOL_VCC 80AMD64_LINK_LIBRARY_DEPEND = $(othersrc)204 TOOL_VCC 80AMD64_LINK_LIBRARY_DEPORD =205 TOOL_VCC 80AMD64_LINK_LIBRARY_OUTPUT = $(outbase).rsp206 TOOL_VCC 80AMD64_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb207 define TOOL_VCC 80AMD64_LINK_LIBRARY_CMDS203 TOOL_VCC100AMD64_LINK_LIBRARY_DEPEND = $(othersrc) 204 TOOL_VCC100AMD64_LINK_LIBRARY_DEPORD = 205 TOOL_VCC100AMD64_LINK_LIBRARY_OUTPUT = $(outbase).rsp 206 TOOL_VCC100AMD64_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb 207 define TOOL_VCC100AMD64_LINK_LIBRARY_CMDS 208 208 $(QUIET)$(APPEND) -n $(outbase).rsp \ 209 209 $(foreach arg,\ … … 212 212 $(addprefix /DEF:,$(filter %.def,$(othersrc))) \ 213 213 ,\"$(arg)\") 214 $(QUIET)$(TOOL_VCC 80AMD64_AR) $(flags) /OUT:$(out) @$(outbase).rsp214 $(QUIET)$(TOOL_VCC100AMD64_AR) $(flags) /OUT:$(out) @$(outbase).rsp 215 215 endef 216 216 … … 230 230 # @param $(outbase) Output basename (full). Use this for list files and such. 231 231 # 232 TOOL_VCC 80AMD64_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)233 TOOL_VCC 80AMD64_LINK_PROGRAM_DEPORD =234 TOOL_VCC 80AMD64_LINK_PROGRAM_OUTPUT = $(outbase).map235 TOOL_VCC 80AMD64_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).pdb $(outbase).ilk $(out).manifest236 define TOOL_VCC 80AMD64_LINK_PROGRAM_CMDS237 $(QUIET)$(TOOL_VCC 80AMD64_LD) $(flags) \232 TOOL_VCC100AMD64_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc) 233 TOOL_VCC100AMD64_LINK_PROGRAM_DEPORD = 234 TOOL_VCC100AMD64_LINK_PROGRAM_OUTPUT = $(outbase).map 235 TOOL_VCC100AMD64_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).pdb $(outbase).ilk $(out).manifest 236 define TOOL_VCC100AMD64_LINK_PROGRAM_CMDS 237 $(QUIET)$(TOOL_VCC100AMD64_LD) $(flags) \ 238 238 /OUT:$(out) \ 239 239 /MAPINFO:EXPORTS /INCREMENTAL:NO \ … … 245 245 $(subst /,\\,$(libs)) 246 246 $(QUIET)$(TEST) -f $(out).manifest -- \ 247 $(TOOL_VCC 80AMD64_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))247 $(TOOL_VCC100AMD64_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out)) 248 248 endef 249 249 … … 263 263 # 264 264 # @param $(outbase) Output basename (full). Use this for list files and such. 265 TOOL_VCC 80AMD64_LINK_DLL_DEPEND = $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)266 TOOL_VCC 80AMD64_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_LIB))267 TOOL_VCC 80AMD64_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp268 TOOL_VCC 80AMD64_LINK_DLL_OUTPUT_MAYBE = $(outbase).pdb $(outbase).ilk $(out).manifest $(PATH_LIB)/$(notdir $(outbase)).lib $(PATH_LIB)/$(notdir $(outbase)).exp269 define TOOL_VCC 80AMD64_LINK_DLL_CMDS270 $(QUIET)$(TOOL_VCC 80AMD64_LD) $(flags) \265 TOOL_VCC100AMD64_LINK_DLL_DEPEND = $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc) 266 TOOL_VCC100AMD64_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_LIB)) 267 TOOL_VCC100AMD64_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp 268 TOOL_VCC100AMD64_LINK_DLL_OUTPUT_MAYBE = $(outbase).pdb $(outbase).ilk $(out).manifest $(PATH_LIB)/$(notdir $(outbase)).lib $(PATH_LIB)/$(notdir $(outbase)).exp 269 define TOOL_VCC100AMD64_LINK_DLL_CMDS 270 $(QUIET)$(TOOL_VCC100AMD64_LD) $(flags) \ 271 271 /OUT:$(out) \ 272 272 /IMPLIB:$(outbase).lib \ … … 280 280 $(subst /,\\,$(libs)) 281 281 $(QUIET)$(TEST) -f $(out).manifest -- \ 282 $(TOOL_VCC 80AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'282 $(TOOL_VCC100AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2' 283 283 $(QUIET)$(CP) --changed --ignore-non-existing $(outbase).exp $(outbase).lib $(PATH_LIB)/ 284 284 $(eval _DIRS += $(PATH_LIB)) … … 300 300 # 301 301 # @param $(outbase) Output basename (full). Use this for list files and such. 302 TOOL_VCC 80AMD64_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)303 TOOL_VCC 80AMD64_LINK_SYSMOD_DEPORD =304 TOOL_VCC 80AMD64_LINK_SYSMOD_OUTPUT = $(outbase).map305 TOOL_VCC 80AMD64_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).pdb $(outbase).ilk $(out).manifest306 define TOOL_VCC 80AMD64_LINK_SYSMOD_CMDS307 $(QUIET)$(TOOL_VCC 80AMD64_LD) $(flags) \302 TOOL_VCC100AMD64_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc) 303 TOOL_VCC100AMD64_LINK_SYSMOD_DEPORD = 304 TOOL_VCC100AMD64_LINK_SYSMOD_OUTPUT = $(outbase).map 305 TOOL_VCC100AMD64_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).pdb $(outbase).ilk $(out).manifest 306 define TOOL_VCC100AMD64_LINK_SYSMOD_CMDS 307 $(QUIET)$(TOOL_VCC100AMD64_LD) $(flags) \ 308 308 /OUT:$(out) \ 309 309 /MAPINFO:EXPORTS /INCREMENTAL:NO \ … … 315 315 $(subst /,\\,$(libs)) 316 316 $(QUIET)$(TEST) -f $(out).manifest -- \ 317 $(TOOL_VCC 80AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'318 endef 319 317 $(TOOL_VCC100AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2' 318 endef 319 -
trunk/kBuild/tools/VCC100X86.kmk
r2405 r2408 1 1 # $Id$ 2 2 ## @file 3 # kBuild Tool Config - Visual C++ 8.0 (aka Visual .NET 2005, or MSC v14), targeting x86.4 # 5 6 # 7 # Copyright (c) 2004-20 09knut st. osmundsen <bird-kBuild-spamix@anduin.net>3 # kBuild Tool Config - Visual C++ 10.0 (aka Visual 2010 and MSC v16), targeting x86. 4 # 5 6 # 7 # Copyright (c) 2004-2010 knut st. osmundsen <bird-kBuild-spamix@anduin.net> 8 8 # 9 9 # This file is part of kBuild. … … 32 32 # 33 33 34 TOOL_VCC 80X86 := Visual C++ 8.0 (aka Visual .NET 2005, or MSC v14), targeting x86.34 TOOL_VCC100X86 := Visual C++ 10.0 (aka Visual 2010 and MSC v16), targeting x86. 35 35 36 36 # Tool Specific Properties 37 ifndef PATH_TOOL_VCC 80X8638 PATH_TOOL_VCC 80X86 := $(wildcard $(PATH_DEVTOOLS)/win.x86/vcc/v8*)39 ifeq ($(PATH_TOOL_VCC 80X86),)40 PATH_TOOL_VCC 80X86 := $(PATH_TOOL_VCC80)41 endif 42 ifeq ($(PATH_TOOL_VCC 80X86),)43 PATH_TOOL_VCC 80X86 := $(PATH_TOOL_VCC80AMD64)44 endif 45 ifeq ($(PATH_TOOL_VCC 80X86),)46 PATH_TOOL_VCC 80X86 := $(wildcard $(PATH_DEVTOOLS)/x86.win32/vcc/v8*)47 endif 48 ifeq ($(PATH_TOOL_VCC 80X86),)49 PATH_TOOL_VCC 80X86 := $(wildcard $(PATH_DEVTOOLS)/win.amd64/vcc/v8*)50 endif 51 ifneq ($(PATH_TOOL_VCC 80X86),)52 PATH_TOOL_VCC 80X86 := $(lastword $(sort $(PATH_TOOL_VCC80X86)))37 ifndef PATH_TOOL_VCC100X86 38 PATH_TOOL_VCC100X86 := $(wildcard $(PATH_DEVTOOLS)/win.x86/vcc/v10*) 39 ifeq ($(PATH_TOOL_VCC100X86),) 40 PATH_TOOL_VCC100X86 := $(PATH_TOOL_VCC100) 41 endif 42 ifeq ($(PATH_TOOL_VCC100X86),) 43 PATH_TOOL_VCC100X86 := $(PATH_TOOL_VCC100AMD64) 44 endif 45 ifeq ($(PATH_TOOL_VCC100X86),) 46 PATH_TOOL_VCC100X86 := $(wildcard $(PATH_DEVTOOLS)/x86.win32/vcc/v10*) 47 endif 48 ifeq ($(PATH_TOOL_VCC100X86),) 49 PATH_TOOL_VCC100X86 := $(wildcard $(PATH_DEVTOOLS)/win.amd64/vcc/v10*) 50 endif 51 ifneq ($(PATH_TOOL_VCC100X86),) 52 PATH_TOOL_VCC100X86 := $(lastword $(sort $(PATH_TOOL_VCC100X86))) 53 53 else 54 $(warning kBuild: PATH_TOOL_VCC 80X86 cannot be determined!)55 PATH_TOOL_VCC 80X86 := $(PATH_DEVTOOLS)/x86.win/vcc/v854 $(warning kBuild: PATH_TOOL_VCC100X86 cannot be determined!) 55 PATH_TOOL_VCC100X86 := $(PATH_DEVTOOLS)/x86.win/vcc/v10 56 56 endif 57 57 else 58 58 # Resolve any fancy stuff once and for all. 59 PATH_TOOL_VCC 80X86 := $(PATH_TOOL_VCC80X86)59 PATH_TOOL_VCC100X86 := $(PATH_TOOL_VCC100X86) 60 60 endif 61 PATH_TOOL_VCC 80X86_BIN ?= $(PATH_TOOL_VCC80X86)/bin62 PATH_TOOL_VCC 80X86_LIB ?= $(PATH_TOOL_VCC80X86)/lib63 PATH_TOOL_VCC 80X86_INC ?= $(PATH_TOOL_VCC80X86)/include64 PATH_TOOL_VCC 80X86_ATLMFC ?= $(PATH_TOOL_VCC80X86)/atlmfc65 PATH_TOOL_VCC 80X86_ATLMFC_INC ?= $(PATH_TOOL_VCC80X86_ATLMFC)/include66 PATH_TOOL_VCC 80X86_ATLMFC_LIB ?= $(PATH_TOOL_VCC80X86_ATLMFC)/lib67 TOOL_VCC 80X86_CC ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/cl.exe68 TOOL_VCC 80X86_CXX ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/cl.exe69 TOOL_VCC 80X86_AS ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/ml.exe70 TOOL_VCC 80X86_RC ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/rc.exe71 TOOL_VCC 80X86_AR ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/lib.exe72 TOOL_VCC 80X86_LD ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/link.exe73 TOOL_VCC 80X86_MT ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC80X86_BIN)/mt.exe61 PATH_TOOL_VCC100X86_BIN ?= $(PATH_TOOL_VCC100X86)/bin 62 PATH_TOOL_VCC100X86_LIB ?= $(PATH_TOOL_VCC100X86)/lib 63 PATH_TOOL_VCC100X86_INC ?= $(PATH_TOOL_VCC100X86)/include 64 PATH_TOOL_VCC100X86_ATLMFC ?= $(PATH_TOOL_VCC100X86)/atlmfc 65 PATH_TOOL_VCC100X86_ATLMFC_INC ?= $(PATH_TOOL_VCC100X86_ATLMFC)/include 66 PATH_TOOL_VCC100X86_ATLMFC_LIB ?= $(PATH_TOOL_VCC100X86_ATLMFC)/lib 67 TOOL_VCC100X86_CC ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100X86_BIN)/cl.exe 68 TOOL_VCC100X86_CXX ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100X86_BIN)/cl.exe 69 TOOL_VCC100X86_AS ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100X86_BIN)/ml.exe 70 TOOL_VCC100X86_RC ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100X86_BIN)/rc.exe 71 TOOL_VCC100X86_AR ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100X86_BIN)/lib.exe 72 TOOL_VCC100X86_LD ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100X86_BIN)/link.exe 73 TOOL_VCC100X86_MT ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC100X86_BIN)/mt.exe 74 74 ## Disabled fast DEP_IDB based dependencies. 75 #VCC 80X86_OLD_DEPS = 175 #VCC100X86_OLD_DEPS = 1 76 76 77 77 ## Constructs the correct .pdb name (the name is lowercased). 78 78 # @param $(1) Base name, no extention. 79 79 # @param $(2) The extension. 80 TOOL_VCC 80X86_PDB = $(dir $(1))$(tolower $(notdir $(1))).$(2)80 TOOL_VCC100X86_PDB = $(dir $(1))$(tolower $(notdir $(1))).$(2) 81 81 82 82 83 83 # General Properties used by kBuild 84 TOOL_VCC 80X86_COBJSUFF ?= .obj85 TOOL_VCC 80X86_CFLAGS ?= -TC -c -nologo86 TOOL_VCC 80X86_CFLAGS.debug ?= -Zi87 TOOL_VCC 80X86_CFLAGS.release ?= -O288 TOOL_VCC 80X86_CFLAGS.profile ?= -O289 TOOL_VCC 80X86_CINCS ?= $(PATH_TOOL_VCC80X86_INC)90 TOOL_VCC 80X86_CDEFS ?=91 92 TOOL_VCC 80X86_CXXOBJSUFF ?= .obj93 TOOL_VCC 80X86_CXXFLAGS ?= -TP -c -nologo94 TOOL_VCC 80X86_CXXFLAGS.debug ?= -Zi95 TOOL_VCC 80X86_CXXFLAGS.release ?= -O296 TOOL_VCC 80X86_CXXFLAGS.profile ?= -O297 TOOL_VCC 80X86_CXXINCS ?= $(PATH_TOOL_VCC80X86_INC) $(PATH_TOOL_VCC80X86_ATLMFC_INC)98 TOOL_VCC 80X86_CXXDEFS ?=99 100 TOOL_VCC 80X86_ASOBJSUFF ?= .obj101 102 TOOL_VCC 80X86_RCOBJSUFF ?= .res103 TOOL_VCC 80X86_RCINCS ?= $(PATH_TOOL_VCC80X86_INC) $(PATH_TOOL_VCC80X86_ATLMFC_INC)104 105 TOOL_VCC 80X86_ARFLAGS ?= -nologo106 TOOL_VCC 80X86_ARLIBSUFF ?= .lib107 108 TOOL_VCC 80X86_LDFLAGS ?= -nologo -machine:x86109 TOOL_VCC 80X86_LDFLAGS.debug ?= -debug110 TOOL_VCC 80X86_LDFLAGS.release ?=84 TOOL_VCC100X86_COBJSUFF ?= .obj 85 TOOL_VCC100X86_CFLAGS ?= -TC -c -nologo 86 TOOL_VCC100X86_CFLAGS.debug ?= -Zi 87 TOOL_VCC100X86_CFLAGS.release ?= -O2 88 TOOL_VCC100X86_CFLAGS.profile ?= -O2 89 TOOL_VCC100X86_CINCS ?= $(PATH_TOOL_VCC100X86_INC) 90 TOOL_VCC100X86_CDEFS ?= 91 92 TOOL_VCC100X86_CXXOBJSUFF ?= .obj 93 TOOL_VCC100X86_CXXFLAGS ?= -TP -c -nologo 94 TOOL_VCC100X86_CXXFLAGS.debug ?= -Zi 95 TOOL_VCC100X86_CXXFLAGS.release ?= -O2 96 TOOL_VCC100X86_CXXFLAGS.profile ?= -O2 97 TOOL_VCC100X86_CXXINCS ?= $(PATH_TOOL_VCC100X86_INC) $(PATH_TOOL_VCC100X86_ATLMFC_INC) 98 TOOL_VCC100X86_CXXDEFS ?= 99 100 TOOL_VCC100X86_ASOBJSUFF ?= .obj 101 102 TOOL_VCC100X86_RCOBJSUFF ?= .res 103 TOOL_VCC100X86_RCINCS ?= $(PATH_TOOL_VCC100X86_INC) $(PATH_TOOL_VCC100X86_ATLMFC_INC) 104 105 TOOL_VCC100X86_ARFLAGS ?= -nologo 106 TOOL_VCC100X86_ARLIBSUFF ?= .lib 107 108 TOOL_VCC100X86_LDFLAGS ?= -nologo -machine:x86 109 TOOL_VCC100X86_LDFLAGS.debug ?= -debug 110 TOOL_VCC100X86_LDFLAGS.release ?= 111 111 112 112 … … 125 125 # @param $(outbase) Output basename (full). Use this for list files and such. 126 126 # @param $(objsuff) Object suffix. 127 TOOL_VCC 80X86_COMPILE_C_DEPEND =128 TOOL_VCC 80X86_COMPILE_C_DEPORD =129 TOOL_VCC 80X86_COMPILE_C_OUTPUT = $(call TOOL_VCC80X86_PDB, $(outbase)-obj,idb)130 TOOL_VCC 80X86_COMPILE_C_OUTPUT_MAYBE = $(call TOOL_VCC80X86_PDB, $(outbase)-obj,pdb)131 define TOOL_VCC 80X86_COMPILE_C_CMDS132 $(QUIET)$(TOOL_VCC 80X86_CC) -c\127 TOOL_VCC100X86_COMPILE_C_DEPEND = 128 TOOL_VCC100X86_COMPILE_C_DEPORD = 129 TOOL_VCC100X86_COMPILE_C_OUTPUT = $(call TOOL_VCC100X86_PDB, $(outbase)-obj,idb) 130 TOOL_VCC100X86_COMPILE_C_OUTPUT_MAYBE = $(call TOOL_VCC100X86_PDB, $(outbase)-obj,pdb) 131 define TOOL_VCC100X86_COMPILE_C_CMDS 132 $(QUIET)$(TOOL_VCC100X86_CC) -c\ 133 133 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 134 134 -Fd$(outbase)-obj.pdb \ … … 136 136 -Fo$(obj)\ 137 137 $(subst /,\\,$(abspath $(source))) 138 $(QUIET)$(DEP_IDB) -f -s -q -o $(dep) -t $(obj) $(call TOOL_VCC 80X86_PDB,$(outbase)-obj,idb)138 $(QUIET)$(DEP_IDB) -f -s -q -o $(dep) -t $(obj) $(call TOOL_VCC100X86_PDB,$(outbase)-obj,idb) 139 139 endef 140 140 … … 153 153 # @param $(outbase) Output basename (full). Use this for list files and such. 154 154 # @param $(objsuff) Object suffix. 155 TOOL_VCC 80X86_COMPILE_CXX_DEPEND =156 TOOL_VCC 80X86_COMPILE_CXX_DEPORD =157 TOOL_VCC 80X86_COMPILE_CXX_OUTPUT = $(call TOOL_VCC80X86_PDB, $(outbase)-obj,idb)158 TOOL_VCC 80X86_COMPILE_CXX_OUTPUT_MAYBE = $(call TOOL_VCC80X86_PDB, $(outbase)-obj,pdb)159 define TOOL_VCC 80X86_COMPILE_CXX_CMDS160 $(QUIET)$(TOOL_VCC 80X86_CXX) -c\155 TOOL_VCC100X86_COMPILE_CXX_DEPEND = 156 TOOL_VCC100X86_COMPILE_CXX_DEPORD = 157 TOOL_VCC100X86_COMPILE_CXX_OUTPUT = $(call TOOL_VCC100X86_PDB, $(outbase)-obj,idb) 158 TOOL_VCC100X86_COMPILE_CXX_OUTPUT_MAYBE = $(call TOOL_VCC100X86_PDB, $(outbase)-obj,pdb) 159 define TOOL_VCC100X86_COMPILE_CXX_CMDS 160 $(QUIET)$(TOOL_VCC100X86_CXX) -c\ 161 161 $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\ 162 162 -Fd$(outbase)-obj.pdb \ … … 164 164 -Fo$(obj)\ 165 165 $(subst /,\\,$(abspath $(source))) 166 $(QUIET)$(DEP_IDB) -f -s -q -o $(dep) -t $(obj) $(call TOOL_VCC 80X86_PDB,$(outbase)-obj,idb)166 $(QUIET)$(DEP_IDB) -f -s -q -o $(dep) -t $(obj) $(call TOOL_VCC100X86_PDB,$(outbase)-obj,idb) 167 167 endef 168 168 … … 182 182 # @param $(outbase) Output basename (full). Use this for list files and such. 183 183 # @param $(objsuff) Object suffix. 184 TOOL_VCC 80X86_COMPILE_RC_DEPEND =185 TOOL_VCC 80X86_COMPILE_RC_DEPORD =186 TOOL_VCC 80X86_COMPILE_RC_OUTPUT =187 define TOOL_VCC 80X86_COMPILE_RC_CMDS188 $(QUIET)$(TOOL_VCC 80X86_RC) \184 TOOL_VCC100X86_COMPILE_RC_DEPEND = 185 TOOL_VCC100X86_COMPILE_RC_DEPORD = 186 TOOL_VCC100X86_COMPILE_RC_OUTPUT = 187 define TOOL_VCC100X86_COMPILE_RC_CMDS 188 $(QUIET)$(TOOL_VCC100X86_RC) \ 189 189 $(flags) $(addprefix /i, $(subst /,\\,$(incs))) $(addprefix /d, $(defs))\ 190 190 /fo$(obj)\ … … 203 203 # @param $(outbase) Output basename (full). Use this for list files and such. 204 204 # 205 TOOL_VCC 80X86_LINK_LIBRARY_DEPEND = $(othersrc)206 TOOL_VCC 80X86_LINK_LIBRARY_DEPORD =207 TOOL_VCC 80X86_LINK_LIBRARY_OUTPUT = $(outbase).rsp208 TOOL_VCC 80X86_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb209 define TOOL_VCC 80X86_LINK_LIBRARY_CMDS205 TOOL_VCC100X86_LINK_LIBRARY_DEPEND = $(othersrc) 206 TOOL_VCC100X86_LINK_LIBRARY_DEPORD = 207 TOOL_VCC100X86_LINK_LIBRARY_OUTPUT = $(outbase).rsp 208 TOOL_VCC100X86_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb 209 define TOOL_VCC100X86_LINK_LIBRARY_CMDS 210 210 $(QUIET)$(APPEND) -n $(outbase).rsp \ 211 211 $(foreach arg,\ … … 214 214 $(addprefix /DEF:,$(filter %.def,$(othersrc))) \ 215 215 ,\"$(arg)\") 216 $(QUIET)$(TOOL_VCC 80X86_AR) $(flags) /OUT:$(out) @$(outbase).rsp216 $(QUIET)$(TOOL_VCC100X86_AR) $(flags) /OUT:$(out) @$(outbase).rsp 217 217 endef 218 218 … … 232 232 # @param $(outbase) Output basename (full). Use this for list files and such. 233 233 # 234 TOOL_VCC 80X86_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)235 TOOL_VCC 80X86_LINK_PROGRAM_DEPORD =236 TOOL_VCC 80X86_LINK_PROGRAM_OUTPUT = $(outbase).map237 TOOL_VCC 80X86_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).pdb $(outbase).ilk $(out).manifest238 define TOOL_VCC 80X86_LINK_PROGRAM_CMDS239 $(QUIET)$(TOOL_VCC 80X86_LD) $(flags) \234 TOOL_VCC100X86_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc) 235 TOOL_VCC100X86_LINK_PROGRAM_DEPORD = 236 TOOL_VCC100X86_LINK_PROGRAM_OUTPUT = $(outbase).map 237 TOOL_VCC100X86_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).pdb $(outbase).ilk $(out).manifest 238 define TOOL_VCC100X86_LINK_PROGRAM_CMDS 239 $(QUIET)$(TOOL_VCC100X86_LD) $(flags) \ 240 240 /OUT:$(out) \ 241 241 /MAPINFO:EXPORTS /INCREMENTAL:NO \ … … 247 247 $(subst /,\\,$(libs)) 248 248 $(QUIET)$(TEST) -f $(out).manifest -- \ 249 $(TOOL_VCC 80X86_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))249 $(TOOL_VCC100X86_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out)) 250 250 endef 251 251 … … 265 265 # 266 266 # @param $(outbase) Output basename (full). Use this for list files and such. 267 TOOL_VCC 80X86_LINK_DLL_DEPEND = $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)268 TOOL_VCC 80X86_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_LIB))269 TOOL_VCC 80X86_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp270 TOOL_VCC 80X86_LINK_DLL_OUTPUT_MAYBE = $(outbase).pdb $(outbase).ilk $(out).manifest $(PATH_LIB)/$(notdir $(outbase)).lib $(PATH_LIB)/$(notdir $(outbase)).exp271 define TOOL_VCC 80X86_LINK_DLL_CMDS272 $(QUIET)$(TOOL_VCC 80X86_LD) $(flags) \267 TOOL_VCC100X86_LINK_DLL_DEPEND = $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc) 268 TOOL_VCC100X86_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_LIB)) 269 TOOL_VCC100X86_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp 270 TOOL_VCC100X86_LINK_DLL_OUTPUT_MAYBE = $(outbase).pdb $(outbase).ilk $(out).manifest $(PATH_LIB)/$(notdir $(outbase)).lib $(PATH_LIB)/$(notdir $(outbase)).exp 271 define TOOL_VCC100X86_LINK_DLL_CMDS 272 $(QUIET)$(TOOL_VCC100X86_LD) $(flags) \ 273 273 /OUT:$(out) \ 274 274 /IMPLIB:$(outbase).lib \ … … 282 282 $(subst /,\\,$(libs)) 283 283 $(QUIET)$(TEST) -f $(out).manifest -- \ 284 $(TOOL_VCC 80X86_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'284 $(TOOL_VCC100X86_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2' 285 285 $(QUIET)$(CP) --changed --ignore-non-existing $(outbase).exp $(outbase).lib $(PATH_LIB)/ 286 286 $(eval _DIRS += $(PATH_LIB)) … … 302 302 # 303 303 # @param $(outbase) Output basename (full). Use this for list files and such. 304 TOOL_VCC 80X86_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)305 TOOL_VCC 80X86_LINK_SYSMOD_DEPORD =306 TOOL_VCC 80X86_LINK_SYSMOD_OUTPUT = $(outbase).map307 TOOL_VCC 80X86_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).pdb $(outbase).ilk $(out).manifest308 define TOOL_VCC 80X86_LINK_SYSMOD_CMDS309 $(QUIET)$(TOOL_VCC 80X86_LD) $(flags) \304 TOOL_VCC100X86_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc) 305 TOOL_VCC100X86_LINK_SYSMOD_DEPORD = 306 TOOL_VCC100X86_LINK_SYSMOD_OUTPUT = $(outbase).map 307 TOOL_VCC100X86_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).pdb $(outbase).ilk $(out).manifest 308 define TOOL_VCC100X86_LINK_SYSMOD_CMDS 309 $(QUIET)$(TOOL_VCC100X86_LD) $(flags) \ 310 310 /OUT:$(out) \ 311 311 /MAPINFO:EXPORTS /INCREMENTAL:NO \ … … 317 317 $(subst /,\\,$(libs)) 318 318 $(QUIET)$(TEST) -f $(out).manifest -- \ 319 $(TOOL_VCC 80X86_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'320 endef 321 319 $(TOOL_VCC100X86_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2' 320 endef 321
Note:
See TracChangeset
for help on using the changeset viewer.