Ignore:
Timestamp:
Jun 29, 2004, 7:30:14 PM (21 years ago)
Author:
bird
Message:

DLL

File:
1 edited

Legend:

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

    r129 r130  
    5757TOOL_GCC3_LDFLAGS.debug      := -g
    5858TOOL_GCC3_LDFLAGS.release    := -s
     59ifndef TOOL_GCC3_LDFLAGS.$(BUILD_TARGET)
     60TOOL_GCC3_LDFLAGS.dll        := -shared
     61else
     62TOOL_GCC3_LDFLAGS.dll        := $(TOOL_GCC3_LDFLAGS.$(BUILD_TARGET))
     63endif
    5964
    6065
     
    137142# @param        $(dirdep)   Directory creation dependency.
    138143# @param        $(deps)         Other dependencies.
    139 # @param        $(deffile)  Definition file. (optional, PC only)
     144# @param        $(othersrc) Unhandled sources.
    140145# @param        $(custom_pre)   Custom step invoked before linking.
    141146# @param        $(custom_post)  Custom step invoked after linking.
     
    155160        $(eval $(custom_post))
    156161endif   
    157         $(MKDIR) -p $(PATH_BIN)
    158         $(CP) $$@ $(PATH_BIN)/
    159162       
    160163endef
    161164
     165
     166## Link DLL
     167# @param    $(target)   Normalized main target name.
     168# @param    $(dll)              Program name.
     169# @param    $(objs)     Object files to link together.
     170# @param    $(libs)     Libraries to search.
     171# @param    $(libpath)  Library search paths.
     172# @param    $(flags)    Flags.
     173# @param        $(dirdep)   Directory creation dependency.
     174# @param        $(deps)         Other dependencies.
     175# @param        $(othersrc) Unhandled sources.
     176# @param        $(custom_pre)   Custom step invoked before linking.
     177# @param        $(custom_post)  Custom step invoked after linking.
     178#
     179# @param    $(outbase)  Output basename (full). Use this for list files and such.
     180define TOOL_GCC3_LINK_DLL
     181#$ (warning dbg: TOOL_GCC3_LINK_PROGRAM: target=$(target) dll=$(dll) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) deffile=$(deffile) outbase=$(outbase))
     182$(dll): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps)
     183        $(call MSG_L1,Creating Program $$@)
     184ifneq ($(custom_pre),)
     185        $(eval $(custom_pre))
     186endif   
     187        $(TOOL_GCC3_LD) $(TOOL_GCC3_LDFLAGS.dll) $(flags) -o $$@ $(objs) \
     188        $(foreach p,$(libpath), -L$(p)) \
     189        $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))
     190ifneq ($(custom_post),)
     191        $(eval $(custom_post))
     192endif   
     193       
     194endef
     195
Note: See TracChangeset for help on using the changeset viewer.