dev:makefile
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| dev:makefile [2014/07/25 15:17] – [Packages] oschuett | dev:makefile [2026/01/08 13:28] (current) – removed oschuett | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Makefile ====== | ||
| - | |||
| - | The CP2K Makefile automatically adopts to changes of the code base. | ||
| - | |||
| - | To add a file to the source tree, just create it. The Makefile will automatically discover it, compile it, and link it. Consequently, | ||
| - | |||
| - | The file discovery is based on a simple suffix naming convention: | ||
| - | * **.F files** are Fortran files. They are compiled into an object. They should contain either a '' | ||
| - | * **.f90 files** are included Fortran files. They are **not** compiled into an object. | ||
| - | * **.c files** are C-files. They are compiled into an object. | ||
| - | * **.cu files** are Cuda-C-files. They are compiled into an object using Nvidia' | ||
| - | * **.h files** are C-header files. They are included by .c or .cu files. They are **not** compiled into an object. | ||
| - | |||
| - | ===== Packages ===== | ||
| - | |||
| - | The code base is structured into directories. This will allow for making CP2K more modular, i.e. consisting of smaller packages with fewer dependencies. Every directory therefore contains a file named '' | ||
| - | <code python> | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | The entries '' | ||
| - | |||
| - | The entry '' | ||
| - | |||
| - | The optional entry '' | ||
| - | |||
| - | The optional entry '' | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ===== Compiling Multiple Versions ===== | ||
| - | |||
| - | The Makefile allows to compile multiple versions of all build targets in parallel: | ||
| - | < | ||
| - | $ make ARCH=Linux-x86-64-gfortran VERSION=" | ||
| - | </ | ||
| - | building only the main CP2K binary can be done as | ||
| - | < | ||
| - | $ make ARCH=Linux-x86-64-gfortran VERSION=" | ||
| - | </ | ||
dev/makefile.1406301464.txt.gz · Last modified: (external edit)
