rules.mk 831 B

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