1.9 KiB
FOSS-VG Build System
Yeah, I was annoyed at make. Sorry. -BodgeMaster
Aliases
The shell environment provided in the project's base directory contains
aliases that can be invoked from anywhere.
This is useful if you, for example, cd src/lib
and want to do a quick
rebuild, you can just run build
and it will take care of switching
directories back and forth.
Where necessary, the "aliases" are shell functions instead of literal aliases to accommodate for inline environment variables.
Provided aliases:
setup_project
runsscripts/setup_project.sh
build
runsscripts/build.sh
run_tests
runsscripts/test.sh
(we can't aliastest
because that's an actual POSIX command and it would break a lot of things)clean
runsscripts/clean.sh
clean_dependencies
runsscripts/clean_dependencies.sh
setup_project
Cleans the project and its dependencies first, ensuring the project is in a known state, then downloads and extracts dependencies.
This will probably do more in the future (for example compile dependencies that need to be compiled).
build
Builds the project. This will compile all the things in src/
except for
what is in src/test/
.
Checks for endianness if endianness header is missing. Builds the endianness check if that is missing as well.
Accepted environment variables:
CXX
: override the default compilerCXXFLAGS
: override the default compiler flags, must at least specify the C++ versionSINGLE
: if set toyes
, causes the build script to run in single-threaded mode
test / run_tests
Builds and runs the unit tests.
Accepted environment variables:
CXX
: override the default compilerCXXFLAGS
: override the default compiler flags, must at least specify the C++ version
clean
Removes and re-creates bin/
. Also removes the endianness header and
the endianness check binary.
clean_dependencies
Removes and re-creates dependencies/
.