diff options
author | tv <tv@krebsco.de> | 2016-02-19 16:15:14 +0100 |
---|---|---|
committer | tv <tv@krebsco.de> | 2016-02-20 02:02:07 +0100 |
commit | 31afe052ae81d2dc6397db50df9c82c914da16b6 (patch) | |
tree | 712ff61cf6496b13d4b3bb7c37b0c2eeabc7d825 /Makefile | |
parent | f4add8799bc38455e0b1f47bfcce4a08db9e0171 (diff) |
make: allow evaluation of arbitrary expressions
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -46,10 +46,12 @@ evaluate = \ --show-trace \ -I nixos-config=$(nixos-config) \ -I stockholm=$(stockholm) \ - $(1) + -E '{ eval, f }: f eval' \ + --arg eval 'import ./.' \ + --arg f "eval@{ config, ... }: $(1)" execute = \ - result=$$($(call evaluate,-A config.krebs.build.$(1) --json)) && \ + result=$$($(call evaluate,config.krebs.build.$(1))) && \ script=$$(echo "$$result" | jq -r .) && \ echo "$$script" | PS5=% sh @@ -61,8 +63,8 @@ deploy: nixos-rebuild switch --show-trace -I $(target_path) # usage: make LOGNAME=shared system=wolf eval.config.krebs.build.host.name -eval eval.:;@$(call evaluate) -eval.%:;@$(call evaluate,-A $*) +eval eval.:;@$(call evaluate,$${expr-eval}) +eval.%:;@$(call evaluate,$*) # usage: make install system=foo [target_host=bar] install: ssh ?= ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null |