rules.mk 1011 B

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