Seminar 12th April 2017 3 p.m. Online
Compilation and the mysticism of Make
- Web page
- ARCHER, C, C++, Cloud computing, Complex Systems, CUDA, CUDA Fortran, Fortran, Linux, Mac OS X, NGCM, Vagrant, Windows
- Ryan Pepper
This course is an online session run and taught by EPCC.
"Make" is the standard Unix tool for managing multi-file programs, where the compilation instructions are encoded in a "makefile". Most large packages will come with associated makefiles, so it is important to understand how they work so code can be successfully compiled on new platforms, e.g. when porting a code to ARCHER.
Unfortunately, makefiles have a tendency to become very complicated and attain something of a mystical status. They are handed down from father to son, mother to daughter, supervisor to student, requiring magical incantations and only fully understood by a select few ...
In fact, make is fundamentally a very straightforward tool and most makefiles can be understood with some basic knowledge and a bit of practical experimentation.
In an initial 30-minute presentation, David Henty (EPCC and ARCHER CSE Support) will cover: the difficulties of managing multi-file codes; the fundamentals of make; simple makefiles for compiling Fortran and C codes; common mistakes and misconceptions. The aim of the presentation is to initiate online discussions between users and staff on compilation and makefiles, or any other aspects of the ARCHER service.