mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
Add TOOLALIAS makefile variable; this defines an alternate name for a program
which the makefiles will create by symlinking the actual tool to. - For use by clang, where we want to make 'clang++' and alias for clang (which enables C++ support in the driver) - Not sure this is the best approach, alternative suggestions welcome! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89282 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
01c69374b5
commit
fd96b13a94
@ -736,6 +736,8 @@ else
|
||||
Ranlib = ranlib
|
||||
endif
|
||||
|
||||
AliasTool = ln -s
|
||||
|
||||
#----------------------------------------------------------
|
||||
# Get the list of source files and compute object file
|
||||
# names from them.
|
||||
@ -1215,10 +1217,20 @@ ifdef TOOLNAME
|
||||
#---------------------------------------------------------
|
||||
# Set up variables for building a tool.
|
||||
#---------------------------------------------------------
|
||||
TOOLEXENAME := $(strip $(TOOLNAME))$(EXEEXT)
|
||||
ifdef EXAMPLE_TOOL
|
||||
ToolBuildPath := $(ExmplDir)/$(strip $(TOOLNAME))$(EXEEXT)
|
||||
ToolBuildPath := $(ExmplDir)/$(TOOLEXENAME)
|
||||
else
|
||||
ToolBuildPath := $(ToolDir)/$(strip $(TOOLNAME))$(EXEEXT)
|
||||
ToolBuildPath := $(ToolDir)/$(TOOLEXENAME)
|
||||
endif
|
||||
|
||||
# TOOLALIAS is a name to symlink (or copy) the tool to.
|
||||
ifdef TOOLALIAS
|
||||
ifdef EXAMPLE_TOOL
|
||||
ToolAliasBuildPath := $(ExmplDir)/$(strip $(TOOLALIAS))$(EXEEXT)
|
||||
else
|
||||
ToolAliasBuildPath := $(ToolDir)/$(strip $(TOOLALIAS))$(EXEEXT)
|
||||
endif
|
||||
endif
|
||||
|
||||
#---------------------------------------------------------
|
||||
@ -1246,12 +1258,15 @@ endif
|
||||
#---------------------------------------------------------
|
||||
# Provide targets for building the tools
|
||||
#---------------------------------------------------------
|
||||
all-local:: $(ToolBuildPath)
|
||||
all-local:: $(ToolBuildPath) $(ToolAliasBuildPath)
|
||||
|
||||
clean-local::
|
||||
ifneq ($(strip $(ToolBuildPath)),)
|
||||
-$(Verb) $(RM) -f $(ToolBuildPath)
|
||||
endif
|
||||
ifneq ($(strip $(ToolAliasBuildPath)),)
|
||||
-$(Verb) $(RM) -f $(ToolAliasBuildPath)
|
||||
endif
|
||||
|
||||
ifdef EXAMPLE_TOOL
|
||||
$(ToolBuildPath): $(ExmplDir)/.dir
|
||||
@ -1266,13 +1281,22 @@ $(ToolBuildPath): $(ObjectsO) $(ProjLibsPaths) $(LLVMLibsPaths)
|
||||
$(Echo) ======= Finished Linking $(BuildMode) Executable $(TOOLNAME) \
|
||||
$(StripWarnMsg)
|
||||
|
||||
ifneq ($(strip $(ToolAliasBuildPath)),)
|
||||
$(ToolAliasBuildPath): $(ToolBuildPath)
|
||||
$(Echo) Creating $(BuildMode) Alias $(TOOLALIAS) $(StripWarnMsg)
|
||||
$(Verb) $(RM) -f $(ToolAliasBuildPath)
|
||||
$(Verb) $(AliasTool) $(TOOLEXENAME) $(ToolAliasBuildPath)
|
||||
$(Echo) ======= Finished Creating $(BuildMode) Alias $(TOOLNAME) \
|
||||
$(StripWarnMsg)
|
||||
endif
|
||||
|
||||
ifdef NO_INSTALL
|
||||
install-local::
|
||||
$(Echo) Install circumvented with NO_INSTALL
|
||||
uninstall-local::
|
||||
$(Echo) Uninstall circumvented with NO_INSTALL
|
||||
else
|
||||
DestTool = $(PROJ_bindir)/$(TOOLNAME)$(EXEEXT)
|
||||
DestTool = $(PROJ_bindir)/$(TOOLEXENAME)
|
||||
|
||||
install-local:: $(DestTool)
|
||||
|
||||
@ -1283,6 +1307,23 @@ $(DestTool): $(ToolBuildPath) $(PROJ_bindir)
|
||||
uninstall-local::
|
||||
$(Echo) Uninstalling $(BuildMode) $(DestTool)
|
||||
-$(Verb) $(RM) -f $(DestTool)
|
||||
|
||||
# TOOLALIAS install.
|
||||
ifdef TOOLALIAS
|
||||
DestToolAlias = $(PROJ_bindir)/$(TOOLALIAS)$(EXEEXT)
|
||||
|
||||
install-local:: $(DestToolAlias)
|
||||
|
||||
$(DestToolAlias): $(DestTool) $(PROJ_bindir)
|
||||
$(Echo) Installing $(BuildMode) $(DestToolAlias)
|
||||
$(Verb) $(RM) -f $(DestToolAlias)
|
||||
$(Verb) $(AliasTool) $(TOOLEXENAME) $(DestToolAlias)
|
||||
|
||||
uninstall-local::
|
||||
$(Echo) Uninstalling $(BuildMode) $(DestToolAlias)
|
||||
-$(Verb) $(RM) -f $(DestToolAlias)
|
||||
endif
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user