MPW Make Preprocessor

It started off with this line in the MPW Make help file:

-i dirname         # additional directory to search for include files

What include files? Nor­mal make has an include direc­tive to do just that, but MPW Make didn’t sup­port it. Run­ning strings on the resource fork, I found this error:

No file name following !include

And so I ver­i­fied that !include filename worked as expected.

How­ever, I couldn’t find !include doc­u­mented any­where; not in the help file, not in the Build­ing and Man­ag­ing Pro­grams in MPW guide, and Google was help­less as well. Did !include have any secret sib­lings?

Run­ning strings again, this time look­ing just for a !, I found ref­er­ences to more key­words:

These also work as expected. !undef unde­fines a com­mand-line (-d) vari­able, allow­ing it to be re-defined later (sim­i­lar to the override direc­tive in nor­mal makes.)

These direc­tives (and using !) are sus­pi­ciously sim­i­lar to Microsoft’s NMake. I couldn’t tell you what the true ori­gin is, though.