meta/Tuprules.tup

32 lines
1.5 KiB
Plaintext

export NIX_PATH
export XDG_CACHE_HOME
DIRENV = direnv exec .
BIN_DIR = $(TUP_CWD)/bin
SYNDICATE_PROTOCOL = $(TUP_CWD)/syndicate-nim/<protocol>
NIM = $(TUP_CWD)/nim/bin/nim
NIM_GROUPS = $(TUP_CWD)/<nim>
NIM_FLAGS = --noNimblePath
!nim = | $(NIM_GROUPS) |> ^o nim compile %f^ $(DIRENV) $(NIM) compile $(NIM_FLAGS) $(NIM_FLAGS_%B) -o:%o %f |> %B
!nim_run = | $(NIM_GROUPS) |> ^o nim run %f^ $(DIRENV) $(NIM) compile $(NIM_FLAGS) $(NIM_FLAGS_%B) -o:%o -r %f |> %B.run
!nim_bin = | $(NIM_GROUPS) |> ^o nim bin %f^ $(DIRENV) $(NIM) compile $(NIM_FLAGS) $(NIM_FLAGS_%B) -o:%o %f |> $(BIN_DIR)/%B
!nim_check = | $(NIM_GROUPS) |> ^ nim doc %f^ $(DIRENV) $(NIM) doc $(NIM_FLAGS) $(NIM_FLAGS_%B) -o:%o %f |> %B.html
!symlink = |> ln -s %f %o |>
!preserves_schema_nim = | $(BIN_DIR)/<preserves_schema_nim> |> ^o generate nim module %B^ $(BIN_DIR)/preserves_schema_nim %f |> %B.nim
!preserves_schemac = | $(BIN_DIR)/<schemac> |> ^o^ $(BIN_DIR)/schemac |>
SYNDICATE_CONFIG_DIR = $(TUP_CWD)/config
!assert_built = |> ^ <built %b …>^ echo "<built %b \"`realpath %f`\" \"`b2sum -l 32 %f | { read sum rest ; echo $sum; }`\">" > %o |> $(SYNDICATE_CONFIG_DIR)/built/%b.pr
!nim_check = | $(NIM_GROUPS) |> ^ nim doc %f^ $(DIRENV) $(NIM) doc $(NIM_FLAGS) $(NIM_FLAGS_%B) -o:%o %f |> %B.html
!nim_lk = | $(BIN_DIR)/<nim_lk> |> ^o nim_lk^ $(BIN_DIR)/nim_lk > %o |> lock.json
NIXEXPRS_DIR = $(TUP_CWD)/nixexprs
!nim_cfg = |> ^o nix build nim.cfg^ nix build --file $(NIXEXPRS_DIR)/configure.nix --argstr lockPath `pwd`/%f --out-link %o |> nim.cfg