diff options
author | Dinakar Dhurjati <dhurjati@cs.uiuc.edu> | 2003-05-29 21:49:00 +0000 |
---|---|---|
committer | Dinakar Dhurjati <dhurjati@cs.uiuc.edu> | 2003-05-29 21:49:00 +0000 |
commit | 584dd186c80444b8a8bea2453f09652a48fc2c65 (patch) | |
tree | 1f4f895ad1f7481ae6abbfba06f6f579b3d59125 /Makefile.common | |
parent | aa8ca2df91467fa0cea2f82defe685f79b5d9553 (diff) |
Added documentation for the project options
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6418 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Makefile.common')
-rw-r--r-- | Makefile.common | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/Makefile.common b/Makefile.common index b5c4c9c9dc..c13ca250b0 100644 --- a/Makefile.common +++ b/Makefile.common @@ -30,6 +30,15 @@ # are in, if they are not in the current directory. This should include a # trailing / character. # +# 6. PROJ_COMPILE - If set to 1, then this makefile can also be used to +# compile other projects using llvm. Note if this option is set then the +# following *must* hold +# PROJLEVEL should be set to the top of the source directory for the +# project files +# LEVEL should be set to the top of LLVM source tree +# LLVM_LIB_DIR should be set to the top of the LLVM build tree +# +# #===-----------------------------------------------------------------------==== # Configuration file to set paths specific to local installation of LLVM @@ -59,9 +68,16 @@ install :: # /shared directory by default because it is guaranteed to be local to the # current machine. # + ifeq ($(LLVM_OBJ_DIR),.) BUILD_ROOT = $(LLVM_OBJ_DIR) + +ifdef PROJ_COMPILE +BUILD_ROOT_TOP = $(PROJLEVEL) +else BUILD_ROOT_TOP = $(LEVEL) +endif + else BUILD_ROOT := $(LLVM_OBJ_DIR)$(patsubst $(HOME)%,%,$(shell pwd)) @@ -73,7 +89,7 @@ BUILD_ROOT := $(LLVM_OBJ_DIR)$(patsubst $(HOME)%,%,$(shell pwd)) # the directory to eliminate the ../'s # ifdef PROJ_COMPILE -TOP_DIRECTORY := $(shell cd $(TOPLEVEL); pwd) +TOP_DIRECTORY := $(shell cd $(PROJLEVEL); pwd) else TOP_DIRECTORY := $(shell cd $(LEVEL); pwd) endif @@ -108,12 +124,14 @@ else endif # Shorthand for commonly accessed directories +# DESTLIBXYZ indicates destination for the libraries built DESTLIBDEBUG := $(BUILD_ROOT_TOP)/lib/Debug DESTLIBRELEASE := $(BUILD_ROOT_TOP)/lib/Release DESTLIBPROFILE := $(BUILD_ROOT_TOP)/lib/Profile DESTLIBCURRENT := $(BUILD_ROOT_TOP)/lib/$(CONFIGURATION) ifdef PROJ_COMPILE +#get the llvm libraries from LLVM_LIB_DIR LLVMLIBDEBUGSOURCE := $(LLVM_LIB_DIR)/lib/Debug LLVMLIBRELEASESOURCE := $(LLVM_LIB_DIR)/lib/Release LLVMLIBPROFILESOURCE := $(LLVM_LIB_DIR)/lib/Profile @@ -125,7 +143,7 @@ PROJLIBPROFILESOURCE := $(BUILD_ROOT_TOP)/lib/Profile PROJLIBCURRENTSOURCE := $(BUILD_ROOT_TOP)/lib/$(CONFIGURATION) else - +#when we are building llvm, destination is same as source LLVMLIBDEBUGSOURCE := $(BUILD_ROOT_TOP)/lib/Debug LLVMLIBRELEASESOURCE := $(BUILD_ROOT_TOP)/lib/Release LLVMLIBPROFILESOURCE := $(BUILD_ROOT_TOP)/lib/Profile @@ -161,11 +179,11 @@ ifdef ENABLE_PROFILING PROFILE = -pg endif -#if PROJDIR is defined then we include PROJ DIR includes and libraries +#if PROJDIR is defined then we include project include directory ifndef PROJ_COMPILE PROJ_INCLUDE = . else -PROJ_INCLUDE = $(PROJ_DIR)/include +PROJ_INCLUDE = $(TOP_DIRECTORY)/include endif # By default, strip symbol information from executable @@ -203,6 +221,7 @@ Link := $(CXX) endif ifdef PROJ_COMPILE +# include both projlib source and llvmlib source LinkG := $(Link) -g -L$(PROJLIBDEBUGSOURCE) -L$(LLVMLIBDEBUGSOURCE) $(STRIP) LinkO := $(Link) -O3 -L$(PROJLIBRELEASESOURCE) -L$(LLVMLIBRELEASESOURCE) LinkP := $(Link) -O3 -L$(PROJLIBPROFILESOURCE) -L$(LLVMLIBPROFILESOURCE) $(PROFILE) |