Back to CFM home             Brown University



Make and Makefiles


Code development is much easier when you break it up in independent parts (modules) instead of keeping all of your code in one huge file. Keeping track however of dependencies, what needs to be recompiled when something else changes, special flags needed for each file etc. then becomes a headache unless one uses a Makefile. Makefiles make life easier and do away with errors appearing because of parts of older versions of the code not having been updated accordingly. CFM users are encouraged to take the trouble to learn how to use Make and Makefiles.


  1. Make utilities
  2. On all CFM platforms:

    make:
    Standard Unix Make: In many cases supports parallel compilation of independent units for speed, offers a lot of functionality.
    gmake:
    GNU Make: Offers even more functionality than make, at the cost of some incompatibility: that is, gmake specific makefiles may break make - but not the other way round.

    It is suggested that you use make if you are likely to work on other platforms where gmake is not available.


  3. Learning how to use Make