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/VCC80.kmk

    r2524 r2557  
    227227TOOL_VCC80_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
    228228define TOOL_VCC80_LINK_LIBRARY_CMDS
    229         $(QUIET)$(APPEND) -n $(outbase).rsp \
     229        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    230230                $(foreach arg,\
    231231                        $(subst /,\\,$(objs) \
     
    255255TOOL_VCC80_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    256256TOOL_VCC80_LINK_PROGRAM_DEPORD =
    257 TOOL_VCC80_LINK_PROGRAM_OUTPUT = $(outbase).map
     257TOOL_VCC80_LINK_PROGRAM_OUTPUT = $(outbase).map $(outbase).rsp
    258258TOOL_VCC80_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
    259259TOOL_VCC80_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
    260260TOOL_VCC80_LINK_PROGRAM_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    261261define TOOL_VCC80_LINK_PROGRAM_CMDS
     262        $(QUIET)$(APPEND) -tn $(outbase).rsp \
     263                $(foreach arg,\
     264                    $(subst /,\\,$(objs)) \
     265                    $(subst /,\\,$(libs)) \
     266                        ,\"$(arg)\")
    262267        $(QUIET)$(TOOL_VCC80_LD) $(flags) \
    263268                /OUT:$(out) \
     
    267272                $(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
    268273                $(foreach p,$(libpath), /LIBPATH:$(p)) \
    269                 $(subst /,\\,$(objs)) \
    270                 $(subst /,\\,$(libs))
     274                @$(outbase).rsp
    271275        $(QUIET)$(TEST) -f $(out).manifest -- \
    272276                $(TOOL_VCC80_MT) -manifest $(subst /,\\,$(out)).manifest -outputresource:$(subst /,\\,$(out))
     
    290294TOOL_VCC80_LINK_DLL_DEPEND = $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    291295TOOL_VCC80_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
    292 TOOL_VCC80_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp
     296TOOL_VCC80_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).rsp
    293297TOOL_VCC80_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(out).manifest $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
    294298TOOL_VCC80_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
    295299TOOL_VCC80_LINK_DLL_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    296300define TOOL_VCC80_LINK_DLL_CMDS
     301        $(QUIET)$(APPEND) -tn $(outbase).rsp \
     302                $(foreach arg,\
     303                    $(subst /,\\,$(objs)) \
     304                    $(subst /,\\,$(libs)) \
     305                        ,\"$(arg)\")
    297306        $(QUIET)$(TOOL_VCC80_LD) $(flags) \
    298307                /OUT:$(out) \
     
    304313                $(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
    305314                $(foreach p,$(libpath), /LIBPATH:$(p)) \
    306                 $(subst /,\\,$(objs)) \
    307                 $(subst /,\\,$(libs))
     315                @$(outbase).rsp
    308316        $(QUIET)$(TEST) -f $(out).manifest -- \
    309317                $(TOOL_VCC80_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
     
    329337TOOL_VCC80_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(othersrc)
    330338TOOL_VCC80_LINK_SYSMOD_DEPORD =
    331 TOOL_VCC80_LINK_SYSMOD_OUTPUT = $(outbase).map
     339TOOL_VCC80_LINK_SYSMOD_OUTPUT = $(outbase).map $(outbase).rsp
    332340TOOL_VCC80_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk $(out).manifest
    333341TOOL_VCC80_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
    334342TOOL_VCC80_LINK_SYSMOD_DEBUG_INSTALL_FN = $(2).pdb=>$(basename $(3)).pdb
    335343define TOOL_VCC80_LINK_SYSMOD_CMDS
     344        $(QUIET)$(APPEND) -tn $(outbase).rsp \
     345                $(foreach arg,\
     346                    $(subst /,\\,$(objs)) \
     347                    $(subst /,\\,$(libs)) \
     348                        ,\"$(arg)\")
    336349        $(QUIET)$(TOOL_VCC80_LD) $(flags) \
    337350                /OUT:$(out) \
     
    341354                $(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
    342355                $(foreach p,$(libpath), /LIBPATH:$(p)) \
    343                 $(subst /,\\,$(objs)) \
    344                 $(subst /,\\,$(libs))
     356                @$(outbase).rsp
    345357        $(QUIET)$(TEST) -f $(out).manifest -- \
    346358                $(TOOL_VCC80_MT) -manifest $(subst /,\\,$(out)).manifest '-outputresource:$(subst /,\\,$(out));#2'
Note: See TracChangeset for help on using the changeset viewer.