Ignore:
Timestamp:
Dec 29, 2004, 8:43:09 PM (21 years ago)
Author:
bird
Message:

Added support for merging libs.

File:
1 edited

Legend:

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

    r187 r206  
    130130# @param        $(dirdep)   Directory creation dependency.
    131131# @param        $(deps)         Other dependencies.
     132# @param        $(othersrc) Unhandled sources.
    132133#
    133134# @param    $(outbase)  Output basename (full). Use this for list files and such.
    134135define TOOL_GCC3OMF_LINK_LIBRARY
    135 #$ (warning dbg: TOOL_GCC3OMF_LINK_LIBRARY: target=$(target) lib=$(lib) objs=$(objs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) outbase=$(outbase))
    136 $(lib): $(dirdep) $(objs) $(deps)
     136#$ (warning dbg: TOOL_GCC3OMF_LINK_LIBRARY: target=$(target) lib=$(lib) objs=$(objs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) othersrc=$(othersrc) outbase=$(outbase))
     137$(lib): $(dirdep) $(objs) $(deps) $(filter %.a %.lib,$(othersrc))
    137138        $(call MSG_L1,Creating Library $$@)
    138139        $(RM) -f $$@
    139         $(TOOL_GCC3OMF_AR) $(flags) $$@ $(objs)
     140        $(TOOL_GCC3OMF_AR) $(flags) $$@ $(objs) $(filter %.a %.lib,$(othersrc))
    140141
    141142endef
     
    158159define TOOL_GCC3OMF_LINK_PROGRAM
    159160#$ (warning dbg: TOOL_GCC3OMF_LINK_PROGRAM: target=$(target) exe=$(exe) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) deffile=$(deffile) outbase=$(outbase))
    160 $(exe): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps)
     161$(exe): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) $(filter %.def, $(othersrc))
    161162        $(call MSG_L1,Creating Program $$@)
    162163ifneq ($(custom_pre),)
     
    164165endif
    165166        $(TOOL_GCC3OMF_LD) $(flags) -o $$@ $(objs) \
    166         $(foreach p,$(libpath), -L$(p)) \
    167         $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))
     167                $(filter %.def, $(othersrc)) \
     168                $(foreach p,$(libpath), -L$(p)) \
     169                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))
    168170ifneq ($(custom_post),)
    169171        $(eval $(custom_post))
     
    220222define TOOL_GCC3OMF_LINK_SYSMOD
    221223#$ (warning dbg: TOOL_GCC3OMF_LINK_SYSMOD: target=$(target) sys=$(sys) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) othersrc=$(othersrc) outbase=$(outbase))
    222 $(sys): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps)
     224$(sys): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps) $(filter %.def, $(othersrc))
    223225        $(call MSG_L1,Creating Program $$@)
    224226ifneq ($(custom_pre),)
     
    226228endif
    227229        $(TOOL_GCC3OMF_LD_SYSMOD) $(TOOL_GCC3OMF_LDFLAGS.sysmod) $(flags) -o $$@ $(objs) \
     230                $(filter %.def, $(othersrc)) \
    228231                $(foreach p,$(libpath), -L$(p)) \
    229232                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))
Note: See TracChangeset for help on using the changeset viewer.