Changeset 1084


Ignore:
Timestamp:
Aug 23, 2007, 6:36:28 PM (18 years ago)
Author:
bird
Message:

Added SYSMOD for the platforms where it works.

Location:
trunk/kBuild/tools
Files:
2 edited

Legend:

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

    r1083 r1084  
    3434TOOL_GCC3PLAIN_RANLIB ?= ranlib$(HOSTSUFF_EXE)
    3535TOOL_GCC3PLAIN_LD  ?= gcc$(HOSTSUFF_EXE)
     36TOOL_GCC3PLAIN_LD_SYSMOD ?= ld$(HOSTSUFF_EXE)
     37TOOL_GCC3PLAIN_LD_SYSMOD.os2 ?= g++$(HOSTSUFF_EXE)
    3638TOOL_GCC3PLAIN_LDFLAGS.dll.os2 ?= -Zdll
    3739TOOL_GCC3PLAIN_LDFLAGS.dll.darwin ?= -dynamiclib
     
    273275endef
    274276
     277
     278## Link system module (windows aka driver, linux aka kernel module)
     279# This tool target might not work everywhere, but is provided for the
     280# platforms where it works (Solaris, etc).
     281#
     282# @param    $(target)   Normalized main target name.
     283# @param    $(out)      System module name.
     284# @param    $(objs)     Object files to link together.
     285# @param    $(libs)     Libraries to search.
     286# @param    $(libpath)  Library search paths.
     287# @param    $(flags)    Flags.
     288# @param    $(dirdep)   Directory creation dependency.
     289# @param    $(deps)     Other dependencies.
     290# @param    $(othersrc) Unhandled sources.
     291# @param    $(custom_pre)   Custom step invoked before linking.
     292# @param    $(custom_post)  Custom step invoked after linking.
     293# @param    $(outbase)  Output basename (full). Use this for list files and such.
     294TOOL_GCC3PLAIN_LINK_SYSMOD_OUTPUT =
     295TOOL_GCC3PLAIN_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map
     296TOOL_GCC3PLAIN_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\
     297                $(filter %.def, $(othersrc))
     298TOOL_GCC3PLAIN_LINK_SYSMOD_DEPORD =
     299define TOOL_GCC3PLAIN_LINK_SYSMOD_CMDS
     300        $(QUIET)$(if $(TOOL_GCC3PLAIN_LD_SYSMOD.$(bld_trg)),$(TOOL_GCC3PLAIN_LD_SYSMOD.$(bld_trg)),$(TOOL_GCC3PLAIN_LD_SYSMOD))\
     301                $(TOOL_GCC3PLAIN_LDFLAGS_SYSMOD.$(bld_trg))  $(flags) -o $(out)\
     302                $(objs)\
     303                $(filter %.def, $(othersrc))\
     304                $(foreach p,$(libpath), -L$(p))\
     305                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
     306                $(call TOOL_GCC3PLAIN_LD_SYSMOD_MAP.$(bld_trg),$(outbase).map)
     307endef
     308
  • trunk/kBuild/tools/GXX3PLAIN.kmk

    r1083 r1084  
    3434TOOL_GXX3PLAIN_RANLIB ?= ranlib$(HOSTSUFF_EXE)
    3535TOOL_GXX3PLAIN_LD  ?= g++$(HOSTSUFF_EXE)
     36TOOL_GXX3PLAIN_LD_SYSMOD ?= ld$(HOSTSUFF_EXE)
     37TOOL_GXX3PLAIN_LD_SYSMOD.os2 ?= g++$(HOSTSUFF_EXE)
    3638TOOL_GXX3PLAIN_LDFLAGS.dll.os2 ?= -Zdll
    3739TOOL_GXX3PLAIN_LDFLAGS.dll.darwin ?= -dynamiclib
     
    273275endef
    274276
     277
     278## Link system module (windows aka driver, linux aka kernel module)
     279# This tool target might not work everywhere, but is provided for the
     280# platforms where it works (Solaris, etc).
     281#
     282# @param    $(target)   Normalized main target name.
     283# @param    $(out)      System module name.
     284# @param    $(objs)     Object files to link together.
     285# @param    $(libs)     Libraries to search.
     286# @param    $(libpath)  Library search paths.
     287# @param    $(flags)    Flags.
     288# @param    $(dirdep)   Directory creation dependency.
     289# @param    $(deps)     Other dependencies.
     290# @param    $(othersrc) Unhandled sources.
     291# @param    $(custom_pre)   Custom step invoked before linking.
     292# @param    $(custom_post)  Custom step invoked after linking.
     293# @param    $(outbase)  Output basename (full). Use this for list files and such.
     294TOOL_GXX3PLAIN_LINK_SYSMOD_OUTPUT =
     295TOOL_GXX3PLAIN_LINK_SYSMOD_OUTPUT_MAYBE = $(outbase).map
     296TOOL_GXX3PLAIN_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\
     297                $(filter %.def, $(othersrc))
     298TOOL_GXX3PLAIN_LINK_SYSMOD_DEPORD =
     299define TOOL_GXX3PLAIN_LINK_SYSMOD_CMDS
     300        $(QUIET)$(if $(TOOL_GXX3PLAIN_LD_SYSMOD.$(bld_trg)),$(TOOL_GXX3PLAIN_LD_SYSMOD.$(bld_trg)),$(TOOL_GXX3PLAIN_LD_SYSMOD))\
     301                $(TOOL_GXX3PLAIN_LDFLAGS_SYSMOD.$(bld_trg)) $(flags) -o $(out) \
     302                $(objs)\
     303                $(filter %.def, $(othersrc))\
     304                $(foreach p,$(libpath), -L$(p))\
     305                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
     306                $(call TOOL_GXX3PLAIN_LD_SYSMOD_MAP.$(bld_trg),$(outbase).map)
     307endef
     308
Note: See TracChangeset for help on using the changeset viewer.