User Tools

Site Tools


dev:makefile

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dev:makefile [2014/07/25 15:17] – [Packages] oschuettdev:makefile [2020/08/21 10:15] (current) – external edit 127.0.0.1
Line 12: Line 12:
   * **.h files** are C-header files. They are included by .c or .cu files. They are **not** compiled into an object.   * **.h files** are C-header files. They are included by .c or .cu files. They are **not** compiled into an object.
  
-===== Packages ===== +Furthermore, the code base is structured into [[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 ''PACKAGE'' . A typical ''PACKAGE'', which uses python syntax, looks like this: +
-<code python> +
-+
-"description": "Distributed Block Compressed Sparse Row, A sparse matrix library", +
-"requires": ["../base", "../mpiwrap", "../acc", "libsmm_acc"], +
-"public": ["dbcsr_api.F"]+
-"archive": "libdbcsr", +
-+
-</code> +
- +
-The entries ''description'' and ''requires'' are mandatory.  +
- +
-The entry ''requires''  list all the directories on which the code in the current directory may depend upon. This means, modules in the current directory may only use modules from the listed directories. The requirements between directories must **not** have cycles. This is checked during compilation. +
- +
-The optional entry ''public'' lists all files, which other packages may use. This allows to hide package internals. If the ''public'' entry is absent, all files within the package are public. This is checked during compilation. +
- +
-The optional entry ''archive'' allows to overwrite the filename of the archive, which is created during compilation. The default name is "libcp2k<package_name>". +
- +
- +
- +
  
 ===== Compiling Multiple Versions ===== ===== Compiling Multiple Versions =====
dev/makefile.1406301464.txt.gz · Last modified: 2020/08/21 10:14 (external edit)