aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.rules12
1 files changed, 10 insertions, 2 deletions
diff --git a/Makefile.rules b/Makefile.rules
index 724554272a..f0e76218bb 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -339,7 +339,7 @@ endif
CompileCommonOpts := -Wall -W -Wwrite-strings -Wno-unused
-LD.Flags += -L$(LibDir) -L$(LLVMLibDir) $(LIBS)
+LD.Flags += -L$(LibDir) -L$(LLVMLibDir)
CPP.Flags += -I$(PROJ_OBJ_DIR) -I$(PROJ_SRC_DIR) \
-I$(PROJ_OBJ_ROOT)/include \
-I$(PROJ_SRC_ROOT)/include \
@@ -555,6 +555,9 @@ endif
#---------------------------------------------------------
ifdef MODULE_NAME
+ifeq ($(strip $(LLVMGCC)),)
+$(warning Modules require llvm-gcc but no llvm-gcc is available)
+else
Module := $(LibDir)/$(MODULE_NAME).bc
LinkModule := $(LLVMGCCWITHPATH) -shared -nostdlib
@@ -594,6 +597,7 @@ uninstall-local::
-$(Verb) $(RM) -f $(DestModule)
endif
+endif
# if we're building a library ...
ifdef LIBRARYNAME
@@ -651,6 +655,9 @@ endif
# targets for building them.
#---------------------------------------------------------
ifdef BYTECODE_LIBRARY
+ifeq ($(strip $(LLVMGCC)),)
+$(warning Bytecode libraries require llvm-gcc which could not be found)
+else
# make the C and C++ compilers strip debug info out of bytecode libraries.
BCCompile.C += -Wa,-strip-debug
@@ -704,6 +711,7 @@ uninstall-local::
-$(Verb) $(RM) -f $(DestBytecodeLib)
endif
+endif
#---------------------------------------------------------
# ReLinked Library Targets:
@@ -881,7 +889,7 @@ endif
$(ToolBuildPath): $(ObjectsO) $(ProjLibsPaths) $(LLVMLibsPaths)
$(Echo) Linking $(BuildMode) executable $(TOOLNAME) $(StripWarnMsg)
$(Verb) $(Link) -o $@ $(TOOLLINKOPTS) $(ObjectsO) $(ProjLibsOptions) \
- $(LLVMLibsOptions) $(ExtraLibs) $(TOOLLINKOPTSB)
+ $(LLVMLibsOptions) $(ExtraLibs) $(TOOLLINKOPTSB) $(LIBS)
$(Echo) ======= Finished Linking $(BuildMode) Executable $(TOOLNAME) $(StripWarnMsg)
DestTool = $(PROJ_bindir)/$(TOOLNAME)