From c7f5780d3b67da9c57d658994bcff298e6a1cac9 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 29 Mar 2026 09:15:37 +0300 Subject: chore: Rework file layout and add make script --- make.sh | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 make.sh (limited to 'make.sh') diff --git a/make.sh b/make.sh new file mode 100755 index 0000000..b499eef --- /dev/null +++ b/make.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +: ${CC:=gcc} +: ${CARGS:=-std=c99 -lm -O3} +: ${FPS:=30} +: ${PLAYER:=mpv} +: ${PLAYERARGS:=--no-correct-pts --container-fps-override=\$FPS -} +: ${RENDER:=ffmpeg} +: ${RENDERARGS:=-r \$FPS -i - \$bin.mp4} + +binname() { + name="${1%%.c}" + echo "${name##*/}" +} + +make_compile() { + bin="$(binname "$1")" + $(eval "echo \"$CC\"") $(eval "echo \"$CARGS\"") AnimationRender/*.c FrameRender/*.c RGBImage/*.c "$1" -o "$bin" +} + +make_run() { + bin="$(binname "$1")" + "./$bin" | $(eval "echo \"$PLAYER\"") $(eval "echo \"$PLAYERARGS\"") +} + +make_render() { + bin="$(binname "$1")" + "./$bin" | $(eval "echo \"$RENDER\"") $(eval "echo \"$RENDERARGS\"") +} + +if [ ! -f "$2" ] +then + echo "'$2' is not valid! Must be the path to a C file which contains main function." + exit 2 +fi + +case "$1" in + (compile) + make_compile "$2" + ;; + (run) + make_compile "$2" + make_run "$2" + ;; + (render) + make_compile "$2" + make_render "$2" + ;; + (*) + echo "Unrecognised action '$1'!" + exit 1 +esac -- cgit v1.2.3