| #===-- Makefile.config - Local configuration for LLVM ------*- 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. |
| # |
| #===------------------------------------------------------------------------===# |
| # |
| # This file is included by Makefile.common. It defines paths and other |
| # values specific to a particular installation of LLVM. |
| # |
| #===------------------------------------------------------------------------===# |
| |
| # Define LLVM specific info and directories based on the autoconf variables |
| LLVMPackageName := @PACKAGE_NAME@ |
| LLVMVersion := @PACKAGE_VERSION@ |
| LLVM_CONFIGTIME := @LLVM_CONFIGTIME@ |
| |
| ########################################################################### |
| # Directory Configuration |
| # This section of the Makefile determines what is where. To be |
| # specific, there are several locations that need to be defined: |
| # |
| # o LLVM_SRC_ROOT : The root directory of the LLVM source code. |
| # o LLVM_OBJ_ROOT : The root directory containing the built LLVM code. |
| # |
| # o PROJ_SRC_DIR : The directory containing the code to build. |
| # o PROJ_SRC_ROOT : The root directory of the code to build. |
| # |
| # o PROJ_OBJ_DIR : The directory in which compiled code will be placed. |
| # o PROJ_OBJ_ROOT : The root directory in which compiled code is placed. |
| # |
| ########################################################################### |
| |
| # Set the project name to LLVM if its not defined |
| ifndef PROJECT_NAME |
| PROJECT_NAME := LLVM |
| endif |
| |
| PROJ_OBJ_DIR := $(shell pwd) |
| PROJ_OBJ_ROOT := $(subst //,/,$(shell cd $(PROJ_OBJ_DIR)/$(LEVEL); pwd)) |
| |
| ifeq ($(PROJECT_NAME),LLVM) |
| LLVM_SRC_ROOT := @abs_top_srcdir@ |
| LLVM_OBJ_ROOT := @abs_top_builddir@ |
| PROJ_SRC_ROOT := $(LLVM_SRC_ROOT) |
| PROJ_SRC_DIR := $(subst //,/,$(LLVM_SRC_ROOT)/$(patsubst $(PROJ_OBJ_ROOT)%,%,$(PROJ_OBJ_DIR))) |
| PROJ_prefix := @prefix@ |
| PROJ_bindir := @prefix@/bin |
| PROJ_libdir := @prefix@/lib |
| PROJ_datadir := @prefix@/share |
| PROJ_docsdir := @prefix@/docs/llvm |
| PROJ_etcdir := @prefix@/etc/llvm |
| PROJ_includedir := @prefix@/include |
| PROJ_infodir := @prefix@/info |
| PROJ_mandir := @prefix@/man |
| PROJ_VERSION := $(LLVMVersion) |
| else |
| ifndef PROJ_SRC_ROOT |
| $(error Projects must define PROJ_SRC_ROOT) |
| endif |
| ifndef PROJ_OBJ_ROOT |
| $(error Projects must define PROJ_OBJ_ROOT) |
| endif |
| ifndef PROJ_INSTALL_ROOT |
| $(error Projects must define PROJ_INSTALL_ROOT) |
| endif |
| ifndef LLVM_SRC_ROOT |
| $(error Projects must define LLVM_SRC_ROOT) |
| endif |
| ifndef LLVM_OBJ_ROOT |
| $(error Projects must define LLVM_OBJ_ROOT) |
| endif |
| PROJ_SRC_DIR := $(subst //,/,$(PROJ_SRC_ROOT)/$(patsubst $(PROJ_OBJ_ROOT)%,%,$(PROJ_OBJ_DIR))) |
| PROJ_prefix := $(PROJ_INSTALL_ROOT) |
| PROJ_bindir := $(PROJ_INSTALL_ROOT)/bin |
| PROJ_libdir := $(PROJ_INSTALL_ROOT)/lib |
| PROJ_datadir := $(PROJ_INSTALL_ROOT)/share |
| PROJ_docsdir := $(PROJ_INSTALL_ROOT)/docs/llvm |
| PROJ_etcdir := $(PROJ_INSTALL_ROOT)/etc/llvm |
| PROJ_includedir := $(PROJ_INSTALL_ROOT)/include |
| PROJ_infodir := $(PROJ_INSTALL_ROOT)/info |
| PROJ_mandir := $(PROJ_INSTALL_ROOT)/man |
| ifndef PROJ_VERSION |
| PROJ_VERSION := 1.0 |
| endif |
| endif |
| |
| # Determine if we're on a unix type operating system |
| LLVM_ON_UNIX:=@LLVM_ON_UNIX@ |
| LLVM_ON_WIN32:=@LLVM_ON_WIN32@ |
| |
| # Target operating system for which LLVM will be compiled. |
| OS=@OS@ |
| |
| # Target hardware architecture |
| ARCH=@ARCH@ |
| |
| # Target triple (cpu-vendor-os) for which we should generate code |
| TARGET_TRIPLE=@target@ |
| |
| # Targets that we should build |
| TARGETS_TO_BUILD=@TARGETS_TO_BUILD@ |
| |
| # Endian-ness of the target |
| ENDIAN=@ENDIAN@ |
| |
| # Path to the C++ compiler to use. This is an optional setting, which defaults |
| # to whatever your gmake defaults to. |
| CXX = @CXX@ |
| |
| # Path to the CC binary, which use used by testcases for native builds. |
| CC := @CC@ |
| |
| # Linker flags. |
| LDFLAGS+=@LDFLAGS@ |
| |
| # Path to the library archiver program. |
| AR_PATH = @AR@ |
| |
| # The pathnames of the programs we require to build |
| BISON := @BISON@ |
| CMP := @CMP@ |
| CP := @CP@ |
| DATE := @DATE@ |
| FIND := @FIND@ |
| FLEX := @LEX@ |
| GREP := @GREP@ |
| INSTALL := @INSTALL@ |
| MKDIR := $(LLVM_SRC_ROOT)/autoconf/mkinstalldirs |
| MV := @MV@ |
| RANLIB := @RANLIB@ |
| RM := @RM@ |
| SED := @SED@ |
| TAR := @TAR@ |
| YACC := @YACC@ |
| |
| # Paths to miscellaneous programs we hope are present but might not be |
| BZIP2 := @BZIP2@ |
| DOT := @DOT@ |
| DOXYGEN := @DOXYGEN@ |
| ETAGS := @ETAGS@ |
| ETAGSFLAGS := @ETAGSFLAGS@ |
| GROFF := @GROFF@ |
| GZIP := @GZIP@ |
| POD2HTML := @POD2HTML@ |
| POD2MAN := @POD2MAN@ |
| RUNTEST := @RUNTEST@ |
| TCLSH := @TCLSH@ |
| ZIP := @ZIP@ |
| |
| LIBS := @LIBS@ |
| |
| # Path to location for LLVM C/C++ front-end. You can modify this if you |
| # want to override the value set by configure. |
| LLVMGCCDIR := @LLVMGCCDIR@ |
| |
| # Determine the target for which LLVM should generate code. |
| LLVMGCCARCH := @target@/3.4-llvm |
| |
| # Full pathnames of LLVM C/C++ front-end 'cc1' and 'cc1plus' binaries: |
| LLVMGCC := @LLVMGCC@ |
| LLVMGXX := @LLVMGXX@ |
| LLVMCC1 := @LLVMCC1@ |
| LLVMCC1PLUS := @LLVMCC1PLUS@ |
| |
| # Path to directory where object files should be stored during a build. |
| # Set OBJ_ROOT to "." if you do not want to use a separate place for |
| # object files. |
| OBJ_ROOT := . |
| |
| # These are options that can either be enabled here, or can be enabled on the |
| # make command line (ie, make ENABLE_PROFILING=1): |
| |
| # When ENABLE_OPTIMIZED is enabled, Release builds of all of the LLVM code are |
| # turned on, and Debug builds are turned off. |
| #ENABLE_OPTIMIZED = 1 |
| @ENABLE_OPTIMIZED@ |
| |
| # When ENABLE_PROFILING is enabled, the llvm source base is built with profile |
| # information to allow gprof to be used to get execution frequencies. |
| #ENABLE_PROFILING = 1 |
| |
| # When ENABLE_DOXYGEN is enabled, the doxygen documentation will be built |
| ENABLE_DOXYGEN = @ENABLE_DOXYGEN@ |
| |
| # This option tells the Makefiles to produce verbose output. |
| # It essentially prints the commands that make is executing |
| #VERBOSE = 1 |
| |
| # Enable JIT for this platform |
| @JIT@ |
| |
| # Shared library extension for this platform. |
| SHLIBEXT = @SHLIBEXT@ |
| |
| # Executable file extension for this platform. |
| EXEEXT = @EXEEXT@ |
| |
| # Things we just assume are "there" |
| ECHO := echo |