f2b136004a6a22ad4a59585dfebafad23ceec686
[lldb.git] / clang-tools-extra / clang-query / tool / Makefile
1 ##===- tools/extra/clang-query/tool/Makefile ---------------*- Makefile -*-===##
2 #
3 #                     The LLVM Compiler Infrastructure
4 #
5 # This file is distributed under the University of Illinois Open Source
6 # License. See LICENSE.TXT for details.
7 #
8 ##===----------------------------------------------------------------------===##
9
10 CLANG_LEVEL := ../../../..
11 include $(CLANG_LEVEL)/../../Makefile.config
12
13 TOOLNAME = clang-query
14
15 # No plugins, optimize startup time.
16 TOOL_NO_EXPORTS = 1
17
18 SOURCES = ClangQuery.cpp
19
20 LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter \
21                    instrumentation ipo support mc objcarcopts option
22 USEDLIBS = clangQuery.a clangDynamicASTMatchers.a clangFormat.a clangTooling.a \
23            clangFrontend.a clangSerialization.a clangDriver.a clangRewriteFrontend.a \
24            LLVMLineEditor.a clangRewrite.a clangParse.a clangSema.a clangAnalysis.a \
25            clangAST.a clangASTMatchers.a clangEdit.a clangLex.a clangBasic.a \
26            clangCodeGen.a
27
28 include $(CLANG_LEVEL)/Makefile
29
30 CPP.Flags += -I$(PROJ_SRC_DIR)/..
31
32 # BUILT_SOURCES gets used as a prereq for many top-level targets. However, at
33 # the point those targets are defined, $(ObjDir) hasn't been defined and so the
34 # directory to create becomes /<name>/ which is not what we want. So instead,
35 # this .objdir recipe is defined at at point where $(ObjDir) is defined and
36 # it's specialized to $(ObjDir) to ensure it only works on targets we want it
37 # to.
38 $(ObjDir)/%.objdir:
39         $(Verb) $(MKDIR) $(ObjDir)/$* > /dev/null
40         $(Verb) $(DOTDIR_TIMESTAMP_COMMAND) > $@
41