# Auto Generated by: # "pl_build.py" version: 0.8.1 ################################################################################ # Development Setup # ################################################################################ # colors BOLD=$'\e[0;1m' RED=$'\e[0;31m' RED_BG=$'\e[0;41m' GREEN=$'\e[0;32m' GREEN_BG=$'\e[0;42m' CYAN=$'\e[0;36m' MAGENTA=$'\e[0;35m' YELLOW=$'\e[0;33m' WHITE=$'\e[0;97m' NC=$'\e[0m' # find directory of this script SOURCE=${BASH_SOURCE[0]} while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink DIR=$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd ) SOURCE=$(readlink "$SOURCE") [[ $SOURCE != /* ]] && SOURCE=$DIR/$SOURCE # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located done DIR=$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd ) # get architecture (intel or apple silicon) ARCH="$(uname -m)" # make script directory CWD pushd $DIR >/dev/null rm -f ./../out/pilot_light_test ################################################################################ # debug | pilot_light_test # ################################################################################ # create output directory if ! [[ -d "../out" ]]; then mkdir "../out" fi # preprocessor defines PL_DEFINES="-D_USE_MATH_DEFINES " # includes directories PL_INCLUDE_DIRECTORIES="-I.. " # link directories PL_LINK_DIRECTORIES="-L../out " # compiler flags PL_COMPILER_FLAGS="-std=c99 --debug -g -fmodules -ObjC " # add flags for specific hardware if [[ "$ARCH" == "arm64" ]]; then PL_COMPILER_FLAGS+="-arch arm64 " else PL_COMPILER_FLAGS+="-arch x86_64 " fi # linker flags PL_LINKER_FLAGS="" # libraries PL_LINK_LIBRARIES="" # frameworks PL_LINK_FRAMEWORKS="-framework Metal -framework MetalKit -framework Cocoa -framework IOKit -framework CoreVideo -framework QuartzCore " # default compilation result PL_RESULT=${BOLD}${GREEN}Successful.${NC} # source files PL_SOURCES="main_tests.c " # run compiler (and linker) echo echo ${YELLOW}Step: pilot_light_test${NC} echo ${YELLOW}~~~~~~~~~~~~~~~~~~~${NC} echo ${CYAN}Compiling and Linking...${NC} clang -fPIC $PL_SOURCES $PL_INCLUDE_DIRECTORIES $PL_DEFINES $PL_COMPILER_FLAGS $PL_INCLUDE_DIRECTORIES $PL_LINK_DIRECTORIES $PL_LINKER_FLAGS $PL_LINK_LIBRARIES -o "./../out/pilot_light_test" # check build status if [ $? -ne 0 ] then PL_RESULT=${BOLD}${RED}Failed.${NC} fi # print results echo ${CYAN}Results: ${NC} ${PL_RESULT} echo ${CYAN}~~~~~~~~~~~~~~~~~~~~~~${NC} # return CWD to previous CWD popd >/dev/null