The bane of computer programming is the Makefile . As soon as there are more than one source file and a library, a Makefile becomes essential and generating one can be painful. The Makefile syntax reminds me of a sendmail configuration file, which looks like someone banged his head on a keyboard: # This rule ensures that all local mail is delivered using the # smtp transport, everything else will go via the smart host. R$* < @ $* .$m. > $* $#smtp $@ $2.$m. $: $1 < @ $2.$m. > $3 dnl Way back in the dark ages, before there was m4 , I actually edited a few sendmail files by hand - that was how I earned my UNIX beard - but good grief... Same as with sendmail , you should never edit a Makefile manually these days. It is a total waste of time. There now are nice and simple utilities to do it for you! GCC -MM If you have a very simple project, then gcc can generate the Makefile for you: $ gcc -MM *.c > Makefile $ make Error...
Autonomous planes, trains and cranes...