Buidl systems use too many languages: The Python build system is a great example of this. shell, make (which includes shell), m4/autoconf, Python (distutils/setup.py). . There is "language cacophony". This is ironic because I'm a fan of polyglot programming.
Build systems use shell poorly. I've encountered this in Python and toybox.
Makefile features and misfeatures.
DESIGNING A BETTER MAKE THAT'S ALSO COMPATIBLE.
This is harder than shell because:
omk analogous to OSH. I shouldn't do it before Oil.TODO: Link to old blog posts.
I'm thinking of new syntax. Sneak peak. I mentioned that oil will have proc
and func.
I think that Boil will have rule:
foo.pyc : foo.py
@echo 'Compiling to .pyc by importing'
python -c 'import foo'
rule foo.pyc : foo.py {
quiet echo 'Compiling to .pyc by importing'
. echo 'Compiling to .pyc by importing'
python -c 'import foo'
}
Q may be a synonym for 'quiet'. I decided this didn't need new syntax. OK ls / fail-ok echo hi
The oiltool executable is like busybox: if you symlink it as osh, it
implement the oil language.
If you symlink it as oil, it will do the toher language.
Nice thing: I get to write another Makefile from scratch.
I guess to design BOIL.
(boil is a good name: it's something you wait for.)