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:
Daniel Dunbar 2009-11-19 00:14:53 +00:00
parent 01c69374b5
commit fd96b13a94

View File

@ -736,6 +736,8 @@ else
Ranlib = ranlib Ranlib = ranlib
endif endif
AliasTool = ln -s
#---------------------------------------------------------- #----------------------------------------------------------
# Get the list of source files and compute object file # Get the list of source files and compute object file
# names from them. # names from them.
@ -1215,10 +1217,20 @@ ifdef TOOLNAME
#--------------------------------------------------------- #---------------------------------------------------------
# Set up variables for building a tool. # Set up variables for building a tool.
#--------------------------------------------------------- #---------------------------------------------------------
TOOLEXENAME := $(strip $(TOOLNAME))$(EXEEXT)
ifdef EXAMPLE_TOOL ifdef EXAMPLE_TOOL
ToolBuildPath := $(ExmplDir)/$(strip $(TOOLNAME))$(EXEEXT) ToolBuildPath := $(ExmplDir)/$(TOOLEXENAME)
else 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 endif
#--------------------------------------------------------- #---------------------------------------------------------
@ -1246,12 +1258,15 @@ endif
#--------------------------------------------------------- #---------------------------------------------------------
# Provide targets for building the tools # Provide targets for building the tools
#--------------------------------------------------------- #---------------------------------------------------------
all-local:: $(ToolBuildPath) all-local:: $(ToolBuildPath) $(ToolAliasBuildPath)
clean-local:: clean-local::
ifneq ($(strip $(ToolBuildPath)),) ifneq ($(strip $(ToolBuildPath)),)
-$(Verb) $(RM) -f $(ToolBuildPath) -$(Verb) $(RM) -f $(ToolBuildPath)
endif endif
ifneq ($(strip $(ToolAliasBuildPath)),)
-$(Verb) $(RM) -f $(ToolAliasBuildPath)
endif
ifdef EXAMPLE_TOOL ifdef EXAMPLE_TOOL
$(ToolBuildPath): $(ExmplDir)/.dir $(ToolBuildPath): $(ExmplDir)/.dir
@ -1266,13 +1281,22 @@ $(ToolBuildPath): $(ObjectsO) $(ProjLibsPaths) $(LLVMLibsPaths)
$(Echo) ======= Finished Linking $(BuildMode) Executable $(TOOLNAME) \ $(Echo) ======= Finished Linking $(BuildMode) Executable $(TOOLNAME) \
$(StripWarnMsg) $(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 ifdef NO_INSTALL
install-local:: install-local::
$(Echo) Install circumvented with NO_INSTALL $(Echo) Install circumvented with NO_INSTALL
uninstall-local:: uninstall-local::
$(Echo) Uninstall circumvented with NO_INSTALL $(Echo) Uninstall circumvented with NO_INSTALL
else else
DestTool = $(PROJ_bindir)/$(TOOLNAME)$(EXEEXT) DestTool = $(PROJ_bindir)/$(TOOLEXENAME)
install-local:: $(DestTool) install-local:: $(DestTool)
@ -1283,6 +1307,23 @@ $(DestTool): $(ToolBuildPath) $(PROJ_bindir)
uninstall-local:: uninstall-local::
$(Echo) Uninstalling $(BuildMode) $(DestTool) $(Echo) Uninstalling $(BuildMode) $(DestTool)
-$(Verb) $(RM) -f $(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
endif endif