compile_linux_gcc.sh 779 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. )
  10. # Include directories
  11. inc=(
  12. -I ../ # Gunslinger root
  13. -I ../include/ # Gunslinger includes
  14. -I ../third_party/include # Third Party includes
  15. )
  16. # Source files
  17. src=(
  18. ../source/base/*.c
  19. ../source/platform/*.c
  20. ../source/graphics/*.c
  21. ../source/serialize/*.c
  22. ../source/audio/*.c
  23. # Todo(John): Remove this into a plugin
  24. # ../source/platform/sdl/*.c
  25. ../source/platform/glfw/*.c
  26. # Gfx plugin ( Again, remove from engine build )
  27. ../source/graphics/opengl/*.c
  28. # Audio plugin
  29. ../source/audio/miniaudio/*.c
  30. )
  31. # Build library
  32. gcc -c -O0 ${flags[*]} ${inc[*]} ${src[*]} ${libs[*]}
  33. ar -rcs lib${proj_name}.a *o
  34. ranlib lib${proj_name}.a
  35. rm *.o
  36. cd ..