diff --git a/Makefile b/Makefile index f544a648..ee00d65e 100644 --- a/Makefile +++ b/Makefile @@ -102,7 +102,7 @@ deps-y+=$(lib-objs-path-y:.o=.dep) deps-y+=$(firmware-objs-path-y:.o=.dep) # Setup compilation environment -cpp=$(CROSS_COMPILE)cpp +cpp=$(CROSS_COMPILE_PREFIX)cpp cppflags+=-DOPENSBI_MAJOR=$(MAJOR) cppflags+=-DOPENSBI_MINOR=$(MINOR) cppflags+=-I$(platform_dir)/include @@ -110,7 +110,7 @@ cppflags+=-I$(platform_common_dir)/include cppflags+=-I$(include_dir) cppflags+=$(platform-cppflags-y) cppflags+=$(firmware-cppflags-y) -cc=$(CROSS_COMPILE)gcc +cc=$(CROSS_COMPILE_PREFIX)gcc cflags=-g -Wall -Werror -nostdlib -fno-strict-aliasing -O2 cflags+=-fno-omit-frame-pointer -fno-optimize-sibling-calls cflags+=-mno-save-restore -mstrict-align @@ -118,7 +118,7 @@ cflags+=$(cppflags) cflags+=$(platform-cflags-y) cflags+=$(firmware-cflags-y) cflags+=$(EXTRA_CFLAGS) -as=$(CROSS_COMPILE)gcc +as=$(CROSS_COMPILE_PREFIX)gcc asflags=-g -Wall -nostdlib -D__ASSEMBLY__ asflags+=-fno-omit-frame-pointer -fno-optimize-sibling-calls asflags+=-mno-save-restore -mstrict-align @@ -126,15 +126,15 @@ asflags+=$(cppflags) asflags+=$(platform-asflags-y) asflags+=$(firmware-asflags-y) asflags+=$(EXTRA_ASFLAGS) -ar=$(CROSS_COMPILE)ar +ar=$(CROSS_COMPILE_PREFIX)ar arflags=rcs -ld=$(CROSS_COMPILE)gcc +ld=$(CROSS_COMPILE_PREFIX)gcc ldflags=-g -Wall -nostdlib -Wl,--build-id=none ldflags+=$(platform-ldflags-y) ldflags+=$(firmware-ldflags-y) -merge=$(CROSS_COMPILE)ld +merge=$(CROSS_COMPILE_PREFIX)ld mergeflags=-r -objcopy=$(CROSS_COMPILE)objcopy +objcopy=$(CROSS_COMPILE_PREFIX)objcopy # Setup functions for compilation define dynamic_flags diff --git a/README.md b/README.md index 8d5b7233..0588aa8d 100644 --- a/README.md +++ b/README.md @@ -28,8 +28,9 @@ We can create three things using the RISC-V OpenSBI project: How to Build? ------------- -For cross-compiling, please ensure that CROSS_COMPILE environment -variable is set before starting build system. +For cross-compiling, the environment variable CROSS_COMPILE_PREFIX must be +defined to specify the toolchain executable name prefix, e.g. +"riscv64-unknown-elf-" for riscv64-unknown-elf-gcc. The libplatsbi.a and firmwares are optional and only built when `PLATFORM=` parameter is specified to top-level make. @@ -78,4 +79,4 @@ We also prefer source level documentation, so wherever possible we describe stuff directly in the source code. This helps us maintain source and its documentation at the same place. For source level documentation we strictly follow Doxygen style. Please refer [Doxygen manual] -(http://www.stack.nl/~dimitri/doxygen/manual.html) for details. \ No newline at end of file +(http://www.stack.nl/~dimitri/doxygen/manual.html) for details.