Ignore:
Timestamp:
May 31, 2004, 4:19:05 AM (21 years ago)
Author:
bird
Message:

..

File:
1 edited

Legend:

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

    r73 r74  
    2626
    2727
    28 TOOL_GCC                := Generic GCC
     28TOOL_GCC                    := Generic GCC
    2929
    30 TOOL_GCC_CC             := gcc$(HOSTSUFF_EXE)
    31 TOOL_GCC_COBJSUFF       := .o
    32 TOOL_GCC_CFLAGS         := -g
    33 TOOL_GCC_CFLAGS.debug   := -O0
    34 TOOL_GCC_CFLAGS.release := -O2
    35 TOOL_GCC_CFLAGS.profile := -pg
    36 TOOL_GCC_CINCS          :=
    37 TOOL_GCC_CDEFS          :=
     30TOOL_GCC_CC                 := gcc$(HOSTSUFF_EXE)
     31TOOL_GCC_COBJSUFF           := .o
     32TOOL_GCC_CFLAGS             := -g
     33TOOL_GCC_CFLAGS.debug       := -O0
     34TOOL_GCC_CFLAGS.release     := -O2
     35TOOL_GCC_CFLAGS.profile     := -pg
     36TOOL_GCC_CINCS              :=
     37TOOL_GCC_CDEFS              :=
    3838
    39 TOOL_GCC_CC             := gcc$(HOSTSUFF_EXE)
    40 TOOL_GCC_CXXOBJSUFF     := .o
     39TOOL_GCC_CXX                := g++$(HOSTSUFF_EXE)
     40TOOL_GCC_CXXOBJSUFF         := .o
     41TOOL_GCC_CXXOBJSUFF         := .o
     42TOOL_GCC_CXXFLAGS           := -g
     43TOOL_GCC_CXXFLAGS.debug     := -O0
     44TOOL_GCC_CXXFLAGS.release   := -O2
     45TOOL_GCC_CXXFLAGS.profile   := -pg
     46TOOL_GCC_CXXINCS            :=
     47TOOL_GCC_CXXDEFS            :=
    4148
    42 TOOL_GCC_AS             := as$(HOSTSUFF_EXE)
    43 TOOL_GCC_ASOBJSUFF      := .o
     49TOOL_GCC_AS                 := as$(HOSTSUFF_EXE)
     50TOOL_GCC_ASOBJSUFF          := .o
    4451
    45 TOOL_GCC_AR             := ar$(HOSTSUFF_EXE)
    46 TOOL_GCC_ARFLAGS        := cr
    47 TOOL_GCC_ARLIBSUFF      := .a
     52TOOL_GCC_AR                 := ar$(HOSTSUFF_EXE)
     53TOOL_GCC_ARFLAGS            := cr
     54TOOL_GCC_ARLIBSUFF          := .a
     55
     56TOOL_GCC_LD                 := g++$(HOSTSUFF_EXE)
     57TOOL_GCC_LDFLAGS            :=
     58TOOL_GCC_LDFLAGS.debug      := -g
     59TOOL_GCC_LDFLAGS.release    := -s
    4860
    4961
     
    6173# @param        $(objsuff)  Object suffix.
    6274define TOOL_GCC_COMPILE_C
    63 #$ (warning dbg: GCC: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff))
     75#$ (warning dbg: TOOL_GCC_COMPILE_C: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff))
    6476$(obj): $(dirdep) $(PATH_CURRENT)/$(source)
    6577        $(call MSG_L2,Compiling $$@ using GCC)
     
    6880                -Wp,-MT,$(dep) -Wp,-MD,$$@\
    6981                -o $$@\
    70         $(PATH_CURRENT)/$(source)               
     82                $(PATH_CURRENT)/$(source)               
    7183               
    7284endef
     
    8395# @param    $(outbase)  Output basename (full). Use this for list files and such.
    8496define TOOL_GCC_LINK_LIBRARY
    85 #$ (warning dbg: GCC: target=$(target) lib=$(lib) objs=$(objs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) outbase=$(outbase))
     97#$ (warning dbg: TOOL_GCC_LINK_LIBRARY: target=$(target) lib=$(lib) objs=$(objs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) outbase=$(outbase))
    8698$(lib): $(dirdep) $(objs) $(deps)
    8799        $(call MSG_L1,Creating Library $$@)
     
    91103endef
    92104
     105
     106## Link program
     107# @param    $(target)   Normalized main target name.
     108# @param    $(exe)              Program name.
     109# @param    $(objs)     Object files to link together.
     110# @param    $(libs)     Libraries to search.
     111# @param    $(libpath)  Library search paths.
     112# @param    $(flags)    Flags.
     113# @param        $(dirdep)   Directory creation dependency.
     114# @param        $(deps)         Other dependencies.
     115# @param        $(deffile)  Definition file. (optional, PC only)
     116# @param        $(custom_pre)   Custom step invoked before linking.
     117# @param        $(custom_post)  Custom step invoked after linking.
     118#
     119# @param    $(outbase)  Output basename (full). Use this for list files and such.
     120define TOOL_GCC_LINK_PROGRAM
     121#$ (warning dbg: TOOL_GCC_LINK_PROGRAM: target=$(target) exe=$(exe) objs=$(objs) libs=$(libs) deps=$(deps) flags=$(flags) dirdep=$(dirdep) deffile=$(deffile) outbase=$(outbase))
     122$(exe): $(dirdep) $(objs) $(foreach lib,$(libs),$(if $(findstring $(lib),$(subst /,x,$(lib))),, $(lib))) $(deps)
     123        $(call MSG_L1,Creating Program $$@)
     124ifneq ($(custom_pre),)
     125        $(eval $(custom_pre))
     126endif   
     127        $(TOOL_GCC_LD) $(flags) -o $$@ $(objs) \
     128        $(foreach lib,$(libs), $(if $(findstring $(lib),$(subst /,x,$(lib))), -l$(patsubst lib%,%,$(basename $(lib))), $(lib)))
     129ifneq ($(custom_post),)
     130        $(eval $(custom_post))
     131endif   
     132       
     133endef
     134
Note: See TracChangeset for help on using the changeset viewer.