101 lines
3.1 KiB
Bash
Executable File
101 lines
3.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
TMP=${TMP:="./build"}
|
|
|
|
PYTHON=${PYTHON:="python"}
|
|
GLAD=${GLAD:="$PYTHON -m glad --quiet"}
|
|
|
|
_GCC=${_GCC:="gcc"}
|
|
_GPP=${_GPP:="g++"}
|
|
_MINGW_GCC=${_MINGW_GCC:="x86_64-w64-mingw32-gcc"}
|
|
_GCC_FLAGS="-Wall -Wextra -Werror -Wno-unused-parameter"
|
|
|
|
GCC=${GCC:="$_GCC $_GCC_FLAGS"}
|
|
GPP=${GPP:="$_GPP $_GCC_FLAGS"}
|
|
MINGW_GCC=${MINGW_GCC:="$_MINGW_GCC $_GCC_FLAGS"}
|
|
|
|
WINE=${WINE:="wine"}
|
|
|
|
|
|
function start {
|
|
echo "-------> ${1}"
|
|
rm -rf ${TMP}
|
|
}
|
|
|
|
function end {
|
|
echo
|
|
}
|
|
|
|
start "egl_glfw.c"
|
|
${GLAD} --out-path="${TMP}" --api="gles1" c --loader
|
|
${GLAD} --out-path="${TMP}" --api="egl" c --loader
|
|
${GCC} example/c/egl_glfw.c -o ${TMP}/run -Ibuild/include ${TMP}/src/*.c -ldl -lglfw && ${TMP}/run
|
|
end
|
|
|
|
start "egl_x11.c"
|
|
${GLAD} --out-path="${TMP}" --api="gles2" c --loader
|
|
${GLAD} --out-path="${TMP}" --api="egl" c --loader
|
|
${GCC} example/c/egl_x11/egl_x11.c -o ${TMP}/run -Ibuild/include ${TMP}/src/*.c -ldl -lX11 && ${TMP}/run
|
|
end
|
|
|
|
start "gl_glfw.c"
|
|
${GLAD} --out-path="${TMP}" --api="gl:core" c
|
|
${GCC} example/c/gl_glfw.c -o ${TMP}/run -Ibuild/include ${TMP}/src/*.c -ldl -lglfw && ${TMP}/run
|
|
end
|
|
|
|
start "gl_sdl2.c"
|
|
${GLAD} --out-path="${TMP}" --api="gl:core" c
|
|
${GCC} example/c/gl_sdl2.c -o ${TMP}/run -Ibuild/include ${TMP}/src/*.c -ldl `sdl2-config --libs --cflags` && ${TMP}/run
|
|
end
|
|
|
|
start "glut.c"
|
|
${GLAD} --out-path="${TMP}" --api="gl:core" c --loader
|
|
${GCC} example/c/glut.c -o ${TMP}/run -Ibuild/include ${TMP}/src/*.c -ldl -lglut && ${TMP}/run
|
|
end
|
|
|
|
start "glx.c"
|
|
${GLAD} --out-path="${TMP}" --api="gl:core" c --loader
|
|
${GLAD} --out-path="${TMP}" --api="glx" c --loader
|
|
${GCC} example/c/glx.c -o ${TMP}/run -Ibuild/include ${TMP}/src/*.c -ldl -lX11 && ${TMP}/run
|
|
end
|
|
|
|
start "glx_modern.c"
|
|
${GLAD} --out-path="${TMP}" --api="gl:core" c --loader
|
|
${GLAD} --out-path="${TMP}" --api="glx" c --loader
|
|
${GCC} example/c/glx_modern.c -o ${TMP}/run -Ibuild/include ${TMP}/src/*.c -ldl -lX11 && ${TMP}/run
|
|
end
|
|
|
|
start "vulkan_tri_glfw.c"
|
|
${GLAD} --out-path="${TMP}" --api="vulkan" c --loader
|
|
${GCC} example/c/vulkan_tri_glfw/vulkan_tri_glfw.c -o ${TMP}/run -Ibuild/include ${TMP}/src/*.c -ldl -lglfw && ${TMP}/run
|
|
end
|
|
|
|
start "wgl.c"
|
|
${GLAD} --out-path="${TMP}" --api="gl:core" c --loader
|
|
${GLAD} --out-path="${TMP}" --api="wgl" c --loader
|
|
${MINGW_GCC} example/c/wgl.c -o ${TMP}/run -Ibuild/include ${TMP}/src/*.c -lgdi32 -lopengl32 && ${WINE} ${TMP}/run
|
|
end
|
|
|
|
start "hellowindow2.c"
|
|
${GLAD} --out-path="${TMP}" --api="gl:core" c --loader
|
|
${GPP} example/c++/hellowindow2.cpp -o ${TMP}/run -Ibuild/include ${TMP}/src/*.c -ldl -lglfw && ${TMP}/run
|
|
end
|
|
|
|
start "hellowindow2_macro.c"
|
|
${GLAD} --out-path="${TMP}" --api="gl:core" c --loader --header-only
|
|
${GPP} example/c++/hellowindow2_macro.cpp -o ${TMP}/run -Ibuild/include -ldl -lglfw && ${TMP}/run
|
|
end
|
|
|
|
start "hellowindow2_mx.c"
|
|
${GLAD} --out-path="${TMP}" --api="gl:core" c --loader --mx
|
|
${GPP} example/c++/hellowindow2_mx.cpp -o ${TMP}/run -Ibuild/include ${TMP}/src/*.c -ldl -lglfw && ${TMP}/run
|
|
end
|
|
|
|
start "multiwin_mx.c"
|
|
${GLAD} --out-path="${TMP}" --api="gl:core" c --loader --mx
|
|
${GPP} example/c++/multiwin_mx/multiwin_mx.cpp -o ${TMP}/run -Ibuild/include ${TMP}/src/*.c -ldl -lglfw && ${TMP}/run
|
|
end
|
|
|