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.

64 lines
2.6 KiB

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. VARLIBDIR = /var/lib
  10. RUNSTATEDIR = /run
  11. TARGET_DIR = ./target/$(TARGET)/release
  12. MAN_SRC_DIR = ./man/en
  13. MAN_DST_DIR = $(TARGET_DIR)/man
  14. FEATURES = openssl_dyn
  15. all: acmed tacd
  16. acmed: man_dir
  17. if test -n "$(TARGET)"; then \
  18. VARLIBDIR="$(VARLIBDIR)" SYSCONFDIR="$(SYSCONFDIR)" RUNSTATEDIR="$(RUNSTATEDIR)" cargo build --bin acmed --release --no-default-features --features "$(FEATURES)" --target "$(TARGET)"; \
  19. else \
  20. VARLIBDIR="$(VARLIBDIR)" SYSCONFDIR="$(SYSCONFDIR)" RUNSTATEDIR="$(RUNSTATEDIR)" cargo build --bin acmed --release --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. VARLIBDIR="$(VARLIBDIR)" SYSCONFDIR="$(SYSCONFDIR)" RUNSTATEDIR="$(RUNSTATEDIR)" cargo build --bin tacd --release --no-default-features --features "$(FEATURES)" --target "$(TARGET)"; \
  28. else \
  29. VARLIBDIR="$(VARLIBDIR)" SYSCONFDIR="$(SYSCONFDIR)" RUNSTATEDIR="$(RUNSTATEDIR)" cargo build --bin tacd --release --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; \
  41. install -d -m 0755 $(DESTDIR)$(VARLIBDIR)/acmed/certs; \
  42. install -d -m 0700 $(DESTDIR)$(VARLIBDIR)/acmed/accounts; \
  43. install -m 0755 $(TARGET_DIR)/acmed $(DESTDIR)$(BINDIR)/acmed; \
  44. install -m 0644 $(TARGET_DIR)/man/acmed.8.gz $(DESTDIR)$(MAN8DIR)/acmed.8.gz; \
  45. install -m 0644 $(TARGET_DIR)/man/acmed.toml.5.gz $(DESTDIR)$(MAN5DIR)/acmed.toml.5.gz; \
  46. install -m 0644 acmed/config/acmed.toml $(DESTDIR)$(SYSCONFDIR)/acmed/acmed.toml; \
  47. install -m 0644 acmed/config/default_hooks.toml $(DESTDIR)$(SYSCONFDIR)/acmed/default_hooks.toml; \
  48. install -m 0644 acmed/config/letsencrypt.toml $(DESTDIR)$(SYSCONFDIR)/acmed/letsencrypt.toml; \
  49. fi
  50. if test -f "$(TARGET_DIR)/tacd"; then \
  51. install -m 0755 $(TARGET_DIR)/tacd $(DESTDIR)$(BINDIR)/tacd; \
  52. install -m 0644 $(TARGET_DIR)/man/tacd.8.gz $(DESTDIR)$(MAN8DIR)/tacd.8.gz; \
  53. fi
  54. clean:
  55. cargo clean
  56. .PHONY: all acmed tacd man_dir install clean