Ignore:
Timestamp:
Dec 13, 2011, 1:48:32 PM (14 years ago)
Author:
bird
Message:

tools/VCC*.kmk: Use response files when linking.

File:
1 edited

Legend:

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

    r2524 r2557  
    206206TOOL_VCC80AMD64_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
    207207define TOOL_VCC80AMD64_LINK_LIBRARY_CMDS
    208         $(QUIET)$(APPEND) -n $(outbase).rsp \
     208        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    209209                $(foreach arg,\
    210210                        $(subst /,\\,$(objs) \
     
    232232TOOL_VCC80AMD64_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    233233TOOL_VCC80AMD64_LINK_PROGRAM_DEPORD =
    234 TOOL_VCC80AMD64_LINK_PROGRAM_OUTPUT = $(outbase).map
     234TOOL_VCC80AMD64_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp
    235235TOOL_VCC80AMD64_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
    236236TOOL_VCC80AMD64_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
    237237TOOL_VCC80AMD64_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    238238define TOOL_VCC80AMD64_LINK_PROGRAM_CMDS
     239        $(QUIET)$(APPEND) -tn $(outbase).rsp \
     240                $(foreach arg,\
     241                    $(subst /,\\,$(objs)) \
     242                    $(subst /,\\,$(libs)) \
     243                        ,\"$(arg)\")
    239244        $(QUIET)$(TOOL_VCC80AMD64_LD) $(flags) \
    240245                /OUT:$(out) \
     
    244249                $(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
    245250                $(foreach p,$(libpath), /LIBPATH:$(p)) \
    246                 $(subst /,\\,$(objs)) \
    247                 $(subst /,\\,$(libs))
     251        @$(outbase).rsp
    248252        $(QUIET)$(TEST) -f $(out).manifest -- \
    249253                $(TOOL_VCC80AMD64_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
     
    267271TOOL_VCC80AMD64_LINK_DLL_DEPEND = $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    268272TOOL_VCC80AMD64_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
    269 TOOL_VCC80AMD64_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp
     273TOOL_VCC80AMD64_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).rsp
    270274TOOL_VCC80AMD64_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
    271275TOOL_VCC80AMD64_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
    272276TOOL_VCC80AMD64_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    273277define TOOL_VCC80AMD64_LINK_DLL_CMDS
     278        $(QUIET)$(APPEND) -tn $(outbase).rsp \
     279                $(foreach arg,\
     280                    $(subst /,\\,$(objs)) \
     281                    $(subst /,\\,$(libs)) \
     282                        ,\"$(arg)\")
    274283        $(QUIET)$(TOOL_VCC80AMD64_LD) $(flags) \
    275284                /OUT:$(out) \
     
    281290                $(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
    282291                $(foreach p,$(libpath), /LIBPATH:$(p)) \
    283                 $(subst /,\\,$(objs)) \
    284                 $(subst /,\\,$(libs))
     292        @$(outbase).rsp
    285293        $(QUIET)$(TEST) -f $(out).manifest -- \
    286294                $(TOOL_VCC80AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
     
    306314TOOL_VCC80AMD64_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    307315TOOL_VCC80AMD64_LINK_SYSMOD_DEPORD =
    308 TOOL_VCC80AMD64_LINK_SYSMOD_OUTPUT = $(outbase).map
     316TOOL_VCC80AMD64_LINK_SYSMOD_OUTPUT = $(outbase).map $(outbase).rsp
    309317TOOL_VCC80AMD64_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
    310318TOOL_VCC80AMD64_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
    311319TOOL_VCC80AMD64_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    312320define TOOL_VCC80AMD64_LINK_SYSMOD_CMDS
     321        $(QUIET)$(APPEND) -tn $(outbase).rsp \
     322                $(foreach arg,\
     323                    $(subst /,\\,$(objs)) \
     324                    $(subst /,\\,$(libs)) \
     325                        ,\"$(arg)\")
    313326        $(QUIET)$(TOOL_VCC80AMD64_LD) $(flags) \
    314327                /OUT:$(out) \
     
    318331                $(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
    319332                $(foreach p,$(libpath), /LIBPATH:$(p)) \
    320                 $(subst /,\\,$(objs)) \
    321                 $(subst /,\\,$(libs))
     333        @$(outbase).rsp
    322334        $(QUIET)$(TEST) -f $(out).manifest -- \
    323335                $(TOOL_VCC80AMD64_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
Note: See TracChangeset for help on using the changeset viewer.