3
0

Makefile 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #!/usr/bin/make
  2. include make.env
  3. DIRS=etc bin
  4. INSTALL_DIRS=`find $(DIRS) -type d 2>/dev/null`
  5. INSTALL_FILES=`find $(DIRS) -type f 2>/dev/null`
  6. DOC_FILES=*.md
  7. PKG_DIR=pkg
  8. PKG_NAME=$(NAME)-$(VERSION)
  9. PKG=$(PKG_DIR)/$(PKG_NAME).tar.gz
  10. #SIG=$(PKG_DIR)/$(PKG_NAME).asc
  11. PREFIX?=/usr/local
  12. DOC_DIR=$(PREFIX)/share/doc/$(NAME)
  13. pkg:
  14. @mkdir -p $(PKG_DIR)
  15. $(PKG): pkg
  16. @echo "Create Package $(PKG)"
  17. @tar -zcf $(PKG) $(DIRS) $(DOC_FILES)
  18. build: $(PKG)
  19. #$(SIG): $(PKG)
  20. # gpg --sign --detach-sign --armor $(PKG)
  21. #sign: $(SIG)
  22. clean:
  23. # rm -f $(PKG) $(SIG)
  24. @echo "Remove $(PKG)"
  25. @rm -f $(PKG)
  26. #all: $(PKG) $(SIG)
  27. all: $(PKG)
  28. tag:
  29. @echo "Set Git Tag to v$(VERSION)"
  30. @git tag v$(VERSION)
  31. @git push --tags
  32. #release: $(PKG) $(SIG) tag
  33. release: $(PKG) tag
  34. install:
  35. @echo "Install all files into $(PREFIX)/"
  36. @for dir in $(INSTALL_DIRS); do sudo mkdir -p $(PREFIX)/$$dir; done
  37. @for file in $(INSTALL_FILES); do sudo cp $$file $(PREFIX)/$$file; done
  38. @sudo mkdir -p $(DOC_DIR)-$(VERSION)
  39. @sudo cp -r README.md $(DOC_DIR)-$(VERSION)/
  40. @echo -e "\nCongrats! Now you should be able to run '$(PKG_NAME)' from your PATH\n"
  41. upgrade:
  42. @echo "Upgrade $(NAME) from $(version) to $(VERSION)"
  43. @$(uninstall) version=$(version)
  44. @$(install)
  45. uninstall:
  46. @echo "Uninstall all files from $(NAME)-$(version)"
  47. @for file in $(INSTALL_FILES); do sudo rm -f $(PREFIX)/$$file; done
  48. @sudo rm -r $(DOC_DIR)-$(version)
  49. .PHONY: build clean test tag release install uninstall all