Makefile: Switch Clang Makefiles to always include the top-level Clang Makefile.

- This eliminates most dependencies on how Clang is installed relative to LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105637 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2010-06-08 20:34:18 +00:00
Родитель 7a40262117
Коммит afed099bd2
33 изменённых файлов: 105 добавлений и 75 удалений

Просмотреть файл

@ -1,4 +1,19 @@
LEVEL = ../..
##===- Makefile --------------------------------------------*- Makefile -*-===##
#
# The LLVM Compiler Infrastructure
#
# This file is distributed under the University of Illinois Open Source
# License. See LICENSE.TXT for details.
#
##===----------------------------------------------------------------------===##
# If CLANG_LEVEL is not set, then we are the top-level Makefile. Otherwise, we
# are being included from a subdirectory makefile.
ifndef CLANG_LEVEL
IS_TOP_LEVEL := 1
CLANG_LEVEL := .
DIRS := include lib tools docs
PARALLEL_DIRS :=
@ -6,9 +21,22 @@ PARALLEL_DIRS :=
ifeq ($(BUILD_EXAMPLES),1)
PARALLEL_DIRS += examples
endif
endif
###
# Common Makefile code, shared by all Clang Makefiles.
# Set LLVM source root level.
LEVEL := $(CLANG_LEVEL)/../..
# Include LLVM common makefile.
include $(LEVEL)/Makefile.common
###
# Clang Top Level specific stuff.
ifeq ($(IS_TOP_LEVEL),1)
ifneq ($(PROJ_SRC_ROOT),$(PROJ_OBJ_ROOT))
$(RecursiveTargets)::
$(Verb) if [ ! -f test/Makefile ]; then \
@ -37,3 +65,5 @@ cscope.files:
-or -name '*.h' > cscope.files
.PHONY: test report clean cscope.files
endif

Просмотреть файл

