##===- runtime/Makefile ------------------------------------*- Makefile -*-===##
# 
#                     The LLVM Compiler Infrastructure
#
# This file was developed by the LLVM research group and is distributed under
# the University of Illinois Open Source License. See LICENSE.TXT for details.
# 
##===----------------------------------------------------------------------===##

LEVEL = ..
include $(LEVEL)/Makefile.config

ifeq ($(LLVMGCC_MAJVERS),4)
PARALLEL_DIRS :=
install all::
	$(Echo) "Warning: These runtime libraries only need to be built with"
	$(Echo) "Warning: llvm-gcc version 3. They are automatically included"
	$(Echo) "Warning: with llvm-gcc version 4 and beyond"
else 
ifneq ($(wildcard $(LLVMGCC)),)
PARALLEL_DIRS  := GCCLibraries  libdummy libprofile GC
else
PARALLEL_DIRS  := 
install all ::
	@echo '********' Warning: Your LLVMGCCDIR is set incorrectly.  Check 
	@echo '********' Warning: llvm/Makefile.config to make sure it matches
	@echo '********' Warning: the directory where the C front-end is
	@echo '********' Warning: installed,and re-run configure if it does not.
endif

# Disable libprofile: a faulty libtool is generated by autoconf which breaks the
# build on Sparc
ifeq ($(ARCH), Sparc)
PARALLEL_DIRS := $(filter-out libprofile, $(PARALLEL_DIRS))
endif
endif

include $(LEVEL)/Makefile.common

# Install target for libraries: Copy into $LLVMGCCDIR/bytecode-libs
#
install::

