#!/usr/bin/bash mkdir build cd build if [ "$1" = "release" ]; then profile_flags="-DDEBUG_BUILD=0 -O2" else profile_flags="-DDEBUG_BUILD=1" fi if [ ! -f "lbaselib.o" ]; then clang -g -I../src/external/lua/src -I../src/external/glad \ ../src/external/lua/src/lbaselib.c \ ../src/external/lua/src/lctype.c \ ../src/external/lua/src/ldo.c \ ../src/external/lua/src/lgc.c \ ../src/external/lua/src/liolib.c \ ../src/external/lua/src/lmem.c \ ../src/external/lua/src/lopcodes.c \ ../src/external/lua/src/lstate.c \ ../src/external/lua/src/ltable.c \ ../src/external/lua/src/lundump.c \ ../src/external/lua/src/lzio.c \ ../src/external/lua/src/lapi.c \ ../src/external/lua/src/lcode.c \ ../src/external/lua/src/ldblib.c \ ../src/external/lua/src/ldump.c \ ../src/external/lua/src/llex.c \ ../src/external/lua/src/loadlib.c \ ../src/external/lua/src/loslib.c \ ../src/external/lua/src/lstring.c \ ../src/external/lua/src/ltablib.c \ ../src/external/lua/src/lutf8lib.c \ ../src/external/lua/src/lauxlib.c \ ../src/external/lua/src/lcorolib.c \ ../src/external/lua/src/ldebug.c \ ../src/external/lua/src/lfunc.c \ ../src/external/lua/src/linit.c \ ../src/external/lua/src/lmathlib.c \ ../src/external/lua/src/lobject.c \ ../src/external/lua/src/lparser.c \ ../src/external/lua/src/lstrlib.c \ ../src/external/lua/src/ltm.c \ ../src/external/lua/src/lvm.c \ ../src/external/glad/glad.c \ -c fi if [ ! -f "metaprogram.exe" ]; then clang ../src/metaprogram/metaprogram.cpp -o metaprogram.exe \ -nostdlib++ -fno-exceptions -fdiagnostics-absolute-paths -g \ -Wno-writable-strings \ -I../src fi ./metaprogram.exe clang ../src/text_editor/text_editor.cpp ../src/basic/unix.cpp -o te_linux.exe \ -nostdlib++ -fno-exceptions -fdiagnostics-absolute-paths -g \ $profile_flags \ -Wno-writable-strings \ -I../src/external/SDL/include \ -I../src/external/lua/src \ -I../src/external/glad \ -I../src/ \ -lm \ ../src/external/SDL/build/libSDL3.a \ lbaselib.o lctype.o ldo.o lgc.o liolib.o lmem.o \ lopcodes.o lstate.o ltable.o lundump.o lzio.o lapi.o lcode.o ldblib.o ldump.o \ llex.o loadlib.o loslib.o lstring.o ltablib.o lutf8lib.o lauxlib.o lcorolib.o ldebug.o \ lfunc.o linit.o lmathlib.o lobject.o lparser.o lstrlib.o ltm.o lvm.o \ glad.o \ if [ "$1" = "release" ]; then cp te_linux.exe ../data/te echo written ../data/te else cp te_linux.exe ../data/te_debug echo written ../data/te_debug fi