makefile 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #MACROS
  2. CXX_FLAGS := -O3
  3. CXX := g++ -std=c++11
  4. WARNINGS := -Wall
  5. EDITOR := gedit
  6. CURSES := -lncurses
  7. THREADS := -pthread
  8. TINFO := -ltinfo
  9. OPTIONS := $(CURSES) $(THREADS) $(TINFO)
  10. .PHONY: open, opencpp, openhpp, clean, cleanall, remake
  11. #TARGETS
  12. all: invaders bossrush
  13. invaders: game_object.o bullet.o enemy.o player.o functions.o pic.o body.o boss.o wall.o powerup.o rocket.o invaders.o
  14. $(CXX) $(CXX_FLAGS) $^ -o $@ $(OPTIONS)
  15. bossrush: game_object.o bullet.o enemy.o player.o functions.o pic.o body.o boss.o wall.o powerup.o rocket.o bossrush.o
  16. $(CXX) $(CXX_FLAGS) $^ -o $@ $(OPTIONS)
  17. invaders.o: invaders.cpp bullet.hpp enemy.hpp player.hpp rocket.hpp definitions.hpp functions.hpp
  18. $(CXX) $(CXX_FLAGS) -c $<
  19. bossrush.o: bossrush.cpp bullet.hpp enemy.hpp player.hpp rocket.hpp definitions.hpp functions.hpp
  20. $(CXX) $(CXX_FLAGS) -c $<
  21. game_object.o: game_object.cpp game_object.hpp
  22. $(CXX) $(CXX_FLAGS) -c $<
  23. bullet.o: bullet.cpp bullet.hpp game_object.hpp
  24. $(CXX) $(CXX_FLAGS) -c $<
  25. enemy.o: enemy.cpp enemy.hpp game_object.hpp bullet.hpp definitions.hpp
  26. $(CXX) $(CXX_FLAGS) -c $<
  27. player.o: player.cpp player.hpp game_object.hpp bullet.hpp rocket.hpp definitions.hpp
  28. $(CXX) $(CXX_FLAGS) -c $<
  29. functions.o: functions.cpp functions.hpp definitions.hpp powerup.hpp player.hpp bullet.hpp enemy.hpp wall.hpp boss.hpp
  30. $(CXX) $(CXX_FLAGS) -c $<
  31. body.o: body.cpp body.hpp
  32. $(CXX) $(CXX_FLAGS) -c $<
  33. pic.o: pic.cpp body.hpp pic.hpp definitions.hpp
  34. $(CXX) $(CXX_FLAGS) -c $<
  35. boss.o: boss.cpp boss.hpp pic.hpp
  36. $(CXX) $(CXX_FLAGS) -c $<
  37. wall.o: wall.cpp wall.hpp game_object.hpp
  38. $(CXX) $(CXX_FLAGS) -c $<
  39. powerup.o: powerup.cpp powerup.hpp bullet.hpp
  40. $(CXX) $(CXX_FLAGS) -c $<
  41. rocket.o: rocket.cpp rocket.hpp bullet.hpp definitions.hpp
  42. $(CXX) $(CXX_FLAGS) -c $<
  43. #UTILITIES
  44. open:
  45. $(EDITOR) *.cpp *.hpp makefile &
  46. openhpp:
  47. $(EDITOR) *.hpp&
  48. opencpp:
  49. $(EDITOR) *.cpp&
  50. clean:
  51. rm -f *~ *.o
  52. cleanall: clean
  53. rm -f invaders
  54. rm -f bossrush
  55. remake: clean invaders bossrush