Ignore:
Timestamp:
Aug 3, 2004, 10:01:17 PM (21 years ago)
Author:
bird
Message:

Linux SYSMOD for GCC3. (bad feeling)

File:
1 edited

Legend:

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

    r130 r137  
    5454
    5555TOOL_GCC3_LD                 := g++$(HOSTSUFF_EXE)
     56TOOL_GCC3_LD_SYSMOD          := ld$(HOSTSUFF_EXE)
    5657TOOL_GCC3_LDFLAGS            :=
    5758TOOL_GCC3_LDFLAGS.debug      := -g
     
    6263TOOL_GCC3_LDFLAGS.dll        := $(TOOL_GCC3_LDFLAGS.$(BUILD_TARGET))
    6364endif
     65TOOL_GCC3_LDFLAGS.sysmod     := -r
     66
    6467
    6568
     
    194197endef
    195198
     199## Link system module (windows aka driver, linux aka kernel module)
     200# @param    $(target)   Normalized main target name.
     201# @param    $(sys)              System module name.
     202# @param    $(objs)     Object files to link together.
     203# @param    $(libs)     Libraries to search.
     204# @param    $(libpath)  Library search paths.
     205# @param    $(flags)    Flags.
     206# @param        $(dirdep)   Directory creation dependency.
     207# @param        $(deps)         Other dependencies.
     208# @param        $(othersrc) Unhandled sources.
     209# @param        $(custom_pre)   Custom step invoked before linking.
     210# @param        $(custom_post)  Custom step invoked after linking.
     211#
     212# @param    $(outbase)  Output basename (full). Use this for list files and such.
     213define TOOL_GCC3_LINK_SYSMOD
     214#$ (warning dbg: TOOL_GCC3_LINK_SYSMOD: target=$(target) sys=$(sys) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) othersrc=$(othersrc) outbase=$(outbase))
     215$(sys): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps)
     216        $(call MSG_L1,Creating Program $$@)
     217ifneq ($(custom_pre),)
     218        $(eval $(custom_pre))
     219endif   
     220        $(TOOL_GCC3_LD_SYSMOD) $(TOOL_GCC3_LDFLAGS.sysmod) $(flags) -o $$@ $(objs) \
     221                $(foreach p,$(libpath), -L$(p)) \
     222                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))
     223ifneq ($(custom_post),)
     224        $(eval $(custom_post))
     225endif   
     226
     227endef
     228                                                                                                       
Note: See TracChangeset for help on using the changeset viewer.