Makefile 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. include config.mak
  2. VERSION_FILE = ChangeLog
  3. DIRS = src data filter icons man menu scripts
  4. ifeq ($(ECHO),)
  5. ECHO := $(shell whereis -b echo | awk '{print $$2}')
  6. ifeq ($(ECHO),)
  7. ECHO = echo
  8. endif
  9. endif
  10. ifeq ($(USE_I18N),Y)
  11. DIRS += po
  12. endif
  13. .PHONY: all
  14. all:
  15. @for d in $(DIRS); do $(ECHO) -e "\x1b[1;33m** processing $$d\x1b[0m"; \
  16. $(MAKE) -C $$d || exit 1; \
  17. done
  18. .PHONY: install
  19. install:
  20. @for d in $(DIRS); do $(ECHO) -e "\x1b[1;32m** installing $$d\x1b[0m"; \
  21. $(MAKE) -C $$d install || exit 1; \
  22. done
  23. install -d "$(DOC_DIR)"; \
  24. install -m 644 $(VERSION_FILE) "$(DOC_DIR)"
  25. .PHONY: uninstall
  26. uninstall:
  27. @for d in $(DIRS); do $(ECHO) -e "\x1b[1;32m** uninstalling $$d\x1b[0m"; \
  28. $(MAKE) -C $$d uninstall || exit 1; \
  29. done
  30. .PHONY: clean
  31. clean:
  32. @touch src/.depend
  33. @for d in $(DIRS); do $(ECHO) -e "\x1b[1;31m** cleanup $$d\x1b[0m"; \
  34. $(MAKE) -C $$d clean; \
  35. done
  36. .PHONY: distclean
  37. distclean:
  38. @$(MAKE) clean
  39. @rm -f config.mak
  40. config.mak: $(VERSION_FILE) configure
  41. @$(ECHO) "regenerate $@ ..."
  42. ./configure
  43. .PHONY: clang-format
  44. clang-format:
  45. clang-format --version
  46. clang-format -i {src,data}/*.[ch] \
  47. src/{gtk-im,im-client,modules}/*.[ch] \
  48. src/qt5-im/*.h \
  49. src/qt5-im/*.cpp \
  50. --verbose