Ignore:
Timestamp:
Dec 18, 2005, 2:52:47 PM (20 years ago)
Author:
bird
Message:

Big command dependency job. More installation stuff.

File:
1 edited

Legend:

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

    r353 r380  
    8787# @param    $(outbase)  Output basename (full). Use this for list files and such.
    8888# @param    $(objsuff)  Object suffix.
    89 define TOOL_GCC3OMF_COMPILE_C
    90 #$ (warning dbg: TOOL_GCC3OMF_COMPILE_C: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff) deps=$(deps))
    91 $(obj): $(deps) $(source) | $(dirdep)
    92         $(call MSG_L2,Compiling $$@ using GCC3)
     89TOOL_GCC3OMF_COMPILE_C_OUTPUT =
     90TOOL_GCC3OMF_COMPILE_C_DEPEND =
     91TOOL_GCC3OMF_COMPILE_C_DEPORD =
     92define TOOL_GCC3OMF_COMPILE_C_CMDS
    9393        $(TOOL_GCC3OMF_CC) -c\
    9494                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    95                 -Wp,-MD,$(dep) -Wp,-MT,$$@ -Wp,-MP \
    96                 -o $$@\
     95                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP \
     96                -o $(obj)\
    9797                $(call ABSPATH,$(source))
    98 
    9998endef
    10099
     
    113112# @param    $(outbase)  Output basename (full). Use this for list files and such.
    114113# @param    $(objsuff)  Object suffix.
    115 define TOOL_GCC3OMF_COMPILE_CXX
    116 #$ (warning dbg: TOOL_GCC3OMF_COMPILE_CXX: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff) deps=$(deps))
    117 $(obj): $(deps) $(source) | $(dirdep)
    118         $(call MSG_L2,Compiling $$@ using GCC3)
     114TOOL_GCC3OMF_COMPILE_CXX_OUTPUT =
     115TOOL_GCC3OMF_COMPILE_CXX_DEPEND =
     116TOOL_GCC3OMF_COMPILE_CXX_DEPORD =
     117define TOOL_GCC3OMF_COMPILE_CXX_CMDS
    119118        $(TOOL_GCC3OMF_CXX) -c\
    120119                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
    121                 -Wp,-MD,$(dep) -Wp,-MT,$$@ -Wp,-MP \
    122                 -o $$@\
     120                -Wp,-MD,$(dep) -Wp,-MT,$(obj) -Wp,-MP \
     121                -o $(obj)\
    123122                $(call ABSPATH,$(source))
    124 
    125123endef
    126124
     
    128126## Link library
    129127# @param    $(target)   Normalized main target name.
    130 # @param    $(lib)              Library name.
     128# @param    $(out)              Library name.
    131129# @param    $(objs)     Object files to put in the library.
    132130# @param    $(flags)    Flags.
     
    136134#
    137135# @param    $(outbase)  Output basename (full). Use this for list files and such.
    138 define TOOL_GCC3OMF_LINK_LIBRARY
    139 #$ (warning dbg: TOOL_GCC3OMF_LINK_LIBRARY: target=$(target) lib=$(lib) objs=$(objs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) othersrc=$(othersrc) outbase=$(outbase))
    140 $(lib): $(deps) $(objs) $(filter %.a %.lib %.def %.imp,$(othersrc)) | $(dirdep)
    141         $(call MSG_L1,Creating Library $$@)
    142         $(RM) -f $$@
    143         $(if $(filter %.def %.imp,$(othersrc)),$(TOOL_GCC3OMF_AR_IMP) -o $$@ $(filter %.def %.imp,$(othersrc)),)
    144         $(TOOL_GCC3OMF_AR) $(flags) $$@ $(objs) $(filter %.a %.lib,$(othersrc))
    145 
     136TOOL_GCC3OMF_LINK_LIBRARY_OUTPUT =
     137TOOL_GCC3OMF_LINK_LIBRARY_DEPEND = $(filter %.a %.lib %.def %.imp,$(othersrc))
     138TOOL_GCC3OMF_LINK_LIBRARY_DEPORD =
     139define TOOL_GCC3OMF_LINK_LIBRARY_CMDS
     140        $(if $(filter %.def %.imp,$(othersrc)),$(TOOL_GCC3OMF_AR_IMP) -o $(out) $(filter %.def %.imp,$(othersrc)),)
     141        $(TOOL_GCC3OMF_AR) $(flags) $(out) $(objs) $(filter %.a %.lib,$(othersrc))
    146142endef
    147143
     
    161157#
    162158# @param    $(outbase)  Output basename (full). Use this for list files and such.
    163 define TOOL_GCC3OMF_LINK_PROGRAM
    164 #$ (warning dbg: TOOL_GCC3OMF_LINK_PROGRAM: target=$(target) out=$(out) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) deffile=$(deffile) outbase=$(outbase))
    165 $(out) $(outbase).map: $(deps) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(filter %.def, $(othersrc)) | $(dirdep)
    166         $(call MSG_L1,Creating Program $$@)
    167 ifneq ($(custom_pre),)
    168         $(eval $(custom_pre))
    169 endif
    170         $(TOOL_GCC3OMF_LD) $(flags) -o $$@ $(objs) \
    171                 $(filter %.def, $(othersrc)) \
    172                 $(foreach p,$(libpath), -L$(p)) \
    173                 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib))) \
     159TOOL_GCC3OMF_LINK_PROGRAM_OUTPUT = $(outbase).map
     160TOOL_GCC3OMF_LINK_PROGRAM_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\
     161        $(filter %.def, $(othersrc))
     162TOOL_GCC3OMF_LINK_PROGRAM_DEPORD =
     163define TOOL_GCC3OMF_LINK_PROGRAM_CMDS
     164        $(TOOL_GCC3OMF_LD) $(flags) -o $(out) $(objs)\
     165                $(filter %.def, $(othersrc))\
     166                $(foreach p,$(libpath), -L$(p))\
     167                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
    174168                $(call TOOL_GCC3_LD_MAP,$(outbase).map)
    175 ifneq ($(custom_post),)
    176         $(eval $(custom_post))
    177 endif
    178 _OUT_FILES += $(outbase).map
    179 
    180169endef
    181170
     
    195184#
    196185# @param    $(outbase)  Output basename (full). Use this for list files and such.
    197 define TOOL_GCC3OMF_LINK_DLL
    198 #$ (warning dbg: TOOL_GCC3OMF_LINK_PROGRAM: target=$(target) out=$(out) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) deffile=$(deffile) outbase=$(outbase))
    199 $(out) $(outbase).map: $(deps) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(filter %.def, $(othersrc)) | $(dirdep)
    200         $(call MSG_L1,Creating Program $$@)
    201 ifneq ($(custom_pre),)
    202         $(eval $(custom_pre))
    203 endif
    204         $(TOOL_GCC3OMF_LD) $(TOOL_GCC3OMF_LDFLAGS.dll) $(flags) -o $$@ $(objs) \
    205         $(filter %.def, $(othersrc)) \
    206         $(foreach p,$(libpath), -L$(p)) \
    207         $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib))) \
    208         $(call TOOL_GCC3_LD_MAP,$(outbase).map)
    209 ifneq ($(custom_post),)
    210         $(eval $(custom_post))
    211 endif
    212 _OUT_FILES += $(outbase).map
    213 
     186TOOL_GCC3OMF_LINK_DLL_OUTPUT = $(outbase).map
     187TOOL_GCC3OMF_LINK_DLL_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\
     188        $(filter %.def, $(othersrc))
     189TOOL_GCC3OMF_LINK_DLL_DEPORD =
     190define TOOL_GCC3OMF_LINK_DLL_CMDS
     191        $(TOOL_GCC3OMF_LD) $(TOOL_GCC3OMF_LDFLAGS.dll) $(flags) -o $(out) $(objs)\
     192                $(filter %.def, $(othersrc))\
     193                $(foreach p,$(libpath), -L$(p))\
     194                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
     195                $(call TOOL_GCC3_LD_MAP,$(outbase).map)
    214196endef
    215197
     
    228210#
    229211# @param    $(outbase)  Output basename (full). Use this for list files and such.
    230 define TOOL_GCC3OMF_LINK_SYSMOD
    231 #$ (warning dbg: TOOL_GCC3OMF_LINK_SYSMOD: target=$(target) out=$(out) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) othersrc=$(othersrc) outbase=$(outbase))
    232 $(out) $(outbase).map: $(deps) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(filter %.def, $(othersrc)) | $(dirdep)
    233         $(call MSG_L1,Creating Program $$@)
    234 ifneq ($(custom_pre),)
    235         $(eval $(custom_pre))
    236 endif
    237         $(TOOL_GCC3OMF_LD_SYSMOD) $(TOOL_GCC3OMF_LDFLAGS.sysmod) $(flags) -o $$@ $(objs) \
    238                 $(filter %.def, $(othersrc)) \
    239                 $(foreach p,$(libpath), -L$(p)) \
    240                 $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib))) \
     212TOOL_GCC3OMF_LINK_SYSMOD_OUTPUT = $(outbase).map
     213TOOL_GCC3OMF_LINK_SYSMOD_DEPEND = $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib)))\
     214         $(filter %.def, $(othersrc))
     215TOOL_GCC3OMF_LINK_SYSMOD_DEPORD =
     216define TOOL_GCC3OMF_LINK_SYSMOD_CMDS
     217        $(TOOL_GCC3OMF_LD_SYSMOD) $(TOOL_GCC3OMF_LDFLAGS.sysmod) $(flags) -o $(out) $(objs)\
     218                $(filter %.def, $(othersrc))\
     219                $(foreach p,$(libpath), -L$(p))\
     220                $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))\
    241221                $(call TOOL_GCC3_LD_SYSMOD_MAP,$(outbase).map)
    242 ifneq ($(custom_post),)
    243         $(eval $(custom_post))
    244 endif
    245 _OUT_FILES += $(outbase).map
    246 
    247 endef
    248 
     222endef
     223
Note: See TracChangeset for help on using the changeset viewer.