Most likely to succeed

Yves-Marie Morgan
yves-marie.morgan@parrot.com

Judges' comments:

To build:

make

To run:

./prog [arg ..]

Try:

make
cp -f prog morgan
./morgan clobber
ls

./morgan all install
ls

./prog love haste waste supernova
ls

make
./prog magic
ls

Selected Judges Remarks:

Think of this as a Maker Faire’s make. :-)

It works reasomably 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.

Author’s comments:

Remarks

This program is a tiny make clone.

It is able to parse a subset of the make syntax and will execute rules for goals given in arguments if they need to (based on timestamp of dependencies of rule targets).

Supported features

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 submake (the MAKE= assignment inside Makefile will be ignored to continue using itself).

Limitations / Known issues

Compilation warnings

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]


Creative Commons License

© Copyright 1984-2015, Leo Broukhis, Simon Cooper, Landon Curt Noll - All rights reserved
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.