Changes between Version 4 and Version 5 of doc/app/palmbuild
- Timestamp:
- Nov 20, 2018 1:48:44 PM (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
doc/app/palmbuild
v4 v5 1 1 = The PALM build script = 2 2 3 The script to compile PALM and its [utility (pre-/postprocessing) programs] is called {{{palmbuild}}}. It resides under {{{trunk/SCRIPTS}}} and is invoked by the [wiki:doc/install/automatic automatic installer] as part of the installation process. It can also be executed manually, e.g. in case of a [#svnupdate PALM code update] from the svn repository, or code modifications by the user. Each modification sof the source code requires new compilation.\\\\3 The script to compile PALM and its [utility (pre-/postprocessing) programs] is called {{{palmbuild}}}. It resides under {{{trunk/SCRIPTS}}} and is invoked by the [wiki:doc/install/automatic automatic installer] as part of the installation process. It can also be executed manually, e.g. in case of a [#svnupdate PALM code update] from the svn repository, or code modifications by the user. Each modification of the source code requires new compilation.\\\\ 4 4 5 5 {{{palmbuild}}}\\\\ … … 15 15 palmbuild -c default 16 16 }}} 17 Since you can have different configuration files (for different compilers, compiler options, or hosts), you need to specify the configuration file to beused by the option {{{-c}}}. The suffix {{{default}}} in this example is the <configuration identifier>, which can be an arbitrary ASCII-character string.\\17 Since you can have different configuration files (for different compilers, compiler options, or hosts), you need to specify the configuration file to-be-used by the option {{{-c}}}. The suffix {{{default}}} in this example is the <configuration identifier>, which can be an arbitrary ASCII-character string.\\ 18 18 19 19 After entering the command, informative messages will appear in the terminal: … … 41 41 #------------------------------------------------------------------------# 42 42 43 >>> continue (y(es)/c(ontinue)/a(bort)) ? 44 }}} 45 If {{{y}}} is entered, compilation will be started and compiler messages will appear. After successful completion, you will find the binaries in the directory given in the configuration file by {{{base_directory}}} under the folder name {{{MAKE_DEPOSITORY_abcde}}}. 43 >>> continue (y(es)/a(bort)) ? 44 }}} 46 45 47 In case of a configuration file for PALM runs on a remote host, sources are copied via {{{scp}}} to the remote host and the compiler is called via {{{ssh}}} on the remote host too. Folder {{{MAKE_DEPOSITORY_abcde}}} is created under {{{base_directory}}} on the remote host.46 After confirmation (y(es)), compilation starts and compiler messages will appear. After successful completion, the binaries reside in the directory {{{MAKE_DEPOSITORY_default}}} under the path given by the variable [%base_directory] in the configuration file. When invoking {{{palmbuild}}} locally for compilation of PALM on a [link-to remote computer], sources are copied via {{{scp}}} to the remote host, and the compiler is called via {{{ssh}}} on the remote host as well. Here, the {{{MAKE_DEPOSITORY_default}}} also lands [%base_directory]. 48 47 49 [=#svnupdate In case you have updated the PALM code, you need to call {{{palmbuild}}} again:]48 [=#svnupdate In] case you have updated the PALM code, you need to call {{{palmbuild}}} again: 50 49 {{{ 51 50 cd ~/palm/current_version 52 51 svn update trunk 53 palmbuild -c abcde52 palmbuild -c default 54 53 }}} 55 54 … … 57 56 {{{ 58 57 touch trunk/SOURCE/*.f90 59 palmbuild -c abcde58 palmbuild -c default 60 59 }}} 61 60 because otherwise the make mechanism would see no changes in the source code and would not compile at all (message {{{make: Nothing to be done}}}). Alternatively, you may delete the MAKE_DEPOSITORY folder: 62 61 {{{ 63 rm -rf MAKE_DEPOSITORY_ abcde64 palmbuild -c abcde62 rm -rf MAKE_DEPOSITORY_default 63 palmbuild -c default 65 64 }}} 66 67 If you have more than one configuration file, you need to call {{{palmbuild}}} separately for each configuration. 65 **However**, best practice would be to create [link-to individual .palm.config files] for the different configurations, because this prevents from having to re-compile over and over again whenever modifying and working with just one single .palm.config file. Of course, {{{palmbuild}}} has to be executed for each configuration. 68 66 69 67