potfit wiki

open source force-matching

User Tools

Site Tools


compiling:make

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
compiling:make [2018/08/24 21:14] danielcompiling:make [2018/09/19 17:49] (current) daniel
Line 4: Line 4:
 <wrap round info 665px center> <wrap round info 665px center>
 //**Info:**// //**Info:**//
-Although potfit still supports using make as a build system it is recommended to use the [[compiling:waf|waf]] build system as it fixes several issues present with make.+Although potfit still supports using make as a build system it is recommended to use the [[compiling:main|waf]] build system as it fixes several issues present with make.
 </wrap> </wrap>
  
Line 11: Line 11:
 <code bash>gmake [FLAGS="some flags"] potfit-target</code> <code bash>gmake [FLAGS="some flags"] potfit-target</code>
  
-The compiler and compilation flags are determined according to the ''SYSTEM'' variable, which has to be set once in the Makefile on line 125 or 126+The compiler and compilation flags are determined according to the ''SYSTEM'' variable, which has to be set once in the Makefile.inc on line 113
  
-Further compile or link flags, in addition to those determined by the ''SYSTEM'' variable, can be passed on the command line with the help of the ''FLAGS'' variable.+Further compile or link flags, in addition to those determined by the ''SYSTEM'' variable, can be passed on the command line with the help of the ''FLAGS'' environment variable.
  
-After compiling, the potfit executable is moved to the directory ''$HOME/bin'', if this exists. Otherwise it is not moved. The location where executables are put can also be customized in the Makefile (line 130).+After compiling, the potfit executable is moved to the directory ''$HOME/bin'', if it exists. Otherwise it is not moved. The location where executables are put can also be customized in src/Makefile (line 40, BIN_DIR variable).
  
 ''potfit-target'' consists of several components and has the following structure: ''potfit-target'' consists of several components and has the following structure:
Line 23: Line 23:
 Most features of potfit must be activated with the corresponding compilation option in the make target. The most important option is the interaction you want to use. Most options can coexist with each other. Most features of potfit must be activated with the corresponding compilation option in the make target. The most important option is the interaction you want to use. Most options can coexist with each other.
  
-Here are some [[:compiling_examples|examples]] that might help you compile //potfit//.+Here are some [[compiling:make_examples|examples]] that might help you compile //potfit//.
  
 ===  Compilation Options  === ===  Compilation Options  ===
  
-The compilation options are described together with the simulation features they enable. For details, see the [[:options]]. +The compilation options are described together with the simulation features they enable. For details, see the [[options:main]]. 
  
 ===  Supported values of the ''SYSTEM'' variable  === ===  Supported values of the ''SYSTEM'' variable  ===
Line 33: Line 33:
 Currently, the following values of the ''SYSTEM'' variable are supported and properly tested: Currently, the following values of the ''SYSTEM'' variable are supported and properly tested:
  
-<code>x86_64-gcc All recent 64 bit processors, gcc +<code> 
-x86_64-icc All recent 64 bit processors, icc</code>+x86_64-gcc All recent 64 bit processors, gcc 
 +x86_64-clang All recent 64 bit processors, clang 
 +x86_64-icc All recent 64 bit processors, icc 
 +</code>
  
 The following values of the ''SYSTEM'' variable are also available but not very well tested: The following values of the ''SYSTEM'' variable are also available but not very well tested:
  
-<code>i686-gcc 32 bit processor, gcc +<code> 
-i686-icc 32 bit processor, icc</code>+i686-gcc 32 bit processor, gcc 
 +i686-icc 32 bit processor, icc 
 +</code>
  
 Support for different values of ''SYSTEM'' is easily added. The Makefile contains a detailed decsription of how the compile and link flags are determined from a number of Makefile variables, which has to be set for each supported value of ''SYSTEM''. There is a template from which one can start. Support for different values of ''SYSTEM'' is easily added. The Makefile contains a detailed decsription of how the compile and link flags are determined from a number of Makefile variables, which has to be set for each supported value of ''SYSTEM''. There is a template from which one can start.
compiling/make.1535138093.txt.gz · Last modified: 2018/08/24 21:14 by daniel