101 lines
3.2 KiB
Bash
Executable file
101 lines
3.2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
emsdk_env="$HOME/programs/emsdk/emsdk_env.sh"
|
|
modules="RAYLIB_MODULE_AUDIO=FALSE RAYLIB_MODULE_RAYGUI=FALSE RAYLIB_MODULE_MODELS=FALSE"
|
|
linux_library_dest="../../linux"
|
|
windows_library_dest="../../windows"
|
|
darwin_library_dest="../../darwin"
|
|
wasm_library_dest="../../wasm"
|
|
|
|
config_cflags="\
|
|
-DSUPPORT_MODULE_RSHAPES=1 \
|
|
-DSUPPORT_MODULE_RTEXTURES=1 \
|
|
-DSUPPORT_MODULE_RTEXT=1 \
|
|
-DSUPPORT_MODULE_RMODELS=0 \
|
|
-DSUPPORT_MODULE_RAUDIO=0 \
|
|
-DSUPPORT_TRACELOG=0 \
|
|
-DSUPPORT_CAMERA_SYSTEM=0 \
|
|
-DSUPPORT_GESTURES_SYSTEM=0 \
|
|
-DSUPPORT_RPRAND_GENERATOR=0 \
|
|
-DSUPPORT_MOUSE_GESTURES=0 \
|
|
-DSUPPORT_SSH_KEYBOARD_RPI=0 \
|
|
-DSUPPORT_WINMM_HIGHRES_TIMER=0 \
|
|
-DSUPPORT_BUSY_WAIT_LOOP=0 \
|
|
-DSUPPORT_PARTIALBUSY_WAIT_LOOP=0 \
|
|
-DSUPPORT_SCREEN_CAPTURE=0 \
|
|
-DSUPPORT_COMPRESSION_API=0 \
|
|
-DSUPPORT_AUTOMATION_EVENTS=0 \
|
|
-DSUPPORT_CUSTOM_FRAME_CONTROL=0 \
|
|
-DSUPPORT_CLIPBOARD_IMAGE=0 \
|
|
-DRLGL_ENABLE_OPENGL_DEBUG_CONTEXT=0 \
|
|
-DRLGL_SHOW_GL_DETAILS_INFO=0 \
|
|
-DSUPPORT_QUADS_DRAW_MODE=0 \
|
|
-DSUPPORT_FILEFORMAT_PNG=0 \
|
|
-DSUPPORT_FILEFORMAT_BMP=0 \
|
|
-DSUPPORT_FILEFORMAT_TGA=0 \
|
|
-DSUPPORT_FILEFORMAT_JPG=0 \
|
|
-DSUPPORT_FILEFORMAT_GIF=0 \
|
|
-DSUPPORT_FILEFORMAT_QOI=0 \
|
|
-DSUPPORT_FILEFORMAT_PEP=0 \
|
|
-DSUPPORT_FILEFORMAT_PSD=0 \
|
|
-DSUPPORT_FILEFORMAT_DDS=0 \
|
|
-DSUPPORT_FILEFORMAT_HDR=0 \
|
|
-DSUPPORT_FILEFORMAT_PIC=0 \
|
|
-DSUPPORT_FILEFORMAT_PNM=0 \
|
|
-DSUPPORT_FILEFORMAT_KTX=0 \
|
|
-DSUPPORT_FILEFORMAT_ASTC=0 \
|
|
-DSUPPORT_FILEFORMAT_PKM=0 \
|
|
-DSUPPORT_FILEFORMAT_PVR=0 \
|
|
-DSUPPORT_IMAGE_EXPORT=0 \
|
|
-DSUPPORT_IMAGE_GENERATION=0 \
|
|
-DSUPPORT_FILEFORMAT_TTF=0 \
|
|
-DSUPPORT_FILEFORMAT_FNT=0 \
|
|
-DSUPPORT_FILEFORMAT_BDF=0 \
|
|
-DSUPPORT_FILEFORMAT_OBJ=0 \
|
|
-DSUPPORT_FILEFORMAT_MTL=0 \
|
|
-DSUPPORT_FILEFORMAT_IQM=0 \
|
|
-DSUPPORT_FILEFORMAT_GLTF=0 \
|
|
-DSUPPORT_FILEFORMAT_VOX=0 \
|
|
-DSUPPORT_FILEFORMAT_M3D=0 \
|
|
-DSUPPORT_MESH_GENERATION=0 \
|
|
-DSUPPORT_GPU_SKINNING=0 \
|
|
-DSUPPORT_FILEFORMAT_WAV=0 \
|
|
-DSUPPORT_FILEFORMAT_OGG=0 \
|
|
-DSUPPORT_FILEFORMAT_MP3=0 \
|
|
-DSUPPORT_FILEFORMAT_QOA=0 \
|
|
-DSUPPORT_FILEFORMAT_FLAC=0 \
|
|
-DSUPPORT_FILEFORMAT_XM=0 \
|
|
-DSUPPORT_FILEFORMAT_MOD=0"
|
|
|
|
source $emsdk_env
|
|
|
|
pushd raylib/src
|
|
echo "Compiling raylib static library for linux"
|
|
make --silent $modules RAYLIB_CONFIG_FLAGS="$config_cflags" CUSTOM_CFLAGS="-Os -ffunction-sections -fdata-sections" PLATFORM_OS=LINUX
|
|
mv libraylib.a $linux_library_dest
|
|
make --silent clean
|
|
|
|
# echo "Compiling static library for windows"
|
|
# make --silent $modules RAYLIB_CONFIG_FLAGS="$config_cflags" CC=x86_64-w64-mingw32-gcc PLATFORM_OS=WINDOWS
|
|
# mv libraylib.a $windows_library_dest
|
|
# make --silent clean
|
|
|
|
echo "Compiling static library for web"
|
|
make --silent $modules RAYLIB_CONFIG_FLAGS="$config_cflags" PLATFORM=PLATFORM_WEB
|
|
mv libraylib.web.a libraylib.a
|
|
mv libraylib.a $wasm_library_dest
|
|
make --silent clean
|
|
popd
|
|
|
|
pushd raygui
|
|
echo "Compiling raygui static library for linux"
|
|
gcc -c -Os -ffunction-sections -fdata-sections -fPIC -x c -DRAYGUI_IMPLEMENTATION -I../raylib/src raygui.h -o raygui.o
|
|
ar rcs ../linux/libraygui.a raygui.o
|
|
rm raygui.o
|
|
|
|
echo "Compiling raygui static library for web"
|
|
emcc -c -Os -ffunction-sections -fdata-sections -x c -DRAYGUI_IMPLEMENTATION -DPLATFORM_WEB -I../raylib/src raygui.h -o raygui_wasm.o
|
|
emar rcs ../wasm/libraygui.a raygui_wasm.o
|
|
rm raygui_wasm.o
|
|
popd
|