mirror of
https://github.com/vortexgpgpu/vortex.git
synced 2025-04-23 21:39:10 -04:00
adding support for build install target
This commit is contained in:
parent
e1c8ff02be
commit
dc5cbfe932
3 changed files with 50 additions and 6 deletions
39
Makefile.in
39
Makefile.in
|
@ -1,6 +1,6 @@
|
|||
include config.mk
|
||||
|
||||
all:
|
||||
all:
|
||||
$(MAKE) -C $(VORTEX_HOME)/third_party
|
||||
$(MAKE) -C hw
|
||||
$(MAKE) -C sim
|
||||
|
@ -28,3 +28,40 @@ clean-all:
|
|||
$(MAKE) -C kernel clean
|
||||
$(MAKE) -C runtime clean
|
||||
$(MAKE) -C tests clean-all
|
||||
|
||||
# Install setup
|
||||
KERNEL_DIRS = $(PREFIX)/kernel/include $(PREFIX)/kernel/lib
|
||||
RUNTIME_DIRS = $(PREFIX)/runtime/include $(PREFIX)/runtime/lib
|
||||
KERNEL_LIB = kernel/libvortex.a
|
||||
RUNTIME_LIB = runtime/stub/libvortex.so
|
||||
|
||||
KERNEL_LIB_DST = $(PREFIX)/kernel/lib
|
||||
RUNTIME_LIB_DST = $(PREFIX)/runtime/lib
|
||||
KERNEL_INC_DST = $(PREFIX)/kernel/include
|
||||
RUNTIME_INC_DST = $(PREFIX)/runtime/include
|
||||
|
||||
KERNEL_HEADERS = $(wildcard $(VORTEX_HOME)/kernel/include/*.h)
|
||||
RUNTIME_HEADERS = $(wildcard $(VORTEX_HOME)/runtime/include/*.h)
|
||||
|
||||
INSTALL_DIRS = $(KERNEL_LIB_DST) $(RUNTIME_LIB_DST) $(KERNEL_INC_DST) $(RUNTIME_INC_DST)
|
||||
|
||||
$(INSTALL_DIRS):
|
||||
mkdir -p $@
|
||||
|
||||
$(KERNEL_INC_DST)/%.h: $(VORTEX_HOME)/kernel/include/%.h | $(KERNEL_INC_DST)
|
||||
cp $< $@
|
||||
|
||||
$(RUNTIME_INC_DST)/%.h: $(VORTEX_HOME)/runtime/include/%.h | $(RUNTIME_INC_DST)
|
||||
cp $< $@
|
||||
|
||||
$(KERNEL_LIB_DST)/libvortex.a: kernel/libvortexrt.a | $(KERNEL_LIB_DST)
|
||||
cp $< $@
|
||||
|
||||
$(RUNTIME_LIB_DST)/libvortex.so: runtime/stub/libvortex.so | $(RUNTIME_LIB_DST)
|
||||
cp $< $@
|
||||
|
||||
install: $(INSTALL_DIRS) \
|
||||
$(KERNEL_HEADERS:$(VORTEX_HOME)/kernel/include/%=$(KERNEL_INC_DST)/%) \
|
||||
$(RUNTIME_HEADERS:$(VORTEX_HOME)/runtime/include/%=$(RUNTIME_INC_DST)/%) \
|
||||
$(KERNEL_LIB_DST)/libvortex.a \
|
||||
$(RUNTIME_LIB_DST)/libvortex.so
|
||||
|
|
|
@ -19,6 +19,8 @@ TOOLDIR ?= @TOOLDIR@
|
|||
|
||||
OSVERSION ?= @OSVERSION@
|
||||
|
||||
PREFIX ?= @PREFIX@
|
||||
|
||||
LLVM_VORTEX ?= $(TOOLDIR)/llvm-vortex
|
||||
|
||||
LIBC_VORTEX ?= $(TOOLDIR)/libc$(XLEN)
|
||||
|
|
15
configure
vendored
15
configure
vendored
|
@ -13,6 +13,9 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Determine the current working directory
|
||||
CURRENT_DIR=$(pwd)
|
||||
|
||||
# Function to detect current OS
|
||||
detect_osversion() {
|
||||
local osversion="unsupported"
|
||||
|
@ -60,7 +63,7 @@ copy_files() {
|
|||
filename_no_ext="${filename%.in}"
|
||||
dest_file="$dest_dir/$filename_no_ext"
|
||||
mkdir -p "$dest_dir"
|
||||
sed "s|@VORTEX_HOME@|$SCRIPT_DIR|g; s|@XLEN@|$XLEN|g; s|@TOOLDIR@|$TOOLDIR|g; s|@OSVERSION@|$OSVERSION|g" "$file" > "$dest_file"
|
||||
sed "s|@VORTEX_HOME@|$SCRIPT_DIR|g; s|@XLEN@|$XLEN|g; s|@TOOLDIR@|$TOOLDIR|g; s|@OSVERSION@|$OSVERSION|g; s|@PREFIX@|$PREFIX|g" "$file" > "$dest_file"
|
||||
# apply permissions to bash scripts
|
||||
read -r firstline < "$dest_file"
|
||||
if [[ "$firstline" =~ ^#!.*bash ]]; then
|
||||
|
@ -110,6 +113,7 @@ copy_files() {
|
|||
default_xlen=32
|
||||
default_tooldir=/opt
|
||||
default_osversion=$(detect_osversion)
|
||||
default_prefix=$CURRENT_DIR
|
||||
|
||||
# load default configuration parameters from existing config.mk
|
||||
if [ -f "config.mk" ]; then
|
||||
|
@ -121,6 +125,7 @@ if [ -f "config.mk" ]; then
|
|||
XLEN\ ?*) default_xlen=${value//\?=/} ;;
|
||||
TOOLDIR\ ?*) default_tooldir=${value//\?=/} ;;
|
||||
OSVERSION\ ?*) default_osversion=${value//\?=/} ;;
|
||||
PREFIX\ ?*) default_prefix=${value//\?=/} ;;
|
||||
esac
|
||||
done < config.mk
|
||||
fi
|
||||
|
@ -129,13 +134,15 @@ fi
|
|||
XLEN=${XLEN:=$default_xlen}
|
||||
TOOLDIR=${TOOLDIR:=$default_tooldir}
|
||||
OSVERSION=${OSVERSION:=$default_osversion}
|
||||
PREFIX=${PREFIX:=$default_prefix}
|
||||
|
||||
# parse command line arguments
|
||||
usage() {
|
||||
echo "Usage: $0 [--xlen=<value>] [--tooldir=<path>] [--osversion=<version>]"
|
||||
echo " --xlen=<value> Set the XLEN value (default: 32)"
|
||||
echo " --tooldir=<path> Set the TOOLDIR path (default: /opt)"
|
||||
echo " --osversion=<version> Set the OS Version (default: $(detect_os))"
|
||||
echo " --osversion=<version> Set the OS Version (default: $(detect_os))"
|
||||
echo " --prefix=<path> Set installation directory"
|
||||
exit 1
|
||||
}
|
||||
while [[ "$#" -gt 0 ]]; do
|
||||
|
@ -143,6 +150,7 @@ while [[ "$#" -gt 0 ]]; do
|
|||
--xlen=*) XLEN="${1#*=}" ;;
|
||||
--tooldir=*) TOOLDIR="${1#*=}" ;;
|
||||
--osversion=*) OSVERSION="${1#*=}" ;;
|
||||
--prefix=*) PREFIX="${1#*=}" ;;
|
||||
-h|--help) usage ;;
|
||||
*) echo "Unknown parameter passed: $1"; usage ;;
|
||||
esac
|
||||
|
@ -161,9 +169,6 @@ SUBDIRS=("." "!ci" "!perf" "hw*" "kernel*" "runtime*" "sim*" "tests*")
|
|||
# Get the directory of the script
|
||||
SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
|
||||
# Determine the current working directory
|
||||
CURRENT_DIR=$(pwd)
|
||||
|
||||
THIRD_PARTY_DIR=$SCRIPT_DIR/third_party
|
||||
|
||||
copy_files "$SCRIPT_DIR" "$CURRENT_DIR"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue