Support linux build

This commit is contained in:
Jaby 2023-10-09 22:34:42 +02:00
parent a16d0c10dc
commit d230d1579a
8 changed files with 160 additions and 201 deletions

View File

@ -1,19 +0,0 @@
@echo off
rem build_all [clean]
set build_type=build
IF NOT "%~1" == "" (
set build_type=%~1
)
mkdir bin\
cd src\Tools\
call build_all.bat update
call build_all.bat %build_type%
cd ..\Library\
call run_make.bat %build_type% release
cd ..\..\
PAUSE

View File

@ -1,82 +1,87 @@
{
"folders": [
{
"path": ".",
"name": "PoolBox"
}
],
"tasks": {
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "wsl make ${input:project}_${input:target} BUILD_PROFILE=${input:build profile} PSX_LICENSE_PATH=$(wslpath ${env:PSX_LICENSE_PATH}) JABY_ENGINE_DIR=$(wslpath ${env:JABY_ENGINE_PATH})",
"group": {
"kind": "build",
"isDefault": true
},
"options": {
"env": {
"PATH": "${env:JABY_ENGINE_PATH}/bin;${env:PATH}"
}
}
},
{
"label": "read memory map",
"type": "shell",
"command": "psxreadmap.exe ${input:output memory map} application/bin/PSX-${input:build profile}/PoolBox.elf",
"problemMatcher": [],
"options": {
"env": {
"PATH": "${env:JABY_ENGINE_PATH}/bin;${env:PATH}"
}
}
}
],
"inputs": [
{
"id": "build profile",
"type": "pickString",
"options": ["debug", "release"],
"default": "release",
"description": "The build profile for PoolBox"
},
{
"id": "project",
"type": "pickString",
"options": ["all", "assets", "application", "cd"],
"default": "all",
"description": "Project to build"
},
{
"id": "target",
"type": "pickString",
"options": ["all", "clean", "rebuild"],
"default": "all",
"description": "the build target"
},
{
"id": "output memory map",
"type": "pickString",
"options": ["", "-o application/bin/PoolBox.map"],
"default": "",
"description": "Output a memory map"
}
]
},
"settings": {
"C_Cpp.default.includePath": [
"${env:JABY_ENGINE_PATH}/include"
],
"C_Cpp.default.compilerPath": "",
"C_Cpp.default.cStandard": "c17",
"C_Cpp.default.cppStandard": "c++20",
"C_Cpp.default.intelliSenseMode": "linux-gcc-x86",
"C_Cpp.default.compilerArgs": [
],
"C_Cpp.default.defines": [
"JABYENGINE_PAL"
],
}
{
"folders": [
{
"path": ".",
"name": "PoolBox"
}
],
"tasks": {
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"windows": { // v re-export for WSL v re-export for WSL
"command": "wsl make ${input:project}_${input:target} BUILD_PROFILE=${input:build profile} PSX_LICENSE_PATH=$(wslpath ${env:PSX_LICENSE_PATH}) JABY_ENGINE_DIR=$(wslpath ${env:JABY_ENGINE_PATH})",
},
"linux": {
"command": "make ${input:project}_${input:target} BUILD_PROFILE=${input:build profile}",
},
"group": {
"kind": "build",
"isDefault": true
},
"options": {
"env": {
"PATH": "${env:JABY_ENGINE_PATH}/bin;${env:PATH}"
}
}
},
{
"label": "read memory map",
"type": "shell",
"command": "psxreadmap.exe ${input:output memory map} application/bin/PSX-${input:build profile}/PoolBox.elf",
"problemMatcher": [],
"options": {
"env": {
"PATH": "${env:JABY_ENGINE_PATH}/bin;${env:PATH}"
}
}
}
],
"inputs": [
{
"id": "build profile",
"type": "pickString",
"options": ["debug", "release"],
"default": "release",
"description": "The build profile for PoolBox"
},
{
"id": "project",
"type": "pickString",
"options": ["all", "assets", "application", "cd"],
"default": "all",
"description": "Project to build"
},
{
"id": "target",
"type": "pickString",
"options": ["all", "clean", "rebuild"],
"default": "all",
"description": "the build target"
},
{
"id": "output memory map",
"type": "pickString",
"options": ["", "-o application/bin/PoolBox.map"],
"default": "",
"description": "Output a memory map"
}
]
},
"settings": {
"C_Cpp.default.includePath": [
"${env:JABY_ENGINE_PATH}/include"
],
"C_Cpp.default.compilerPath": "",
"C_Cpp.default.cStandard": "c17",
"C_Cpp.default.cppStandard": "c++20",
"C_Cpp.default.intelliSenseMode": "linux-gcc-x86",
"C_Cpp.default.compilerArgs": [
],
"C_Cpp.default.defines": [
"JABYENGINE_PAL"
],
}
}

View File

@ -1,75 +1,71 @@
{
"folders": [
{
"name": "JabyEngine",
"path": ".",
},
{
"name": "Include",
"path": "..\\..\\include"
},
{
"name": "Root",
"path": "..\\.."
}
],
"tasks": {
"version": "2.0.0",
"tasks": [
{
"label": "make",
"type": "shell",
"command": "./run_make.bat ${input:target} ${input:build cfg}",
"group": "build"
},
{
"label": "Build Libary and Tools",
"type": "shell",
"command": "./build_all.bat ${input:target}",
"group": "build",
"options": {
"cwd": "../.."
}
},
],
"inputs": [
{
"id": "build cfg",
"type": "pickString",
"options": ["debug", "release"],
"default": "release",
"description": "build configuration"
},
{
"id": "target",
"type": "pickString",
"options": ["build", "clean", "rebuild"],
"default": "build",
"description": "build target",
}
]
},
"settings": {
"cmake.configureOnOpen": false,
"C_Cpp.default.includePath": [
"include",
"../../include"
],
"C_Cpp.default.compilerPath": "",
"C_Cpp.default.cStandard": "c17",
"C_Cpp.default.cppStandard": "c++20",
"C_Cpp.default.intelliSenseMode": "linux-gcc-x86",
"C_Cpp.default.compilerArgs": [
],
"C_Cpp.default.defines": [
"JABYENGINE_PAL"
],
"files.exclude": {
"**/*.o": true,
"**/*.dep": true
},
"files.associations": {
"stdio.h": "c"
}
}
{
"folders": [
{
"name": "JabyEngine",
"path": ".",
},
{
"name": "Include",
"path": "..\\..\\include"
},
{
"name": "Root",
"path": "..\\.."
}
],
"tasks": {
"version": "2.0.0",
"tasks": [
{
"label": "make",
"type": "shell",
"windows": {
"command": "wsl make ${input:target} BUILD_PROFILE=${input:build cfg}",
},
"linux": {
"command": "make ${input:target} BUILD_PROFILE=${input:build cfg}",
},
"group": "build"
}
],
"inputs": [
{
"id": "build cfg",
"type": "pickString",
"options": ["debug", "release"],
"default": "release",
"description": "build configuration"
},
{
"id": "target",
"type": "pickString",
"options": ["all", "clean", "rebuild"],
"default": "all",
"description": "build target",
}
]
},
"settings": {
"cmake.configureOnOpen": false,
"C_Cpp.default.includePath": [
"include",
"../../include"
],
"C_Cpp.default.compilerPath": "",
"C_Cpp.default.cStandard": "c17",
"C_Cpp.default.cppStandard": "c++20",
"C_Cpp.default.intelliSenseMode": "linux-gcc-x86",
"C_Cpp.default.compilerArgs": [
],
"C_Cpp.default.defines": [
"JABYENGINE_PAL"
],
"files.exclude": {
"**/*.o": true,
"**/*.dep": true
},
"files.associations": {
"stdio.h": "c"
}
}
}

View File

@ -1,11 +0,0 @@
@echo off
rem run_make.bat build|clean|rebuild debug|release
IF %1 == build (
set make_target=all
) else (
set make_target=%1
)
@echo make %make_target% BUILD_PROFILE=%2
wsl make %make_target% BUILD_PROFILE=%2

View File

@ -1,4 +0,0 @@
set bin_linux_projects=%bin_projects% %bin_linux_projects%
set clean_projects_linux=%clean_projects% %clean_projects_linux%
set bin_projects=
set clean_projects=

View File

@ -1,4 +0,0 @@
set bin_projects=psxcdgen psxcdgen_ex psxcdread psxreadmap wslpath
set bin_linux_projects=cpp_out psxcdgen_ex jaby_engine_fconv mkoverlay wslpath
set clean_projects=cdtypes
set clean_projects_linux=tool_helper

View File

@ -1,4 +0,0 @@
set bin_projects=%bin_projects% %bin_linux_projects%
set clean_projects=%clean_projects% %clean_projects_linux%
set bin_linux_projects=
set clean_projects_linux=

View File

@ -10,7 +10,7 @@ fi
cd $1
if [ $2 = build ]; then
echo "cargo build $1 --$3"
cargo build --$3 --target=$target
$HOME/.cargo/bin/cargo build --$3 --target=$target
if [ $? = 0 ]; then
cp target/$target/$3/$1 ../../../bin
@ -20,17 +20,17 @@ if [ $2 = build ]; then
exit $?
elif [ $2 = run ]; then
echo "cargo run $1 --$3"
cargo run --$3 --target=$target
$HOME/.cargo/bin/cargo run --$3 --target=$target
exit $?
elif [ $2 = check ]; then
echo "cargo check $1 --$3"
cargo check --$3 --target=$target $run_args
$HOME/.cargo/bin/cargo check --$3 --target=$target $run_args
exit $?
elif [ $2 = clean ]; then
echo "cargo clean $1"
cargo clean
$HOME/.cargo/bin/cargo clean
exit $?
else