rules.mk 959 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. .PHONY: format clean all run versionning include
  2. all: $(EXE)
  3. include $(wildcard */rules.mk)
  4. $(OUT)/%.o: %.c | $(BUILT_SRCS)
  5. @echo "CC: $@"
  6. @mkdir -p $(dir $@)
  7. @$(CC) $(CFLAGS) -c $< -o $@
  8. %.o: %.c | $(BUILT_SRCS)
  9. @echo "CC: $@"
  10. @$(CC) $(CFLAGS) -c $< -o $@
  11. $(OUT)/%.o: %.cpp | $(BUILT_SRCS)
  12. @echo "CPP: $@"
  13. @mkdir -p $(dir $@)
  14. @$(CPP) $(CPPFLAGS) -c $< -o $@
  15. %.o: %.cpp | $(BUILT_SRCS)
  16. @echo "CPP: $@"
  17. @$(CPP) $(CPPFLAGS) -c $< -o $@
  18. $(ELF): $(OBJS)
  19. @mkdir -p $(dir $@)
  20. @echo "CCLD: $@"
  21. @+$(CC) $(LDFLAGS) $^ -o $(ELF)
  22. $(EXE): $(ELF)
  23. @mkdir -p $(dir $@)
  24. @echo "ZEHN: $@"
  25. @$(ZEHN) --input $(ELF) --output $(EXE) $(ZEHNFLAGS)
  26. clean:
  27. @echo "RM: $(OUT)"
  28. @rm -rf $(OUT)
  29. format:
  30. @echo "Formatting source using clang-format"
  31. @clang-format -i -style=file $(SRCS_C) $(SRCS_CPP) $(wildcard $(addsuffix /*.h,$(INCLUDE)))
  32. include:
  33. @echo -n $(addprefix -I ,$(INCLUDE))
  34. run: all
  35. @echo "TILP: $(EXE)"
  36. @tilp -ns $(EXE) > /dev/null
  37. .FORCE: