4 ms·
That's too bad for you http://plan9.bell-labs.com/sys/doc/mk.html http://plan9.bell-labs.com/sys/doc/mk.html
by SixSigma 12y ago
That's too bad for you
http://plan9.bell-labs.com/sys/doc/mk.html http://plan9.bell-labs.com/sys/doc/mk.html
- jjoonathan 12y agoWhat's the killer feature for your workflow? I don't see anything that gets me particularly excited in their "Differences between make and mk" list.
- yrro 12y ago"11. Alternative out-of-date determination Sometimes the modification time is not useful for deciding when a target and prerequisite are out of date. The P attribute replaces the default mechanism with the result of a command. The command immediately follows the attribute and is repeatedly executed with each target and each prerequisite as its arguments; if its exit status is non-zero, they are considered out of date and the recipe is executed." When I want this in GNU Make I end up hacking together something resembling: define test-exec $(filter OK,$(shell if $1 >/dev/null; then echo OK; fi)) endef define test-docker-image $(if $(call test-exec,$(DOCKER) inspect $1,,docker_$1)) endef target: $(call test-docker-image,foo) $(DOCKER) run foo ... docker_%: $(DOCKER) build --force-rm -t project/$* $* It seems this can be replaced with: docker_%:VPdocker inspect: % $DOCKER build --fore-rm -t project/$stem $stem
- Dewie 12y agoPlan9 once again show themselves to be the most Unix(-like) - omit the pesky vowels and get a short and sweet unpronounceable (by itself) name with only constants.