Building Software Systems

Partitioning into Different Modules

Large programs are often partitioned into different files/modules. Why is this a good thing?

  • as a principle of good design
  • to share development work in a large project
  • to create re-usable libraries


The make command is based on the notion of dependencies.

Each rule in a Makefile describes:

  • dependencies between each target and its sources
  • commands to build the t

arget from its sources

Make decides that a target needs to be rebuilt if it is older than any of its sources (based on file modification times)