69 | | == Automatic calls of {{{palmbuild}}} from {{{palmrun}}} |
70 | | if a [wiki:doc/app/userint user-interface] is used, or if {{{palmrun}}} option {{{-s}}} is used to force compilation of specific routines. Actually, {{{palmbuild}}} is called in each manual call of {{{palmrun}}} to provide various files for the respective run (including the binaries), which are put in a specific folder that is used by all runs of an automatic job chain. |
| 68 | == Automatic calls of {{{palmbuild}}} from {{{palmrun}}} == |
| 69 | {{{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. |
| 71 | |
| 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 |
| 73 | {{{ |
| 74 | palmbuild -v -h <ci> -d <ri> |
| 75 | }}} |
| 76 | 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. |
| 77 | |
| 78 | {{{palmbuild}}} is never called by {{{palmrun}}} calls from within a batch job, or by automatic calls of {{{palmrun}}} to generate restart jobs. Reasons are to avoid compilation within batch jobs (which may be very inefficient if the job runs on many cores), and because automatic restart runs should and can re-use the binaries that have been created by the initial run. |
| 79 | |
| 80 | |
| 81 | \\ |
| 82 | == {{{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. |
| 84 | |
| 85 | ||='''option''' =||='''default value''' =||='''meaning''' =|| |
| 86 | |----------- |
| 87 | ||-d ||" " ||run identifier, as specified with {{{palmrun}}} option {{{-d}}} || |
| 88 | ||-h ||default ||configuration identifier. Tells {{{palmbuild}}} which configuration file is to be used. || |
| 89 | ||-v ||--- ||to run in silent mode. Switches off most messages and queries || |
| 90 | ||-V ||--- ||do not compile sources for the SOURCES_FOR_RUN folder || |
| 91 | |
| 92 | \\ |
| 93 | == How does {{{palmbuild}}} operate? == |
| 94 | A detailed list of consecutive steps that are carried out will follow soon ... |