starfield

starfield.git
git clone git://git.lenczewski.org/starfield.git
Log | Files | Refs | Submodules | README | LICENSE

build_linux.sh (914B)


      1 #!/bin/sh
      2 
      3 PROTOCOLS="/usr/share/wayland-protocols"
      4 
      5 WARNINGS="-Wall -Wextra -Wpedantic -Werror"
      6 
      7 CFLAGS="-std=c11 -O0 -g"
      8 CPPFLAGS="-DSTARFIELD_DEBUG -Iapi"
      9 LDFLAGS="-fuse-ld=lld -Wl,--as-needed"
     10 
     11 LINUX_LIBS="$(pkg-config --cflags --libs alsa wayland-client vulkan)"
     12 
     13 set -ex
     14 
     15 mkdir -p bin dep
     16 
     17 clang -shared -o bin/starfield.so starfield/starfield.c \
     18 	$WARNINGS $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib
     19 
     20 glslc -mfmt=c shaders/shader.vert -o dep/shader.vert.spv.inc
     21 glslc -mfmt=c shaders/shader.frag -o dep/shader.frag.spv.inc
     22 
     23 wayland-scanner client-header $PROTOCOLS/stable/xdg-shell/xdg-shell.xml dep/xdg-shell.h
     24 wayland-scanner private-code $PROTOCOLS/stable/xdg-shell/xdg-shell.xml dep/xdg-shell.c
     25 
     26 # TODO: can we build a static binary that supports loading starfield.so?
     27 clang -o bin/linux_starfield platform/linux_starfield.c dep/xdg-shell.c -Idep \
     28 	$WARNINGS $CFLAGS $CPPFLAGS $LDFLAGS -lc -ldl $LINUX_LIBS