evoldoers / biomake

GNU-Make-like utility for managing builds and complex workflows
BSD 3-Clause "New" or "Revised" License
102 stars 9 forks source link

Implement static pattern rules #55

Open sjackman opened 6 years ago

sjackman commented 6 years ago

See https://www.gnu.org/software/make/manual/html_node/Static-Usage.html and https://www.gnu.org/software/make/manual/html_node/Static-versus-Implicit.html

all: foo.gz bar.gz

foo bar: %:
    date >$@

foo.gz bar.gz: %.gz: %
    gzip -k $<
❯❯❯ make -n
date >foo
gzip -k foo
date >bar
gzip -k bar
❯❯❯ biomake -n 2>&1 | head -n1
Exception: error(syntax_error(GNU makefile parse error at line 3 of file Makefile: foo bar: %:),_2270)