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

    r2524 r2557  
    240240TOOL_VCC70_LINK_LIBRARY_OUTPUT_MAYBE = $(outbase).lst $(outbase).exp $(outbase).pdb
    241241define TOOL_VCC70_LINK_LIBRARY_CMDS
    242         $(QUIET)$(APPEND) -n $(outbase).rsp \
     242        $(QUIET)$(APPEND) -tn $(outbase).rsp \
    243243                $(foreach arg,\
    244244                        $(subst /,\\,$(objs) \
     
    264264# @param    $(outbase)      Output basename (full). Use this for list files and such.
    265265#
     266TOOL_VCC70_LINK_PROGRAM_OUTPUT = $(outbase).rsp
    266267TOOL_VCC70_LINK_PROGRAM_OUTPUT_MAYBE = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).ilk
    267268TOOL_VCC70_LINK_PROGRAM_OUTPUT_DEBUG = $(outbase).pdb
     
    270271TOOL_VCC70_LINK_PROGRAM_DEPORD =
    271272define TOOL_VCC70_LINK_PROGRAM_CMDS
     273        $(QUIET)$(APPEND) -tn $(outbase).rsp \
     274                $(foreach arg,\
     275                    $(subst /,\\,$(objs)) \
     276                    $(subst /,\\,$(libs)) \
     277                        ,\"$(arg)\")
    272278        $(QUIET)$(TOOL_VCC70_LD) $(flags) \
    273279                /OUT:$(out) \
     
    277283                $(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
    278284                $(foreach p,$(libpath), /LIBPATH:$(p)) \
    279                 $(subst /,\\,$(objs)) \
    280                 $(subst /,\\,$(libs))
     285                @$(outbase).rsp
    281286endef
    282287
     
    296301#
    297302# @param    $(outbase)  Output basename (full). Use this for list files and such.
    298 TOOL_VCC70_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp
     303TOOL_VCC70_LINK_DLL_OUTPUT = $(outbase).map $(outbase).lib $(outbase).exp $(outbase).rsp
    299304TOOL_VCC70_LINK_DLL_OUTPUT_MAYBE = $(outbase).ilk $(PATH_STAGE_LIB)/$(notdir $(outbase)).lib $(PATH_STAGE_LIB)/$(notdir $(outbase)).exp
    300305TOOL_VCC70_LINK_DLL_OUTPUT_DEBUG = $(outbase).pdb
     
    303308TOOL_VCC70_LINK_DLL_DEPORD = $(call DIRDEP,$(PATH_STAGE_LIB))
    304309define TOOL_VCC70_LINK_DLL_CMDS
     310        $(QUIET)$(APPEND) -tn $(outbase).rsp \
     311                $(foreach arg,\
     312                    $(subst /,\\,$(objs)) \
     313                    $(subst /,\\,$(libs)) \
     314                        ,\"$(arg)\")
    305315        $(QUIET)$(TOOL_VCC70_LD) $(flags) \
    306316                /OUT:$(out) \
     
    312322                $(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
    313323                $(foreach p,$(libpath), /LIBPATH:$(p)) \
    314                 $(subst /,\\,$(objs)) \
    315                 $(subst /,\\,$(libs))
     324                @$(outbase).rsp
    316325        $(QUIET)$(CP) --changed --ignore-non-existing $(outbase).exp $(outbase).lib $(PATH_STAGE_LIB)/
    317326$(eval _DIRS += $(PATH_STAGE_LIB))
     
    333342#
    334343# @param    $(outbase)  Output basename (full). Use this for list files and such.
    335 TOOL_VCC70_LINK_SYSMOD_OUTPUT = $(outbase).map
     344TOOL_VCC70_LINK_SYSMOD_OUTPUT = $(outbase).map $(outbase).rsp
    336345TOOL_VCC70_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).lib $(outbase).exp $(outbase).ilk
    337346TOOL_VCC70_LINK_SYSMOD_OUTPUT_DEBUG = $(outbase).pdb
     
    340349TOOL_VCC70_LINK_SYSMOD_DEPORD =
    341350define TOOL_VCC70_LINK_SYSMOD_CMDS
     351        $(QUIET)$(APPEND) -tn $(outbase).rsp \
     352                $(foreach arg,\
     353                    $(subst /,\\,$(objs)) \
     354                    $(subst /,\\,$(libs)) \
     355                        ,\"$(arg)\")
    342356        $(QUIET)$(TOOL_VCC70_LD) $(flags) \
    343357                /OUT:$(out) \
     
    347361                $(subst /,\\,$(filter %.exp %.res,$(othersrc))) \
    348362                $(foreach p,$(libpath), /LIBPATH:$(p)) \
    349                 $(subst /,\\,$(objs)) \
    350                 $(subst /,\\,$(libs))
    351 endef
    352 
     363                @$(outbase).rsp
     364endef
     365
Note: See TracChangeset for help on using the changeset viewer.