Changes between Version 2 and Version 3 of doc/app/palmbuild


Ignore:
Timestamp:
Oct 30, 2018 2:36:29 PM (6 years ago)
Author:
raasch
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • doc/app/palmbuild

    v2 v3  
    1212Manual calls of {{{palmbuild}}} are used to generate or update the compiled PALM sources (binaries). Specific informations e.g. about the compiler and the compiler options to be used need to be specified in the [wiki:doc/app/palm_config configuration file]. Relevant variables to be specified are ''source_path'', ''user_source_path'', ''compiler_name'', ''compiler_name_ser'', ''cpp_options'', ''make_options'', ''compiler_options'' and ''linker_options''. See [wiki:doc/app/palm_config configuration file] for a description of these variables. 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 {{{palmbuild}}}. Assuming a configuration file {{{.palm.config.abcde}}}, you need to enter
    1313{{{
    14    palmbuild -h abcde
     14   palmbuild -c abcde
    1515}}}
    1616{{{abcde}}} is the so-called ''configuration identifier''. After entering the command, informative messages will appear in the terminal:
     
    4848   cd ~/palm/current_version
    4949   svn update trunk
    50    palmbuild -h abcde
     50   palmbuild -c abcde
    5151}}}
    5252
     
    5454{{{
    5555   touch trunk/SOURCE/*.f90
    56    palmbuild -h abcde
     56   palmbuild -c abcde
    5757}}}
    5858because 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:
    5959{{{
    6060   rm -rf MAKE_DEPOSITORY_abcde
    61    palmbuild -h abcde
     61   palmbuild -c abcde
    6262}}}
    6363
     
    6868== Automatic calls of {{{palmbuild}}} from {{{palmrun}}} ==
    6969{{{palmbuild}}} is automatically called by {{{palmrun}}}, but only if {{{palmrun}}} has been manually called (i.e. if the {{{palmrun}}} call has been entered by the user in a terminal). There are two different calls for two different purposes:
    70 1. If {{{palmrun}}} does not find a MAKE_DEPOSITORY folder, it calls {{{palmbuild}}} with the respective configuration identifier (e.g. {{{palmbuild -h abcde}}} in order to pre-compile PALM. 
     701. If {{{palmrun}}} does not find a MAKE_DEPOSITORY folder, it calls {{{palmbuild}}} with the respective configuration identifier (e.g. {{{palmbuild -c abcde}}} in order to pre-compile PALM. 
    7171
    72 2. {{{palmbuild}}} is called to compile sources for the specific PALM run. This may be user-interface code (if there is any), or modified code from the working copy (i.e. from {{{.../trunk/SOURCE}}}) that has been specified by {{{palmrun}}} option {{{-s}}}. {{{palmrun}}} has put the respective source files (plus all other files from the MAKE_DEPOSITORY) into a newly created folder named {{{SOURCES_FOR_RUN_<ci>_<ri>}}}, where {{{<ci>}}} is the configuration identifier and {{{<ri>}}} is the run identifier that have been specified with {{{palmrun}}} options {{{-h}}} and {{{-d}}}. This SOURCES_FOR_RUN-folder is created in the directory that has been specified by variable {{{base_directory}}} in the configuration file. {{{palmbuild}}} copies this folder to directory {{{$fast_io_catalog/SOURCES_FOR_RUN_<ci>_<ri>}}} and compiles the user-interface or/and modified sources (if there are any). Variable {{{fast_io_catalog}}} is also defined in the configuration file. In case of remote jobs, the SOURCES_FOR_RUN folder is copied via {{{scp}}} and the compiler is invoked via {{{ssh}}}. The internal {{{palmbuild}}} call generally looks like
     722. {{{palmbuild}}} is called to compile sources for the specific PALM run. This may be user-interface code (if there is any), or modified code from the working copy (i.e. from {{{.../trunk/SOURCE}}}) that has been specified by {{{palmrun}}} option {{{-s}}}. {{{palmrun}}} has put the respective source files (plus all other files from the MAKE_DEPOSITORY) into a newly created folder named {{{SOURCES_FOR_RUN_<ci>_<ri>}}}, where {{{<ci>}}} is the configuration identifier and {{{<ri>}}} is the run identifier that have been specified with {{{palmrun}}} options {{{-c}}} and {{{-r}}}. This SOURCES_FOR_RUN-folder is created in the directory that has been specified by variable {{{base_directory}}} in the configuration file. {{{palmbuild}}} copies this folder to directory {{{$fast_io_catalog/SOURCES_FOR_RUN_<ci>_<ri>}}} and compiles the user-interface or/and modified sources (if there are any). Variable {{{fast_io_catalog}}} is also defined in the configuration file. In case of remote jobs, the SOURCES_FOR_RUN folder is copied via {{{scp}}} and the compiler is invoked via {{{ssh}}}. The internal {{{palmbuild}}} call generally looks like
    7373{{{
    74    palmbuild -v -h <ci> -d <ri>
     74   palmbuild -v -c <ci> -r <ri>
    7575}}}
    7676   where {{{<ci}}} and {{{ri}}} are as given by the respective {{{palmrun}}} options. Option {{{-V}}} is added if the corresponding {{{palmrun}}} option {{{-V}}} has been set. For explanations of the internal options see the table below.
     
    8181\\
    8282== {{{palmbuild}}} options ==
    83 Only option {{{-h}}} and {{{-v}}} should be used for manual calls of {{{palmbuild}}}. Other options are internal options that only work if {{{palmbuild}}} is automatically called from within {{{palmrun}}}. {{{---}}} in the ''default value'' column means that the respective option has no argument.
     83Only option {{{-c}}} and {{{-v}}} should be used for manual calls of {{{palmbuild}}}. Other options are internal options that only work if {{{palmbuild}}} is automatically called from within {{{palmrun}}}. {{{---}}} in the ''default value'' column means that the respective option has no argument.
    8484
    8585||='''option''' =||='''default value''' =||='''meaning''' =||
    8686|-----------
    87 ||-d   ||" "      ||run identifier, as specified with {{{palmrun}}} option {{{-d}}}  ||
    88 ||-h   ||default  ||configuration identifier. Tells {{{palmbuild}}} which configuration file is to be used.  ||
     87||-c   ||default  ||configuration identifier. Tells {{{palmbuild}}} which configuration file is to be used.  ||
     88||-r   ||" "      ||run identifier, as specified with {{{palmrun}}} option {{{-r}}}  ||
    8989||-v   ||---      ||to run in silent mode. Switches off most messages and queries  ||
    9090||-V   ||---      ||do not compile sources for the SOURCES_FOR_RUN folder  ||