74f58eea1d552eeae1a87b92f088b3bed6d80175
[lldb.git] / clang-tools-extra / clang-modernize / tool / Makefile
1 ##===- tools/extra/loop-convert/Makefile ----sssss----------*- 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-modernize
14
15 # No plugins, optimize startup time.
16 TOOL_NO_EXPORTS = 1
17
18 SOURCES = ClangModernize.cpp
19
20 # FIXME: All these gross relative paths will go away once transforms are lib-ified.
21
22 # For each Transform subdirectory add to SOURCES and BUILT_SOURCES.
23 # BUILT_SOURCES ensures a subdirectory is created to house object files from
24 # transform subdirectories. See below for more on .objdir.
25 SOURCES += $(addprefix ../LoopConvert/,$(notdir $(wildcard $(PROJ_SRC_DIR)/../LoopConvert/*.cpp)))
26 BUILT_SOURCES = $(ObjDir)/../LoopConvert/.objdir
27 SOURCES += $(addprefix ../UseNullptr/,$(notdir $(wildcard $(PROJ_SRC_DIR)/../UseNullptr/*.cpp)))
28 BUILT_SOURCES += $(ObjDir)/../UseNullptr/.objdir
29 SOURCES += $(addprefix ../UseAuto/,$(notdir $(wildcard $(PROJ_SRC_DIR)/../UseAuto/*.cpp)))
30 BUILT_SOURCES += $(ObjDir)/../UseAuto/.objdir
31 SOURCES += $(addprefix ../AddOverride/,$(notdir $(wildcard $(PROJ_SRC_DIR)/../AddOverride/*.cpp)))
32 BUILT_SOURCES += $(ObjDir)/../AddOverride/.objdir
33 SOURCES += $(addprefix ../PassByValue/,$(notdir $(wildcard $(PROJ_SRC_DIR)/../PassByValue/*.cpp)))
34 BUILT_SOURCES += $(ObjDir)/../PassByValue/.objdir
35 SOURCES += $(addprefix ../ReplaceAutoPtr/,$(notdir $(wildcard $(PROJ_SRC_DIR)/../ReplaceAutoPtr/*.cpp)))
36 BUILT_SOURCES += $(ObjDir)/../ReplaceAutoPtr/.objdir
37
38 LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter \
39                    instrumentation ipo support mc objcarcopts option
40
41 USEDLIBS = modernizeCore.a clangFormat.a \
42            clangTooling.a clangToolingCore.a clangFrontend.a \
43            clangSerialization.a clangDriver.a clangRewriteFrontend.a \
44            clangRewrite.a clangParse.a clangSema.a clangAnalysis.a \
45            clangAST.a clangASTMatchers.a clangEdit.a clangLex.a clangBasic.a \
46            clangCodeGen.a
47
48 include $(CLANG_LEVEL)/Makefile
49
50 CPP.Flags += -I$(PROJ_SRC_DIR)/..
51
52 # BUILT_SOURCES gets used as a prereq for many top-level targets. However, at
53 # the point those targets are defined, $(ObjDir) hasn't been defined and so the
54 # directory to create becomes /<name>/ which is not what we want. So instead,
55 # this .objdir recipe is defined at at point where $(ObjDir) is defined and
56 # it's specialized to $(ObjDir) to ensure it only works on targets we want it
57 # to.
58 $(ObjDir)/%.objdir:
59         $(Verb) $(MKDIR) $(ObjDir)/$* > /dev/null
60         $(Verb) $(DOTDIR_TIMESTAMP_COMMAND) > $@
61