Changeset 129 for trunk/kBuild


Ignore:
Timestamp:
Jun 29, 2004, 1:55:07 PM (21 years ago)
Author:
bird
Message:

ABSPATH and no need for CYGPATHMIXED.

Location:
trunk/kBuild
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/kBuild/header.kmk

    r125 r129  
    144144BUILD_TARGET_CPU    := i586
    145145
    146 #
    147 # Cygwin kludge.
    148 #
    149 ifneq ($(patsubst /cygdrive/%,%,$(CURDIR)),$(CURDIR))
    150 CYGPATHMIXED = $(foreach path,$(1)\
    151    ,$(if $(patsubst /cygdrive/%,,$(path)),$(path),$(patsubst $(strip $(firstword $(subst /, ,$(patsubst /cygdrive/%,%,$(path)))))/%,$(strip $(firstword $(subst /, ,$(patsubst /cygdrive/%,%,$(path))))):/%,$(patsubst /cygdrive/%,%,$(path)))))
    152 else
    153 CYGPATHMIXED = $(1)
    154 endif
    155146
    156147#
     
    294285endif
    295286
     287## ABSPATH - makes a path absolute.
     288# This implementation is clumsy and doesn't resolve '..' and '.' components.
     289#
     290# @param        $1      The paths to make absolute.
     291ABSPATH = $(foreach path,$(1)\
     292            ,$(strip $(if $(subst <,,$(firstword $(subst /, ,<$(path)))),\
     293                      $(if $(patsubst %:,,$(firstword $(subst :,: ,$(path)))),$(PATH_CURRENT)/$(path),$(path)),\
     294                      $(path))))
     295
     296## Cygwin kludge.
     297# This converts /cygdrive/x/% to x:%.
     298#
     299# @param        $1      The paths to make native.
     300# @remark       This macro is pretty much obsolete since we don't use cygwin base make.
     301ifneq ($(patsubst /cygdrive/%,%,$(CURDIR)),$(CURDIR))
     302CYGPATHMIXED = $(foreach path,$(1)\
     303   ,$(if $(patsubst /cygdrive/%,,$(path)),$(path),$(patsubst $(strip $(firstword $(subst /, ,$(patsubst /cygdrive/%,%,$(path)))))/%,$(strip $(firstword $(subst /, ,$(patsubst /cygdrive/%,%,$(path))))):/%,$(patsubst /cygdrive/%,%,$(path)))))
     304else
     305CYGPATHMIXED = $(1)
     306endif
     307
    296308#
    297309# This is how we find the closest config.kmk.
  • trunk/kBuild/tools/GCC.kmk

    r77 r129  
    8080                -Wp,-MD,$(dep) -Wp,-MT,$$@ \
    8181                -o $$@\
    82                 $(PATH_CURRENT)/$(source)               
     82                $(call ABSPATH,$(source))
    8383               
    8484endef
     
    9999define TOOL_GCC_COMPILE_CXX
    100100#$ (warning dbg: TOOL_GCC_COMPILE_CXX: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff))
    101 $(obj): $(dirdep) $(PATH_CURRENT)/$(source)
     101$(obj): $(dirdep) $(source)
    102102        $(call MSG_L2,Compiling $$@ using GCC)
    103103        $(TOOL_GCC_CXX) -c\
     
    105105                -Wp,-MD,$(dep) -Wp,-MT,$$@ \
    106106                -o $$@\
    107                 $(PATH_CURRENT)/$(source)               
     107                $(call ABSPATH,$(source))
    108108               
    109109endef
  • trunk/kBuild/tools/GCC3.kmk

    r126 r129  
    7979                -Wp,-MD,$(dep) -Wp,-MT,$$@ \
    8080                -o $$@\
    81                 $(source)               
     81                $(call ABSPATH,$(source))
    8282               
    8383endef
     
    104104                -Wp,-MD,$(dep) -Wp,-MT,$$@ \
    105105                -o $$@\
    106                 $(source)               
     106                $(call ABSPATH,$(source))
    107107               
    108108endef
  • trunk/kBuild/tools/MINGW32.kmk

    r128 r129  
    2828
    2929# find latest installed version
    30 ifndef PATH_TOOL_MINGW32                                                                 
     30ifndef PATH_TOOL_MINGW32                                                               
    3131PATH_TOOL_MINGW32            := $(sort $(wildcard $(PATH_DEV)/$(BUILD_PLATFORM_ARCH).$(BUILD_PLATFORM)/mingw32/v*.*))
    3232ifeq ($(PATH_TOOL_MINGW32),)
     
    3939
    4040# figure out if it's native or needs a win32 launcher
    41 _TOOL_MINGW32_PREFIX            := 
     41_TOOL_MINGW32_PREFIX            :=
    4242ifneq ($(PATH_TOOL_MINGW32),)
    4343_TOOL_MINGW32_PREFIX            := $(PATH_TOOL_MINGW32)/bin/
     
    5151else
    5252_TOOL_MINGW32_PREFIX            := $(_TOOL_MINGW32_PREFIX)i386-mingw32msvc-
    53 _TOOL_MINGW32_SUFF_EXE          := 
     53_TOOL_MINGW32_SUFF_EXE          :=
    5454_TOOL_MINGW32_XCOMPILE          := 1
    5555endif
     
    113113                -Wp,-MD,$(dep) -Wp,-MT,$$@ \
    114114                -o $$@\
    115                 $(source)               
     115                $(call ABSPATH,$(source))
    116116               
    117117endef
     
    138138                -Wp,-MD,$(dep) -Wp,-MT,$$@ \
    139139                -o $$@\
    140                 $(source)               
     140                $(call ABSPATH,$(source))
    141141               
    142142endef
  • trunk/kBuild/tools/NASM.kmk

    r99 r129  
    5656define TOOL_NASM_COMPILE_AS
    5757#$ (warning dbg: TOOL_NASM_COMPILE_AS: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff))
    58 $(obj): $(dirdep) $(PATH_CURRENT)/$(source)
     58$(obj): $(dirdep) $(source)
    5959        $(call MSG_L2,Compiling $$@ using NASM)
    6060        $(TOOL_NASM_AS) \
    61                 $(flags) $(addsuffix /,$(addprefix -i, $(call CYGPATHMIXED,$(incs)))) $(addprefix -D, $(defs))\
    62                 -l $(call CYGPATHMIXED,$(outbase).lst) \
    63                 -o $(call CYGPATHMIXED,$(obj)) \
    64                 $(call CYGPATHMIXED,$(PATH_CURRENT)/$(source))
     61                $(flags) $(addsuffix /,$(addprefix -i, $(incs))) $(addprefix -D, $(defs))\
     62                -l $(outbase).lst \
     63                -o $(obj) \
     64                $(call ABSPATH,$(source))
    6565_OUT_FILES += $(outbase).lst
    6666               
  • trunk/kBuild/tools/VCC70.kmk

    r126 r129  
    7575define TOOL_VCC70_COMPILE_C
    7676#$ (warning dbg: TOOL_VCC70_COMPILE_C: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff))
    77 $(obj): $(dirdep) $(PATH_CURRENT)/$(source)
     77$(obj): $(dirdep) $(source)
    7878        $(call MSG_L2,Compiling $$@ using VCC70)
    7979        $(TOOL_VCC70_CC) -c\
    80                 $(flags) $(addprefix -I, $(call CYGPATHMIXED,$(incs))) $(addprefix -D, $(defs))\
    81                 -Fd$(call CYGPATHMIXED,$(outbase).pdb) \
    82                 -Fo$(call CYGPATHMIXED,$(obj))\
    83                 $(subst /,\\,$(call CYGPATHMIXED,$(DRV_WINEROOT)$(PATH_CURRENT)/$(source)))
     80                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
     81                -Fd$(outbase).pdb \
     82                -Fo$(obj)\
     83                $(subst /,\\,$(call ABSPATH,$(source)))
    8484_OUT_FILES += $(outbase).pdb
    8585               
     
    101101define TOOL_VCC70_COMPILE_CXX
    102102#$ (warning dbg: TOOL_VCC70_COMPILE_CXX: target=$(target) source=$(source) obj=$(obj) dep=$(dep) flags=$(flags) defs=$(defs) incs=$(incs) dirdep=$(dirdep) outbase=$(outbase) objsuff=$(objsuff))
    103 $(obj): $(dirdep) $(PATH_CURRENT)/$(source)
     103$(obj): $(dirdep) $(source)
    104104        $(call MSG_L2,Compiling $$@ using VCC70)
    105105        $(TOOL_VCC70_CXX) -c\
    106                 $(flags) $(addprefix -I, $(call CYGPATHMIXED,$(incs))) $(addprefix -D, $(defs))\
    107                 -Fd$(call CYGPATHMIXED,$(outbase).pdb) \
    108                 -Fo$(call CYGPATHMIXED,$(obj))\
    109                 $(subst /,\\,$(call CYGPATHMIXED,$(DRV_WINEROOT)$(PATH_CURRENT)/$(source)))
     106                $(flags) $(addprefix -I, $(incs)) $(addprefix -D, $(defs))\
     107                -Fd$(outbase).pdb \
     108                -Fo$(obj)\
     109                $(subst /,\\,$(call ABSPATH,$(source)))
    110110_OUT_FILES += $(outbase).pdb
    111111               
     
    128128        $(call MSG_L1,Creating Library $$@)
    129129        $(RM) -f $$@
    130         $(TOOL_VCC70_AR) $(flags) /OUT:$(call CYGPATHMIXED,$(lib)) $(subst /,\\,$(call CYGPATHMIXED,$(objs))) \
    131                 $(foreach def,$(filter %.def,$(othersrc)), /DEF:$(call CYGPATHMIXED,$(def)))
     130        $(TOOL_VCC70_AR) $(flags) /OUT:$(lib) $(subst /,\\,$(objs)) \
     131                $(foreach def,$(filter %.def,$(othersrc)), /DEF:$(def))
    132132       
    133133endef
     
    156156endif   
    157157        $(TOOL_VCC70_LD) $(flags) \
    158                 /OUT:$(call CYGPATHMIXED,$(exe)) \
     158                /OUT:$(exe) \
    159159                /MAPINFO:EXPORTS /MAPINFO:LINES \
    160                 /MAP:$(call CYGPATHMIXED,$(outbase).map) \
    161                 $(subst /,\\,$(call CYGPATHMIXED,$(objs))) \
    162                 $(subst /,\\,$(call CYGPATHMIXED,$(libs)))
     160                /MAP:$(outbase).map \
     161                $(subst /,\\,$(objs)) \
     162                $(subst /,\\,$(libs))
    163163        $(MKDIR) -p $(PATH_BIN)
    164164        $(CP) $$@ $(PATH_BIN)/
     
    193193endif   
    194194        $(TOOL_VCC70_LD) $(flags) \
    195                 /OUT:$(call CYGPATHMIXED,$(sys)) \
     195                /OUT:$(sys) \
    196196                /MAPINFO:EXPORTS /MAPINFO:LINES \
    197                 /MAP:$(call CYGPATHMIXED,$(outbase).map) \
    198                 $(subst /,\\,$(call CYGPATHMIXED,$(objs))) \
    199                 $(subst /,\\,$(call CYGPATHMIXED,$(libs)))
     197                /MAP:$(outbase).map \
     198                $(subst /,\\,$(objs)) \
     199                $(subst /,\\,$(libs))
    200200        $(MKDIR) -p $(PATH_BIN)
    201201        $(CP) $$@ $(PATH_BIN)/
Note: See TracChangeset for help on using the changeset viewer.