mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
Added documentation for the project options
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6418 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
aa8ca2df91
commit
584dd186c8
@ -30,6 +30,15 @@
|
|||||||
# are in, if they are not in the current directory. This should include a
|
# are in, if they are not in the current directory. This should include a
|
||||||
# trailing / character.
|
# 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
|
# 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
|
# /shared directory by default because it is guaranteed to be local to the
|
||||||
# current machine.
|
# current machine.
|
||||||
#
|
#
|
||||||
|
|
||||||
ifeq ($(LLVM_OBJ_DIR),.)
|
ifeq ($(LLVM_OBJ_DIR),.)
|
||||||
BUILD_ROOT = $(LLVM_OBJ_DIR)
|
BUILD_ROOT = $(LLVM_OBJ_DIR)
|
||||||
|
|
||||||
|
ifdef PROJ_COMPILE
|
||||||
|
BUILD_ROOT_TOP = $(PROJLEVEL)
|
||||||
|
else
|
||||||
BUILD_ROOT_TOP = $(LEVEL)
|
BUILD_ROOT_TOP = $(LEVEL)
|
||||||
|
endif
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
BUILD_ROOT := $(LLVM_OBJ_DIR)$(patsubst $(HOME)%,%,$(shell pwd))
|
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
|
# the directory to eliminate the ../'s
|
||||||
#
|
#
|
||||||
ifdef PROJ_COMPILE
|
ifdef PROJ_COMPILE
|
||||||
TOP_DIRECTORY := $(shell cd $(TOPLEVEL); pwd)
|
TOP_DIRECTORY := $(shell cd $(PROJLEVEL); pwd)
|
||||||
else
|
else
|
||||||
TOP_DIRECTORY := $(shell cd $(LEVEL); pwd)
|
TOP_DIRECTORY := $(shell cd $(LEVEL); pwd)
|
||||||
endif
|
endif
|
||||||
@ -108,12 +124,14 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Shorthand for commonly accessed directories
|
# Shorthand for commonly accessed directories
|
||||||
|
# DESTLIBXYZ indicates destination for the libraries built
|
||||||
DESTLIBDEBUG := $(BUILD_ROOT_TOP)/lib/Debug
|
DESTLIBDEBUG := $(BUILD_ROOT_TOP)/lib/Debug
|
||||||
DESTLIBRELEASE := $(BUILD_ROOT_TOP)/lib/Release
|
DESTLIBRELEASE := $(BUILD_ROOT_TOP)/lib/Release
|
||||||
DESTLIBPROFILE := $(BUILD_ROOT_TOP)/lib/Profile
|
DESTLIBPROFILE := $(BUILD_ROOT_TOP)/lib/Profile
|
||||||
DESTLIBCURRENT := $(BUILD_ROOT_TOP)/lib/$(CONFIGURATION)
|
DESTLIBCURRENT := $(BUILD_ROOT_TOP)/lib/$(CONFIGURATION)
|
||||||
|
|
||||||
ifdef PROJ_COMPILE
|
ifdef PROJ_COMPILE
|
||||||
|
#get the llvm libraries from LLVM_LIB_DIR
|
||||||
LLVMLIBDEBUGSOURCE := $(LLVM_LIB_DIR)/lib/Debug
|
LLVMLIBDEBUGSOURCE := $(LLVM_LIB_DIR)/lib/Debug
|
||||||
LLVMLIBRELEASESOURCE := $(LLVM_LIB_DIR)/lib/Release
|
LLVMLIBRELEASESOURCE := $(LLVM_LIB_DIR)/lib/Release
|
||||||
LLVMLIBPROFILESOURCE := $(LLVM_LIB_DIR)/lib/Profile
|
LLVMLIBPROFILESOURCE := $(LLVM_LIB_DIR)/lib/Profile
|
||||||
@ -125,7 +143,7 @@ PROJLIBPROFILESOURCE := $(BUILD_ROOT_TOP)/lib/Profile
|
|||||||
PROJLIBCURRENTSOURCE := $(BUILD_ROOT_TOP)/lib/$(CONFIGURATION)
|
PROJLIBCURRENTSOURCE := $(BUILD_ROOT_TOP)/lib/$(CONFIGURATION)
|
||||||
|
|
||||||
else
|
else
|
||||||
|
#when we are building llvm, destination is same as source
|
||||||
LLVMLIBDEBUGSOURCE := $(BUILD_ROOT_TOP)/lib/Debug
|
LLVMLIBDEBUGSOURCE := $(BUILD_ROOT_TOP)/lib/Debug
|
||||||
LLVMLIBRELEASESOURCE := $(BUILD_ROOT_TOP)/lib/Release
|
LLVMLIBRELEASESOURCE := $(BUILD_ROOT_TOP)/lib/Release
|
||||||
LLVMLIBPROFILESOURCE := $(BUILD_ROOT_TOP)/lib/Profile
|
LLVMLIBPROFILESOURCE := $(BUILD_ROOT_TOP)/lib/Profile
|
||||||
@ -161,11 +179,11 @@ ifdef ENABLE_PROFILING
|
|||||||
PROFILE = -pg
|
PROFILE = -pg
|
||||||
endif
|
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
|
ifndef PROJ_COMPILE
|
||||||
PROJ_INCLUDE = .
|
PROJ_INCLUDE = .
|
||||||
else
|
else
|
||||||
PROJ_INCLUDE = $(PROJ_DIR)/include
|
PROJ_INCLUDE = $(TOP_DIRECTORY)/include
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# By default, strip symbol information from executable
|
# By default, strip symbol information from executable
|
||||||
@ -203,6 +221,7 @@ Link := $(CXX)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef PROJ_COMPILE
|
ifdef PROJ_COMPILE
|
||||||
|
# include both projlib source and llvmlib source
|
||||||
LinkG := $(Link) -g -L$(PROJLIBDEBUGSOURCE) -L$(LLVMLIBDEBUGSOURCE) $(STRIP)
|
LinkG := $(Link) -g -L$(PROJLIBDEBUGSOURCE) -L$(LLVMLIBDEBUGSOURCE) $(STRIP)
|
||||||
LinkO := $(Link) -O3 -L$(PROJLIBRELEASESOURCE) -L$(LLVMLIBRELEASESOURCE)
|
LinkO := $(Link) -O3 -L$(PROJLIBRELEASESOURCE) -L$(LLVMLIBRELEASESOURCE)
|
||||||
LinkP := $(Link) -O3 -L$(PROJLIBPROFILESOURCE) -L$(LLVMLIBPROFILESOURCE) $(PROFILE)
|
LinkP := $(Link) -O3 -L$(PROJLIBPROFILESOURCE) -L$(LLVMLIBPROFILESOURCE) $(PROFILE)
|
||||||
|
@ -30,6 +30,15 @@
|
|||||||
# are in, if they are not in the current directory. This should include a
|
# are in, if they are not in the current directory. This should include a
|
||||||
# trailing / character.
|
# 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
|
# 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
|
# /shared directory by default because it is guaranteed to be local to the
|
||||||
# current machine.
|
# current machine.
|
||||||
#
|
#
|
||||||
|
|
||||||
ifeq ($(LLVM_OBJ_DIR),.)
|
ifeq ($(LLVM_OBJ_DIR),.)
|
||||||
BUILD_ROOT = $(LLVM_OBJ_DIR)
|
BUILD_ROOT = $(LLVM_OBJ_DIR)
|
||||||
|
|
||||||
|
ifdef PROJ_COMPILE
|
||||||
|
BUILD_ROOT_TOP = $(PROJLEVEL)
|
||||||
|
else
|
||||||
BUILD_ROOT_TOP = $(LEVEL)
|
BUILD_ROOT_TOP = $(LEVEL)
|
||||||
|
endif
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
BUILD_ROOT := $(LLVM_OBJ_DIR)$(patsubst $(HOME)%,%,$(shell pwd))
|
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
|
# the directory to eliminate the ../'s
|
||||||
#
|
#
|
||||||
ifdef PROJ_COMPILE
|
ifdef PROJ_COMPILE
|
||||||
TOP_DIRECTORY := $(shell cd $(TOPLEVEL); pwd)
|
TOP_DIRECTORY := $(shell cd $(PROJLEVEL); pwd)
|
||||||
else
|
else
|
||||||
TOP_DIRECTORY := $(shell cd $(LEVEL); pwd)
|
TOP_DIRECTORY := $(shell cd $(LEVEL); pwd)
|
||||||
endif
|
endif
|
||||||
@ -108,12 +124,14 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Shorthand for commonly accessed directories
|
# Shorthand for commonly accessed directories
|
||||||
|
# DESTLIBXYZ indicates destination for the libraries built
|
||||||
DESTLIBDEBUG := $(BUILD_ROOT_TOP)/lib/Debug
|
DESTLIBDEBUG := $(BUILD_ROOT_TOP)/lib/Debug
|
||||||
DESTLIBRELEASE := $(BUILD_ROOT_TOP)/lib/Release
|
DESTLIBRELEASE := $(BUILD_ROOT_TOP)/lib/Release
|
||||||
DESTLIBPROFILE := $(BUILD_ROOT_TOP)/lib/Profile
|
DESTLIBPROFILE := $(BUILD_ROOT_TOP)/lib/Profile
|
||||||
DESTLIBCURRENT := $(BUILD_ROOT_TOP)/lib/$(CONFIGURATION)
|
DESTLIBCURRENT := $(BUILD_ROOT_TOP)/lib/$(CONFIGURATION)
|
||||||
|
|
||||||
ifdef PROJ_COMPILE
|
ifdef PROJ_COMPILE
|
||||||
|
#get the llvm libraries from LLVM_LIB_DIR
|
||||||
LLVMLIBDEBUGSOURCE := $(LLVM_LIB_DIR)/lib/Debug
|
LLVMLIBDEBUGSOURCE := $(LLVM_LIB_DIR)/lib/Debug
|
||||||
LLVMLIBRELEASESOURCE := $(LLVM_LIB_DIR)/lib/Release
|
LLVMLIBRELEASESOURCE := $(LLVM_LIB_DIR)/lib/Release
|
||||||
LLVMLIBPROFILESOURCE := $(LLVM_LIB_DIR)/lib/Profile
|
LLVMLIBPROFILESOURCE := $(LLVM_LIB_DIR)/lib/Profile
|
||||||
@ -125,7 +143,7 @@ PROJLIBPROFILESOURCE := $(BUILD_ROOT_TOP)/lib/Profile
|
|||||||
PROJLIBCURRENTSOURCE := $(BUILD_ROOT_TOP)/lib/$(CONFIGURATION)
|
PROJLIBCURRENTSOURCE := $(BUILD_ROOT_TOP)/lib/$(CONFIGURATION)
|
||||||
|
|
||||||
else
|
else
|
||||||
|
#when we are building llvm, destination is same as source
|
||||||
LLVMLIBDEBUGSOURCE := $(BUILD_ROOT_TOP)/lib/Debug
|
LLVMLIBDEBUGSOURCE := $(BUILD_ROOT_TOP)/lib/Debug
|
||||||
LLVMLIBRELEASESOURCE := $(BUILD_ROOT_TOP)/lib/Release
|
LLVMLIBRELEASESOURCE := $(BUILD_ROOT_TOP)/lib/Release
|
||||||
LLVMLIBPROFILESOURCE := $(BUILD_ROOT_TOP)/lib/Profile
|
LLVMLIBPROFILESOURCE := $(BUILD_ROOT_TOP)/lib/Profile
|
||||||
@ -161,11 +179,11 @@ ifdef ENABLE_PROFILING
|
|||||||
PROFILE = -pg
|
PROFILE = -pg
|
||||||
endif
|
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
|
ifndef PROJ_COMPILE
|
||||||
PROJ_INCLUDE = .
|
PROJ_INCLUDE = .
|
||||||
else
|
else
|
||||||
PROJ_INCLUDE = $(PROJ_DIR)/include
|
PROJ_INCLUDE = $(TOP_DIRECTORY)/include
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# By default, strip symbol information from executable
|
# By default, strip symbol information from executable
|
||||||
@ -203,6 +221,7 @@ Link := $(CXX)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef PROJ_COMPILE
|
ifdef PROJ_COMPILE
|
||||||
|
# include both projlib source and llvmlib source
|
||||||
LinkG := $(Link) -g -L$(PROJLIBDEBUGSOURCE) -L$(LLVMLIBDEBUGSOURCE) $(STRIP)
|
LinkG := $(Link) -g -L$(PROJLIBDEBUGSOURCE) -L$(LLVMLIBDEBUGSOURCE) $(STRIP)
|
||||||
LinkO := $(Link) -O3 -L$(PROJLIBRELEASESOURCE) -L$(LLVMLIBRELEASESOURCE)
|
LinkO := $(Link) -O3 -L$(PROJLIBRELEASESOURCE) -L$(LLVMLIBRELEASESOURCE)
|
||||||
LinkP := $(Link) -O3 -L$(PROJLIBPROFILESOURCE) -L$(LLVMLIBPROFILESOURCE) $(PROFILE)
|
LinkP := $(Link) -O3 -L$(PROJLIBPROFILESOURCE) -L$(LLVMLIBPROFILESOURCE) $(PROFILE)
|
||||||
|
Loading…
Reference in New Issue
Block a user