MSC 5.1 make

Fred Smith fredex at cg-atla.UUCP
Tue Dec 19 05:48:39 AEST 1989


In article <884 at thor.wright.EDU> sdawalt at wright.EDU (Shane Dawalt) writes:
>                                       I suspect that Microsoft may have
>relaxed the strict rule flow of Unix so that non-Unix users could simply
>list their files in any order and make would run without problems ... then
>you have the Unix people wondering why MSC's make is so "strange."  :-)
>
>  Shane
>
>sdawalt at cs.wright.edu



It seems to me, if I understand you, that you have it backwards. in Unix's make
you can list the targets in any old order you please, and as long as you tell
make which target to build (and define properly the dependencies) it will know
how to do so. It either builds, or acts as if it had built, a dependency tree
which, once built, can simply be traversed in-order, building each target as
necessary. When done all things required for building the main target will have
been built,so  that it can then build said target.

What MSC's make does is to move the dependency order work from the program
to the PROGRAMMER. It is necessary for the objects to be listed in the makefile
top to bottom in dependency order. If the first listed target depends on the
third one, then you are out of luck, because the stupid thing doesn't know how
to build the third one until it has completely finished processing the first
`and second ones. It then will NOT go back and do the first, because it is simply
traversing the makefile in first to last order.

Fred



More information about the Comp.lang.c mailing list