103 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| #ESCAPE SEQUENCES
 | |
| CLEAR="\033[0m"
 | |
| BOLD="\033[1"
 | |
| FG_BLACK="\033[30"
 | |
| FG_RED="\033[31"
 | |
| FG_GREEN="\033[32"
 | |
| FG_YELLOW="\033[33"
 | |
| FG_BLUE="\033[34"
 | |
| FG_MAGENTA="\033[35"
 | |
| FG_CYAN="\033[36"
 | |
| FG_WHITE="\033[37"
 | |
| FG_BR_BLACK="\033[90"
 | |
| FG_BR_RED="\033[91"
 | |
| FG_BR_GREEN="\033[92"
 | |
| FG_BR_YELLOW="\033[93"
 | |
| FG_BR_BLUE="\033[94"
 | |
| FG_BR_MAGENTA="\033[95"
 | |
| FG_BR_CYAN="\033[96"
 | |
| FG_BR_WHITE="\033[97"
 | |
| 
 | |
| CC=clang
 | |
| CFLAGS="-Wall -Werror -pedantic -Iinclude "
 | |
| 
 | |
| PCKR_SRC="\
 | |
| 	src/path_utils.c \
 | |
| 	src/argparse.c \
 | |
| 	src/io.c \
 | |
| 	src/darr.c \
 | |
| 	src/pak.c \
 | |
| 	src/pckr.c \
 | |
| 	src/main.c"
 | |
| 
 | |
| PCKR_TEST_SRC="\
 | |
| 	src/path_utils.c \
 | |
| 	src/io.c \
 | |
| 	src/pckr_test.c"
 | |
| PCKR_TEST_OUT="pckr_test"
 | |
| 
 | |
| PAKRD_TEST_SRC="\
 | |
| 	src/path_utils.c \
 | |
| 	src/io.c \
 | |
| 	src/darr.c \
 | |
| 	src/pak.c \
 | |
| 	src/pakrd_test.c"
 | |
| PAKRD_TEST_OUT="pakrd_test"
 | |
| 
 | |
| BUILD_TYPE="debug"
 | |
| 
 | |
| 
 | |
| while [[ $# -gt 0 ]]; do
 | |
|   case $1 in
 | |
|     -r|--release)
 | |
|       BUILD_TYPE="release"
 | |
|       shift # past argument
 | |
|       ;;
 | |
|     -*|--*|*)
 | |
|       echo "Usage: build [-r | --release]"
 | |
|       exit 1
 | |
|       ;;
 | |
|   esac
 | |
| done
 | |
| 
 | |
| 
 | |
| if [[ $BUILD_TYPE == "debug" ]]; then
 | |
| 	CFLAGS+="-g "
 | |
| 	PCKR_OUT="pckr"
 | |
| else
 | |
| 	CFLAGS+="-O3 "
 | |
| 	PCKR_OUT="../proj/pckr"
 | |
| fi
 | |
| 
 | |
| 
 | |
| # Build pckr executable
 | |
| (set -x ; $CC $CFLAGS $PCKR_SRC -o $PCKR_OUT)
 | |
| 
 | |
| 
 | |
| # Build pckr_test executable
 | |
| (set -x ; $CC $CFLAGS $PCKR_TEST_SRC -o $PCKR_TEST_OUT)
 | |
| 
 | |
| 
 | |
| # Build pakrd_test executable
 | |
| (set -x ; $CC $CFLAGS $PAKRD_TEST_SRC -o $PAKRD_TEST_OUT)
 | |
| 
 | |
| 
 | |
| # Create test pak
 | |
| ./pckr ./test_assets ./assets
 | |
| 
 | |
| 
 | |
| # Run pckr_test
 | |
| (./$PCKR_TEST_OUT && echo -e "\npckr_test  [${FG_BR_GREEN}m${BOLD}m SUCCESS $CLEAR]") || echo -e "\npckr_test  [${FG_BR_RED}m${BOLD}m FAILURE $CLEAR]"
 | |
| 
 | |
| 
 | |
| # Run pakrd_test
 | |
| (./$PAKRD_TEST_OUT && echo -e "\npakrd_test [${FG_BR_GREEN}m${BOLD}m SUCCESS $CLEAR]") || echo -e "\npakrd_test [${FG_BR_RED}m${BOLD}m FAILURE $CLEAR]"
 | |
| 
 | |
| 
 | |
| # Clean test assets
 | |
| # rm ./assets.pak
 | |
| # rm pckr_test
 | |
| # rm pakrd_test
 |