VirtualBox

Changeset 846 in kBuild for trunk


Ignore:
Timestamp:
Feb 4, 2007 2:37:42 PM (18 years ago)
Author:
bird
Message:

Fixed busted compile templates and implemented library merging.

File:
1 edited

Legend:

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

    r782 r846  
    3232TOOL_GCC_AS  ?= gcc$(HOSTSUFF_EXE)
    3333TOOL_GCC_AR  ?= ar$(HOSTSUFF_EXE)
     34TOOL_GCC_RANLIB ?= ranlib$(HOSTSUFF_EXE)
    3435TOOL_GCC_LD  ?= g++$(HOSTSUFF_EXE)
    3536TOOL_GCC_LDFLAGS.dll.os2 ?= -Zdll
     37TOOL_GCC_LDFLAGS.dll.darwin ?= -dynamiclib
    3638ifndef TOOL_GCC_LDFLAGS.$(BUILD_TARGET)
    3739TOOL_GCC_LDFLAGS.dll ?= -shared
     
    9092        $(QUIET)$(TOOL_GCC_CC) -c\
    9193                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    92                 -Wp,-MD,$(dep) -Wp,-MT,$(out) \
    93                 -o $(out)\
     94                -Wp,-MD,$(dep) -Wp,-MT,$(obj) \
     95                -o $(obj)\
    9496                $(abspath $(source))
    9597endef
     
    115117        $(QUIET)$(TOOL_GCC_CXX) -c\
    116118                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    117                 -Wp,-MD,$(dep) -Wp,-MT,$(out) \
    118                 -o $(out)\
     119                -Wp,-MD,$(dep) -Wp,-MT,$(obj) \
     120                -o $(obj)\
    119121                $(abspath $(source))
    120122endef
     
    140142        $(QUIET)$(TOOL_GCC_AS) -c\
    141143                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    142                 -Wp,-MD,$(dep) -Wp,-MT,$(out) \
    143                 -o $(out)\
     144                -Wp,-MD,$(dep) -Wp,-MT,$(obj) \
     145                -o $(obj)\
    144146                $(abspath $(source))
    145147endef
     
    160162define TOOL_GCC_LINK_LIBRARY_CMDS
    161163        $(QUIET)$(TOOL_GCC_AR) $(flags) $(out) $(objs)
     164        $(call xargs,$(QUIET)$(TOOL_GCC_AR) $(flags) $(out),$(objs))
     165        $(foreach lib,$(othersrc)\
     166                ,$(NL)$(TAB)$(call MSG_AR_MERGE,$(target),$(out),$(lib)) \
     167                $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))ar.tmp.dir/* \
     168                $(NL)$(TAB)$(QUIET)$(MKDIR) -p $(dir $(outbase))/ar.tmp.dir/ \
     169                $(NL)$(TAB)$(QUIET)(cd $(dir $(outbase))ar.tmp.dir/ \
     170                        && $(TOOL_GCC_AR) x $(abspath $(lib)) \
     171                        && $(TOOL_GCC_AR) $(flags) $(out) *) \
     172                $(NL)$(TAB)$(QUIET)$(RM_EXT) -f $(dir $(outbase))/ar.tmp.dir/* \
     173                $(NL)$(TAB)$(QUIET)$(RMDIR) $(dir $(outbase))ar.tmp.dir/)
     174        $(QUIET)$(TOOL_GCC_RANLIB) $(out)
    162175endef
    163176
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette