cygpath修正。

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_firmware@6 b871894f-2f95-9b40-918c-086798483c85
This commit is contained in:
nakasima 2008-11-07 11:29:37 +00:00
parent 8bde615d69
commit 9231ed64ed
3 changed files with 222 additions and 71 deletions

View File

@ -117,17 +117,235 @@ endif
endif
#----------------------------------------------------------------------------
# Utilities
#----------------------------------------------------------------
#
# Utilities
#
EMPTY :=
SPACE := $(EMPTY) $(EMPTY)
ifdef MSYSTEM # for MinGW32
QUOTE ='
else
QUOTE ="
endif
define NEWLINE
$(EMPTY)
endef
#----------------------------------------------------------------------------
# MAKE COMMAND SETTINGS
#
# --no-print-directory: No print directory when 'change directory'
# -r no builtin rules
# -R no builtin variables
# -j do make with multi-thread (not used now)
#
MAKEFILE = $(firstword $(MAKEFILE_LIST))
MAKEFLAGS_SHORT = $(filter-out --%,$(MAKEFLAGS))
MAKEFLAGS += -R -r
ifdef SILENT
MAKEFLAGS += -s
endif
# Check -w option
ifeq (,$(findstring w,$(MAKEFLAGS_SHORT)))
MAKEFLAGS += --no-print-directory
endif
# Check -k option
ifeq (,$(findstring k,$(MAKEFLAGS_SHORT)))
AND = &&
else
AND = ;
endif
# Check -s option
ifneq (,$(findstring s,$(MAKEFLAGS_SHORT)))
STDOUT = > /dev/null
endif
# Check -B option
MAKEFLAGS_OPTIONS = $(MAKEFLAGS)
MAKEFLAGS_ALWAYS = $(if $(findstring B,$(MAKEFLAGS_SHORT))$(findstring --always-make,$(MAKEFLAGS_OPTIONS)),TRUE,FALSE)
#----------------------------------------------------------------------------
# CYGWIN tools
#
CD := cd
CP := cp -rf
RM := rm -rf
MV := mv
MKDIRP := mkdir -p
SED := sed
INSTALL := install -p
TOUCH := touch
ECHO := echo
PERL := perl
OBJCOPY := objcopy -I elf32-little -O binary
# デバッグ用フラグ
MAKEFLAGS_D ?=
REMAKE := $(MAKE) -f $(MAKEFILE) $(MAKEFLAGS_D)
LEX := flex
YACC := bison -y
CC_X86 := gcc -mno-cygwin
CXX_X86 := g++ -mno-cygwin
LD_X86 := gcc -mno-cygwin
AR_X86 := ar ruc
GREP ?= /bin/grep
MOUNT ?= /bin/mount
HEAD ?= /bin/head
AWK ?= /bin/gawk
CUT ?= /bin/cut
TR ?= /bin/tr
# /bin/true の代わりに builtin で真を返すコマンドを使う
TRUE ?= test true
ifdef USE_ASH
export SHELL=ash
endif
#----------------------------------------------------------------
#
# cygpath
#
CYGPATH ?= cygpath
# 高速 cygpath は標準では無効 (make 3.80 では eval 関数に不具合があり動作しないため)
CYGPATH_NOCMD ?= FALSE
# 自動判別する場合は上の定義を消す(動作未確認)
#ifndef CYGPATH_NOCMD
#
#MAKE_VERSION := $(shell $(MAKE) -v | $(HEAD) -1 | $(AWK) '{print $3}')
#
#ifndef MSYSTEM
#
#ifeq ($(shell(expr "$(MAKE_VERSION)" ">=" "3.81")),1)
#CYGPATH_NOCMD=TRUE
#else # MAKE_VERSION
#CYGPATH_NOCMD=FALSE
#endif # MAKE_VERSION
#
#endif # MSYSTEM
#
#endif # CYGPATH_NOCMD
# cygdrive path prefix を取得
ifeq ($(CYGPATH_MOUNTPOINT),)
CYGPATH_MOUNTPOINT := $(patsubst %/,%,$(dir $(shell $(CYGPATH) -u c:/)))
endif # CYGPATH_MOUNTPOINT
ifeq ($(CYGPATH_NOCMD),TRUE)
ifeq ($(CYGPATH_DRIVELIST),)
# 安全
CYGPATH_DRIVELIST_ALL = $(shell DRIVES=`$(MOUNT) | $(GREP) 'type user' | $(CUT) -c1 | tr '\n' ' '` \
&& echo $${DRIVES} `echo $${DRIVES} | $(TR) '[a-z]' '[A-Z]'`)
# 最小限で速い
CYGPATH_DRIVELIST_FAST = $(shell $(CYGPATH) -aw '$(CTRSDK_ROOT)c' \
'$(CWFOLDER_CTR)c' '$(CWFOLDER_TWL)c' '$(CWFOLDER_NITRO)c' \
'$(CTRSYSTEM_ROOT)c' \
'$(IS_CTR_DIR)c' '$(IS_TWL_DIR)c' '$(IS_NITRO_DIR)c' \
| $(CUT) -c1)
CYGPATH_DRIVELIST := $(sort $(CYGPATH_DRIVELIST_FAST))
#CYGPATH_DRIVELIST := $(sort $(CYGPATH_DRIVELIST_ALL))
endif # CYGPATH_DRIVELIST
define cygpathm
$(strip $(eval VALUE=$(1))$(foreach DRIVE,$(CYGPATH_DRIVELIST),$(eval VALUE:=$$(patsubst $(CYGPATH_MOUNTPOINT)/$(DRIVE)/%,$(DRIVE):/%,$$(subst \,/,$$(VALUE)))))$(VALUE))
endef # cygpathm
define cygpathu
$(strip $(eval VALUE:=$(1))$(foreach DRIVE,$(CYGPATH_DRIVELIST),$(eval VALUE:=$$(patsubst $(DRIVE):/%,$(CYGPATH_MOUNTPOINT)/$(DRIVE)/%,$$(subst \,/,$$(VALUE)))))$(VALUE))
endef # cygpathu
define cygpathm_multi
$(foreach pathvar,$(1),$(call cygpathm,$(pathvar)))
endef # cygpathm_multi
define cygpathu_multi
$(foreach pathvar,$(1),$(call cygpathu,$(pathvar)))
endef # cygpathu_multi
define eupath
$(subst $(SPACE),\ ,$(call cygpathu,$(subst \ , ,$(1))))
endef # eupath
define empath
$(subst $(SPACE),\ ,$(call cygpathm,$(subst \ , ,$(1))))
endef # empath
else # CYGPATH_NOCMD
define empath
$(subst $(SPACE),\ ,$(shell $(CYGPATH) -m $(subst \,\\,$(subst \ , ,$(1)))))
endef # empath
ifdef MSYSTEM
define eupath
$(call empath,$(1))
endef #eupath
define cygpathu
$(shell cygpath -m $(subst \,\\,$(subst \ , ,$(1))))
endef
else # MSYSTEM
define eupath
$(subst $(SPACE),\ ,$(shell $(CYGPATH) -u $(subst \,\\,$(subst \ , ,$(1)))))
endef
define cygpathu
$(shell cygpath -u $(subst \,\\,$(subst \ , ,$(1))))
endef
endif # MSYSTEM
define cygpathm
$(shell cygpath -m $(subst \,\\,$(subst \ , ,$(1))))
endef
define cygpathu_multi
$(call cygpathu,$(1))
endef
define cygpathm_multi
$(call cygpathm,$(1))
endef
endif # CYGPATH_NOCMD
export CYGPATH_MOUNTPOINT CYGPATH_DRIVELIST CYGPATH_NOCMD
define encode_specialchar
$(subst $(SPACE),%20,$(1))
endef
define decode_specialchar
$(subst %20,$(SPACE),$(1))
endef
#----------------------------------------------------------------------------
# CTR-SDK path settings
#
-include $(CTR_BUILDTOOLSDIR)/commondefs.cygpath
#-include $(CTR_BUILDTOOLSDIR)/commondefs.cygpath
ROOT := $(call eupath,$(CTRSDK_ROOT))
CTR_BUILDTOOLSDIR := $(ROOT)/build/buildtools
@ -348,61 +566,6 @@ GDIRT_CLOBBER_DIRS :=
endif
#----------------------------------------------------------------------------
# MAKE COMMAND SETTINGS
#
# --no-print-directory: No print directory when 'change directory'
# -r no builtin rules
# -R no builtin variables
# -j do make with multi-thread (not used now)
#
MAKEFILE = $(firstword $(MAKEFILE_LIST))
MAKEFLAGS_SHORT = $(filter -%,$(filter-out --%,$(MAKEFLAGS)))
MAKEFLAGS += -R -r
# Check -w option
ifeq (,$(findstring w,$(MAKEFLAGS_SHORT)))
MAKEFLAGS += --no-print-directory
endif
# Check -k option
ifeq (,$(findstring k,$(MAKEFLAGS_SHORT)))
AND = &&
else
AND = ;
endif
# Check -s option
ifneq (,$(findstring s,$(MAKEFLAGS_SHORT)))
CTR_STDOUT = > /dev/null
endif
#----------------------------------------------------------------------------
# CYGWIN TOOLS
#
CD := cd
CP := cp -rf
RM := rm -rf
MV := mv
MKDIRP := mkdir -p
SED := sed
INSTALL := install -p
TOUCH := touch
ECHO := echo
PERL := perl
OBJCOPY := objcopy -I elf32-little -O binary
REMAKE := $(MAKE) -f $(MAKEFILE)
LEX := flex
YACC := bison -y
CC_X86 := gcc -mno-cygwin
CXX_X86 := g++ -mno-cygwin
LD_X86 := gcc -mno-cygwin
AR_X86 := ar ruc
#----------------------------------------------------------------------------
# MY BUILD TOOLS
#

View File

@ -41,12 +41,6 @@ LIBRARIES = $(subst \ -l,\ ,$(addprefix -l,$(ALIBRARIES)))
INCLUDES = -gccinc -I. $(INCLUDE_DIRS)
ifdef MSYSTEM # for MinGW32
QUOTE ='
else
QUOTE ="
endif
#----------------------------------------------------------------------------
.PRECIOUS: $(OBJDIR)/%.o $(BINDIR)/%.nef $(LCFILE) $(PCHDR_H) $(PCHDR_PCH)

View File

@ -41,12 +41,6 @@ LIBRARIES = $(subst \ -l,\ ,$(addprefix -l,$(ALIBRARIES)))
INCLUDES = -I. $(INCLUDE_DIRS)
ifdef MSYSTEM # for MinGW32
QUOTE ='
else
QUOTE ="
endif
#----------------------------------------------------------------------------
.PRECIOUS: $(OBJDIR)/%.o $(BINDIR)/%.nef $(LCFILE)