compile_linux_gcc.sh 781 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/bin/sh
  2. rm -rf bin
  3. mkdir bin
  4. cd bin
  5. proj_name=Gunslinger
  6. proj_root_dir=$(pwd)/../
  7. flags=(
  8. -std=gnu99
  9. -w
  10. )
  11. # Include directories
  12. inc=(
  13. -I ../ # Gunslinger root
  14. -I ../include/ # Gunslinger includes
  15. -I ../third_party/include # Third Party includes
  16. )
  17. # Source files
  18. src=(
  19. ../source/base/*.c
  20. ../source/platform/*.c
  21. ../source/graphics/*.c
  22. ../source/serialize/*.c
  23. ../source/audio/*.c
  24. # Todo(John): Remove this into a plugin
  25. # ../source/platform/sdl/*.c
  26. ../source/platform/glfw/*.c
  27. # Gfx plugin (Again, remove from engine build)
  28. ../source/graphics/opengl/*.c
  29. # Audio plugin
  30. ../source/audio/miniaudio/*.c
  31. )
  32. # Build library
  33. gcc -c -O3 ${flags[*]} ${inc[*]} ${src[*]} ${libs[*]}
  34. ar -rcs lib${proj_name}.a *o
  35. ranlib lib${proj_name}.a
  36. rm *.o
  37. cd ..