From b14f5b5e9d6a8cc9337a99ff3a31ff2bc1ba2fa0 Mon Sep 17 00:00:00 2001 From: Mikhail Glushenkov Date: Mon, 2 Mar 2009 09:03:36 +0000 Subject: Fix build with objdir != srcdir. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65826 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/llvmc/Makefile | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'tools/llvmc/Makefile') diff --git a/tools/llvmc/Makefile b/tools/llvmc/Makefile index 60961769d1..f70c4b5e11 100644 --- a/tools/llvmc/Makefile +++ b/tools/llvmc/Makefile @@ -9,6 +9,8 @@ LEVEL = ../.. +#ifndef LLVMC_PLUGIN + # The current plan is to make the user copy the skeleton project and change only # this file (and plugins/UserPlugin, of course). @@ -18,3 +20,43 @@ export LLVMC_BUILTIN_PLUGINS = Base Clang DIRS = plugins driver include $(LEVEL)/Makefile.common + +else # LLVMC_PLUGIN + +# We are included from plugins/PluginName/Makefile... +# TODO: This part must be merged into Makefile.rules. + +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 -- cgit v1.2.3