You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
2.2 KiB

6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
  1. PREFIX = /usr
  2. EXEC_PREFIX = $(PREFIX)
  3. BINDIR = $(EXEC_PREFIX)/bin
  4. DATAROOTDIR = $(PREFIX)/share
  5. DATADIR = $(DATAROOTDIR)
  6. MAN5DIR = $(DATADIR)/man/man5
  7. MAN8DIR = $(DATADIR)/man/man8
  8. SYSCONFDIR = /etc
  9. TARGET_DIR = ./target/$(TARGET)/release
  10. MAN_SRC_DIR = ./man/en
  11. MAN_DST_DIR = $(TARGET_DIR)/man
  12. FEATURES = openssl_dyn
  13. all: update acmed tacd
  14. update:
  15. cargo update
  16. acmed: man_dir
  17. if test -n "$(TARGET)"; then \
  18. cargo build --release --manifest-path "acmed/Cargo.toml" --no-default-features --features "$(FEATURES)" --target "$(TARGET)"; \
  19. else \
  20. cargo build --release --manifest-path "acmed/Cargo.toml" --no-default-features --features "$(FEATURES)"; \
  21. fi
  22. strip "$(TARGET_DIR)/acmed"
  23. gzip <"$(MAN_SRC_DIR)/acmed.8" >"$(MAN_DST_DIR)/acmed.8.gz"
  24. gzip <"$(MAN_SRC_DIR)/acmed.toml.5" >"$(MAN_DST_DIR)/acmed.toml.5.gz"
  25. tacd: man_dir
  26. if test -n "$(TARGET)"; then \
  27. cargo build --release --manifest-path "tacd/Cargo.toml" --no-default-features --features "$(FEATURES)" --target "$(TARGET)"; \
  28. else \
  29. cargo build --release --manifest-path "tacd/Cargo.toml" --no-default-features --features "$(FEATURES)"; \
  30. fi
  31. strip "$(TARGET_DIR)/tacd"
  32. gzip <"$(MAN_SRC_DIR)/tacd.8" >"$(MAN_DST_DIR)/tacd.8.gz"
  33. man_dir:
  34. @mkdir -p $(MAN_DST_DIR)
  35. install:
  36. install -d -m 0755 $(DESTDIR)$(BINDIR)
  37. install -d -m 0755 $(DESTDIR)$(MAN8DIR)
  38. if test -f "$(TARGET_DIR)/acmed"; then \
  39. install -d -m 0755 $(DESTDIR)$(MAN5DIR); \
  40. install -d -m 0755 $(DESTDIR)$(SYSCONFDIR)/acmed/certs; \
  41. install -d -m 0700 $(DESTDIR)$(SYSCONFDIR)/acmed/accounts; \
  42. install -m 0755 $(TARGET_DIR)/acmed $(DESTDIR)$(BINDIR)/acmed; \
  43. install -m 0644 $(TARGET_DIR)/man/acmed.8.gz $(DESTDIR)$(MAN8DIR)/acmed.8.gz; \
  44. install -m 0644 $(TARGET_DIR)/man/acmed.toml.5.gz $(DESTDIR)$(MAN5DIR)/acmed.toml.5.gz; \
  45. install -m 0644 acmed/config/acmed.toml $(DESTDIR)$(SYSCONFDIR)/acmed/acmed.toml; \
  46. install -m 0644 acmed/config/default_hooks.toml $(DESTDIR)$(SYSCONFDIR)/acmed/default_hooks.toml; \
  47. fi
  48. if test -f "$(TARGET_DIR)/tacd"; then \
  49. install -m 0755 $(TARGET_DIR)/tacd $(DESTDIR)$(BINDIR)/tacd; \
  50. install -m 0644 $(TARGET_DIR)/man/tacd.8.gz $(DESTDIR)$(MAN8DIR)/tacd.8.gz; \
  51. fi
  52. clean:
  53. cargo clean
  54. .PHONY: all update acmed tacd man_dir install clean