make
./prog [arg ..]
./try.sh
Think of this as a Maker Faire’s make. :-)
It works reasonably well. While not super ultra-featured, it does fair well with the Makefile we supplied. Not only that, it helped uncover a bug we had in our special Makefile rules.
This program is a tiny make(1)
clone.
It is able to parse a subset of the make(1)
syntax and will execute rules for
goals given in arguments if they need to (based on timestamp of dependencies
of rule targets).
name=value
.It should be able to build programs of previous years with the provided Makefile
found in previous contest archives. Simply use this program instead of make
.
It will recursively use itself for sub-make (the MAKE=
assignment inside
Makefile
will be ignored to continue using itself).
Makefile
.$<
and $@
are supported for automatic variables in commands.-j
option).:=
+=
?=
syntax for variable assignment.With gcc 4.8.2 on Linux Ubuntu 14.04 64-bit :
prog.c:22:15: warning: return makes integer from pointer without a cast [enabled by default]
prog.c:23:72: warning: signed and unsigned type in conditional expression [-Wsign-compare]
prog.c:12:11: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]