summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvmc/Makefile.llvmc
diff options
context:
space:
mode:
authorMikhail Glushenkov <foldr@codedgers.com>2009-03-02 09:01:14 +0000
committerMikhail Glushenkov <foldr@codedgers.com>2009-03-02 09:01:14 +0000
commit931d4521c33df446cf4f5a8ae168a8001556693f (patch)
tree21923e5f5c09631cbaf3159c5b790a96e6c8871b /llvm/tools/llvmc/Makefile.llvmc
parent57359cad176d71f47203d5d486e2563e70dc58e0 (diff)
downloadbcm5719-llvm-931d4521c33df446cf4f5a8ae168a8001556693f.tar.gz
bcm5719-llvm-931d4521c33df446cf4f5a8ae168a8001556693f.zip
Reorganize llvmc code.
Move the code from 'llvmc/driver' into a new CompilerDriver library, and change the build system accordingly. Makes it easier for projects using LLVM to build their own llvmc-based drivers. Tested with objdir != srcdir. llvm-svn: 65821
Diffstat (limited to 'llvm/tools/llvmc/Makefile.llvmc')
-rw-r--r--llvm/tools/llvmc/Makefile.llvmc49
1 files changed, 49 insertions, 0 deletions
diff --git a/llvm/tools/llvmc/Makefile.llvmc b/llvm/tools/llvmc/Makefile.llvmc
new file mode 100644
index 00000000000..79ec6426e8d
--- /dev/null
+++ b/llvm/tools/llvmc/Makefile.llvmc
@@ -0,0 +1,49 @@
+##===- tools/llvmc/Makefile.llvmc --------------------------*- Makefile -*-===##
+#
+# The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open
+# Source License. See LICENSE.TXT for details.
+#
+##===----------------------------------------------------------------------===##
+
+# TODO: This must be eventually merged into Makefile.rules.
+
+ifdef LLVMC_PLUGIN
+
+# We are included from plugins/PluginName/Makefile...
+
+LEVEL = ../../../..
+
+LIBRARYNAME := $(patsubst %,plugin_llvmc_%,$(LLVMC_PLUGIN))
+REQUIRES_EH := 1
+
+# Build a dynamic library if the user runs `make` from plugins/PluginName
+ifndef LLVMC_BUILTIN_PLUGIN
+LOADABLE_MODULE = 1
+endif
+
+# TableGen stuff...
+ifneq ($(BUILT_SOURCES),)
+BUILD_AUTOGENERATED_INC=1
+endif
+
+include $(LEVEL)/Makefile.common
+
+ifdef BUILD_AUTOGENERATED_INC
+
+TOOLS_SOURCE := $(strip $(wildcard $(PROJ_SRC_DIR)/*.td))
+
+TD_COMMON :=$(strip $(wildcard \
+ $(LLVM_SRC_ROOT)/include/llvm/CompilerDriver/*.td))
+
+$(ObjDir)/AutoGenerated.inc.tmp: $(TOOLS_SOURCE) $(ObjDir)/.dir \
+ $(TBLGEN) $(TD_COMMON)
+ $(Echo) "Building LLVMC configuration library with tblgen"
+ $(Verb) $(TableGen) -gen-llvmc -o $(call SYSPATH, $@) $<
+
+AutoGenerated.inc : $(ObjDir)/AutoGenerated.inc.tmp
+ $(Verb) $(CMP) -s $@ $< || $(CP) $< $@
+endif # BUILD_AUTOGENERATED_INC
+
+endif # LLVMC_PLUGIN
OpenPOWER on IntegriCloud