Similarly, yes, except for dependencies, topological sorting, macro processing and expert system
If you do nothing but shell commands in the Makefile, then this is actually very similar to the “batch files” directory, and it executes each one when the associated target is specified.
However, it is more typical to specify a dependency graph in a makefile, in which case make does a topological sort . all dependencies to intelligently build everything only once and in the correct order, starting with the earliest prerequisites.
And to be complete, I have to add that make is also a macro processor. It focuses on software creation systems; therefore, it provides processing of symbolic elements in its problem area, such as source and target names.
Now make is not a specially specialized expert system, 1 but it does more than just batch shell code, and technically it meets the definition of an expert system.
Make contains an output mechanism . All versions of make have suffix rules . Some versions also implement template rules . In combination with your specification (more rules that usually define a software application), the result is an expert system that will decide what to compile, link, acquire on eBay , regardless of whether it depends on the data and commands you provided.
1. Instead, it is an easy-to-use expert system. Skynet probably won't appear from a random typo in a complex Makefile.DigitalRoss Nov 16 '09 at 0:42 2009-11-16 00:42
source share