rules.mk 870 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. .PHONY: format clean all run versionning
  2. all: $(EXE)
  3. include $(wildcard */rules.mk)
  4. versionning:
  5. @bash versionning.bash
  6. %.o: %.c | versionning
  7. @echo "CC: $@"
  8. @$(CC) $(CFLAGS) -c $< -o $@
  9. %.o: %.cpp | art/sprites.h versionning
  10. @echo "CPP: $@"
  11. @$(CPP) $(CPPFLAGS) -c $< -o $@
  12. $(ELF): $(OBJS)
  13. @mkdir -p $(DISTDIR)
  14. @echo "CCLD: $@"
  15. @+$(CC) $(LDFLAGS) $^ -o $(ELF)
  16. $(EXE): $(ELF)
  17. @mkdir -p $(DISTDIR)
  18. @echo "ZEHN: $@"
  19. @$(ZEHN) --input $(ELF) --output $(EXE) $(ZEHNFLAGS)
  20. clean:
  21. @echo "Removing dist"
  22. @rm -rf $(DISTDIR)
  23. @echo "Removing object files"
  24. @rm -f $(OBJS)
  25. @echo "Removing other build artifacts"
  26. @rm -f $(CLEAN_SPEC)
  27. format:
  28. @echo "Formatting source using clang-format"
  29. @clang-format -i -style=file $(SRCS_C) $(SRCS_CPP) $(wildcard $(addsuffix /*.h,$(INCLUDE)))
  30. run: all
  31. @echo "Sending $(EXE) to calculator"
  32. @tilp -ns $(EXE) > /dev/null