@ -7,7 +7,7 @@
#
##===----------------------------------------------------------------------===##
LEVEL := ../../..
CLANG_LEVEL := ..
DIRS := tools
ifdef BUILD_FOR_WEBSITE
@ -22,7 +22,7 @@ $(PROJ_OBJ_DIR)/doxygen.cfg: doxygen.cfg.in
-e 's/@abs_top_builddir@/../g' > $@
endif
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile
HTML := $(wildcard $(PROJ_SRC_DIR)/*.html) \
$(wildcard $(PROJ_SRC_DIR)/*.css)

Просмотреть файл

@ -37,8 +37,8 @@ clean:
else
# Otherwise, if not in BUILD_FOR_WEBSITE mode, use the project info.
LEVEL := ../../../..
include $(LEVEL)/Makefile.common
CLANG_LEVEL := ../..
include $(CLANG_LEVEL)/Makefile
CLANG_VERSION := $(shell cat $(PROJ_SRC_DIR)/../../VER)

Просмотреть файл

@ -7,8 +7,8 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../..
CLANG_LEVEL := ..
PARALLEL_DIRS := clang-interpreter PrintFunctionNames wpa
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -7,7 +7,7 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
LIBRARYNAME = PrintFunctionNames
CPPFLAGS += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
@ -15,7 +15,7 @@ CPPFLAGS += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
# Include this here so we can get the configuration of the targets that have
# been configured for construction. We have to do this early so we can set up
# LINK_COMPONENTS before including Makefile.rules
include $(LEVEL)/Makefile.config
include $(CLANG_LEVEL)/../../Makefile.config
LINK_LIBS_IN_SHARED = 1
SHARED_LIBRARY = 1
@ -24,4 +24,4 @@ LINK_COMPONENTS := bitreader mc core
USEDLIBS = clangIndex.a clangFrontend.a clangDriver.a clangSema.a \
clangAnalysis.a clangAST.a clangParse.a clangLex.a clangBasic.a
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -7,7 +7,7 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
TOOLNAME = clang-interpreter
CPPFLAGS += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
@ -19,7 +19,7 @@ TOOL_NO_EXPORTS = 1
# Include this here so we can get the configuration of the targets that have
# been configured for construction. We have to do this early so we can set up
# LINK_COMPONENTS before including Makefile.rules
include $(LEVEL)/Makefile.config
include $(CLANG_LEVEL)/../../Makefile.config
LINK_COMPONENTS := jit interpreter nativecodegen bitreader bitwriter ipo \
selectiondag asmparser
@ -27,4 +27,4 @@ USEDLIBS = clangFrontend.a clangDriver.a clangCodeGen.a clangSema.a \
clangChecker.a clangAnalysis.a clangRewrite.a clangAST.a \
clangParse.a clangLex.a clangBasic.a
include $(LLVM_SRC_ROOT)/Makefile.rules
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -7,7 +7,7 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
TOOLNAME = clang-wpa
CPPFLAGS += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
@ -19,10 +19,10 @@ TOOL_NO_EXPORTS = 1
# Include this here so we can get the configuration of the targets that have
# been configured for construction. We have to do this early so we can set up
# LINK_COMPONENTS before including Makefile.rules
include $(LEVEL)/Makefile.config
include $(CLANG_LEVEL)/../../Makefile.config
LINK_COMPONENTS := asmparser bitreader mc core
USEDLIBS = clangIndex.a clangFrontend.a clangDriver.a clangSema.a \
clangAnalysis.a clangAST.a clangParse.a clangLex.a clangBasic.a
include $(LLVM_SRC_ROOT)/Makefile.rules
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -1,4 +1,4 @@
LEVEL = ../../..
CLANG_LEVEL := ..
DIRS := clang clang-c
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -1,7 +1,7 @@
LEVEL = ../../../..
CLANG_LEVEL := ../..
DIRS :=
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile
install-local::
$(Echo) Installing Clang C API include files

Просмотреть файл

@ -1,10 +1,10 @@
LEVEL = ../../../../..
CLANG_LEVEL := ../../..
BUILT_SOURCES = StmtNodes.inc DeclNodes.inc
TD_SRC_DIR = $(PROJ_SRC_DIR)/../Basic
TABLEGEN_INC_FILES_COMMON = 1
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile
INPUT_TDS = $(TD_SRC_DIR)/StmtNodes.td $(TD_SRC_DIR)/DeclNodes.td

Просмотреть файл

@ -1,4 +1,4 @@
LEVEL = ../../../../..
CLANG_LEVEL := ../../..
BUILT_SOURCES = DiagnosticAnalysisKinds.inc DiagnosticASTKinds.inc \
DiagnosticCommonKinds.inc DiagnosticDriverKinds.inc \
DiagnosticFrontendKinds.inc DiagnosticLexKinds.inc \
@ -7,7 +7,7 @@ BUILT_SOURCES = DiagnosticAnalysisKinds.inc DiagnosticASTKinds.inc \
TABLEGEN_INC_FILES_COMMON = 1
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile
INPUT_TDS = $(wildcard $(PROJ_SRC_DIR)/Diagnostic*.td)

Просмотреть файл

@ -1,9 +1,9 @@
LEVEL = ../../../../..
CLANG_LEVEL := ../../..
BUILT_SOURCES = Options.inc CC1Options.inc CC1AsOptions.inc
TABLEGEN_INC_FILES_COMMON = 1
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile
$(ObjDir)/Options.inc.tmp : Options.td OptParser.td $(TBLGEN) $(ObjDir)/.dir
$(Echo) "Building Clang Driver Option tables with tblgen"

Просмотреть файл

@ -1,7 +1,7 @@
LEVEL = ../../../..
CLANG_LEVEL := ../..
DIRS := AST Basic Driver
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile
install-local::
$(Echo) Installing Clang include files

Просмотреть файл

@ -11,11 +11,11 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
LIBRARYNAME := clangAST
BUILD_ARCHIVE = 1
CPP.Flags += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -11,11 +11,11 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
LIBRARYNAME := clangAnalysis
BUILD_ARCHIVE = 1
CPP.Flags += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -11,7 +11,7 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
LIBRARYNAME := clangBasic
BUILD_ARCHIVE = 1
@ -20,7 +20,7 @@ ifdef CLANG_VENDOR
CPPFLAGS += -DCLANG_VENDOR='"$(CLANG_VENDOR) "'
endif
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile
SVN_REVISION := $(shell $(LLVM_SRC_ROOT)/utils/GetSourceVersion $(PROJ_SRC_DIR)/../..)

Просмотреть файл

@ -11,11 +11,11 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
LIBRARYNAME := clangChecker
BUILD_ARCHIVE = 1
CPP.Flags += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -12,7 +12,7 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
LIBRARYNAME := clangCodeGen
BUILD_ARCHIVE = 1
@ -21,5 +21,5 @@ ifdef CLANG_VENDOR
CPP.Flags += -DCLANG_VENDOR='"$(CLANG_VENDOR) "'
endif
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -7,10 +7,10 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
LIBRARYNAME := clangDriver
BUILD_ARCHIVE = 1
CPPFLAGS += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -7,11 +7,11 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
LIBRARYNAME := clangFrontend
BUILD_ARCHIVE = 1
CPP.Flags += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -7,12 +7,12 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
BUILT_SOURCES = arm_neon.h.inc
TABLEGEN_INC_FILES_COMMON = 1
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile
CLANG_VERSION := $(shell cat $(PROJ_SRC_DIR)/../../VER)
@ -30,7 +30,7 @@ $(OBJHEADERS): $(HeaderDir)/%.h: $(PROJ_SRC_DIR)/%.h $(HeaderDir)/.dir $(HeaderD
$(HeaderDir)/arm_neon.h: $(BUILT_SOURCES)
$(Verb) cp $< $@
$(Echo) Copying $(notdir $<) to build dir
# Hook into the standard Makefile rules.
all-local:: $(OBJHEADERS)

Просмотреть файл

@ -11,8 +11,8 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
include $(LEVEL)/Makefile.config
CLANG_LEVEL := ../..
include $(CLANG_LEVEL)/../../Makefile.config
LIBRARYNAME := clangIndex
BUILD_ARCHIVE = 1
@ -23,5 +23,5 @@ endif
CPP.Flags += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -11,8 +11,8 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
include $(LEVEL)/Makefile.config
CLANG_LEVEL := ../..
include $(CLANG_LEVEL)/../../Makefile.config
LIBRARYNAME := clangLex
BUILD_ARCHIVE = 1
@ -23,5 +23,5 @@ endif
CPP.Flags += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -6,10 +6,10 @@
# License. See LICENSE.TXT for details.
#
##===----------------------------------------------------------------------===##
LEVEL = ../../..
CLANG_LEVEL := ..
PARALLEL_DIRS = Headers Runtime Basic Lex Parse AST Sema CodeGen Analysis \
Checker Rewrite Frontend Index Driver
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -11,11 +11,11 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
LIBRARYNAME := clangParse
BUILD_ARCHIVE = 1
CPP.Flags += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -11,11 +11,11 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
LIBRARYNAME := clangRewrite
BUILD_ARCHIVE = 1
CPP.Flags += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -13,8 +13,8 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
include $(LEVEL)/Makefile.common
CLANG_LEVEL := ../..
include $(CLANG_LEVEL)/Makefile
CLANG_VERSION := $(shell cat $(PROJ_SRC_DIR)/../../VER)
ResourceDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/clang/$(CLANG_VERSION)

Просмотреть файл

@ -12,11 +12,11 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
LIBRARYNAME := clangSema
BUILD_ARCHIVE = 1
CPP.Flags += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -1,5 +1,5 @@
LEVEL = ../../..
include $(LEVEL)/Makefile.common
CLANG_LEVEL := ..
include $(CLANG_LEVEL)/Makefile
# Test in all immediate subdirectories if unset.
ifdef TESTSUITE

Просмотреть файл

@ -7,13 +7,13 @@
#
##===----------------------------------------------------------------------===##
LEVEL := ../../..
CLANG_LEVEL := ..
DIRS := driver libclang c-index-test
include $(LEVEL)/Makefile.config
include $(CLANG_LEVEL)/../../Makefile.config
ifeq ($(OS), $(filter $(OS), Cygwin MingW))
DIRS := $(filter-out libclang c-index-test, $(DIRS))
endif
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -6,7 +6,7 @@
# License. See LICENSE.TXT for details.
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
TOOLNAME = c-index-test
CPPFLAGS += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
@ -14,10 +14,10 @@ CPPFLAGS += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
# No plugins, optimize startup time.
TOOL_NO_EXPORTS = 1
include $(LEVEL)/Makefile.config
include $(CLANG_LEVEL)/../../Makefile.config
LINK_COMPONENTS := bitreader mc core
USEDLIBS = clang.a clangIndex.a clangFrontend.a clangDriver.a clangSema.a \
clangAnalysis.a clangAST.a clangParse.a clangLex.a clangBasic.a
include $(LLVM_SRC_ROOT)/Makefile.rules
include $(CLANG_LEVEL)/Makefile

Просмотреть файл

@ -6,7 +6,7 @@
# License. See LICENSE.TXT for details.
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
TOOLNAME = clang
ifndef CLANG_IS_PRODUCTION
@ -24,7 +24,7 @@ TOOL_NO_EXPORTS = 1
# Include this here so we can get the configuration of the targets that have
# been configured for construction. We have to do this early so we can set up
# LINK_COMPONENTS before including Makefile.rules
include $(LEVEL)/Makefile.config
include $(CLANG_LEVEL)/../../Makefile.config
LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter codegen \
ipo selectiondag
@ -32,7 +32,7 @@ USEDLIBS = clangFrontend.a clangDriver.a clangCodeGen.a clangSema.a \
clangChecker.a clangAnalysis.a clangRewrite.a clangAST.a \
clangParse.a clangLex.a clangBasic.a
include $(LLVM_SRC_ROOT)/Makefile.rules
include $(CLANG_LEVEL)/Makefile
# Translate make variable to define when building a "production" clang.
ifdef CLANG_IS_PRODUCTION

Просмотреть файл

@ -7,7 +7,7 @@
#
##===----------------------------------------------------------------------===##
LEVEL = ../../../..
CLANG_LEVEL := ../..
LIBRARYNAME = clang
EXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/libclang.exports
@ -17,7 +17,7 @@ CPP.Flags += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
# Include this here so we can get the configuration of the targets
# that have been configured for construction. We have to do this
# early so we can set up LINK_COMPONENTS before including Makefile.rules
include $(LEVEL)/Makefile.config
include $(CLANG_LEVEL)/../../Makefile.config
LINK_LIBS_IN_SHARED = 1
SHARED_LIBRARY = 1
@ -26,7 +26,7 @@ LINK_COMPONENTS := bitreader mc core
USEDLIBS = clangFrontend.a clangDriver.a clangSema.a \
clangAnalysis.a clangAST.a clangParse.a clangLex.a clangBasic.a
include $(LEVEL)/Makefile.common
include $(CLANG_LEVEL)/Makefile
##===----------------------------------------------------------------------===##
# FIXME: This is copied from the 'lto' makefile. Should we share this?