diff --git a/project.zsh b/project.zsh new file mode 100644 index 0000000..0c86a79 --- /dev/null +++ b/project.zsh @@ -0,0 +1,30 @@ + +package=service +version=0.1.0 + +variables+=( + LIBEXECDIR '$(PREFIX)/libexec' + SYSCONFDIR '/etc' + VARSTATEDIR '/var' +) + +targets=(service status) + +for target in service status; do + type[$target]=crystal + sources[$target]=src/${target}.cr + depends[$target]=src/config.cr +done + +targets+=(src/config.cr) +type[src/config.cr]=script +sources[src/config.cr]=src/config.cr.in +auto[src/config.cr]=true # Don’t display it in `make help`. + +# FIXME: Redefining the backend so that script is not installed is a bit much. +function script.install { + ofile.install "$@" +} + +install[status]='$(LIBEXECDIR)/service' + diff --git a/src/config.cr b/src/config.cr deleted file mode 100644 index ddd014a..0000000 --- a/src/config.cr +++ /dev/null @@ -1,8 +0,0 @@ - -# Those are set to local to make testing easier. Will change at some point. -PID_DIRECTORY = "./pid" -RC_DIRECTORY = "./rc" -LOG_DIRECTORY = "./log" -SERVICES_DIRECTORY = "./services" -ENVIRONMENTS_DIRECTORY = "./environments" - diff --git a/src/config.cr.in b/src/config.cr.in new file mode 100644 index 0000000..c815224 --- /dev/null +++ b/src/config.cr.in @@ -0,0 +1,8 @@ + +# These values are changed by `make` at build-time. +PID_DIRECTORY = "@VARSTATEDIR@/pid" +RC_DIRECTORY = "@SYSCONFDIR@/rc/services" +LOG_DIRECTORY = "@VARSTATEDIR@/log" +SERVICES_DIRECTORY = "@SHAREDIR@/services" +ENVIRONMENTS_DIRECTORY = "@SYSCONFDIR@/rc/environments" +