Function:
   Generate a Device Access release.


 Description:
   Generates Device Access interfaces and servers of the
   specified release. These are
   - Device Manager
   - Nameserver
   - Python device access module
   - Subscription Service
   - Userface Server
   May generate single Device Access libraries or servers
   (projects) of the specified release.

   For a complete generation the latest tagged sources of the
   specified release are exported from the repository.

   For generation of single projects, using the options --file
   or --project, only the specified project sources are exported
   from the repository.

   Sources are exported into the directory
   $DROOT/build/<release><suffix>.


 Usage:
   gendevacc [Options] <Release>

   Options:
     --brief
     -b
         Show only brief make outputs during generation.

     --file=<file>
     -f <file>
         Only projects in <file> will be generated. The format
         of <file> is
             project [tag]
             project [tag]
         for example
             # A comment
             accdata    11.03  # 2nd comment
             accdevice         # 3rd comment
             corbaifc   11.01
         Release numbers in the tags, 11 in the example, must
         correspond to the specified <Release> parameter.
         If no tag is specified, the latest repository tag of
         the  specified <Release> will be used.
         If option --noexport is specified, the tags will have
         no effect on the generated versions. Instead the
         existing 'version.mk' files will be used.

     --list
     -l
         List only projects/tags that would be generated.
         Do not export projects from repository and do not
         generate anything.

     --project=<project>
     -p <project>
         Generate only project <project>. If no tag if specified,
         the latest tagged version of the specified release will
         be generated.

     --noexport
     -e
         Do not export anything from the repository. Use the
         sources actually in the '.../build/<release>/<project>'
         directories instead. The --tag option is not valid in
         combination with this option.

     --nomake
     -m
         Print the make commands that would be executed, but do
         not execute them. This option has no effect if the
         --list option is specified.

     --regenerate
     -r
         Force a re-generation of already generated files.
         Without this option, no generation at all will
         take place if at least one generated file already
         exists.
         The option is valid only in combination with the
         --noexport option.

     --suffix=<suffix>
     -s <suffix>
         Append a suffix to the release directory name.
         If release '11' and suffix 'beta' is specified, the
         directory will be '.../11beta'. The first character
         in the suffix must be a letter.

     --tag=<tag>
     -t <tag>
         Generate tag <tag> of project <project>. This
         option is only valid in combination with the
         --project option. This option is not valid in
         combination with the --noexport option.

   Release:
     Generate release <Release>. <Release> must be a plain
     number.


 Examples:
    # Generate a complete release 17
    gendevacc 17

    # Generate a complete release 18beta
    gendevacc --suffix=beta 18

    # Generate only version (tag) 18.03 of project accdata
    gendevacc -p accdata -t 18.03 18

    # Don't generate anything, just show what would be generated
    # for release 18 and write output to file tmp.log
    gendevacc --list 18 > tmp.log


 Inputs:
   https://www.acc.gsi.de/svn/bel
   $utiasl/gendevacc.projects
   $utiasl/gendevacc.config
   $utiasl/gendevacc.mkclean
   $utiasl/gendevacc.mkcopy
   $utiasl/gendevacc.mknightly


 Outputs:
   $PROOT/build/<release><suffix>/<project>/version.mk
   $PROOT/build/<release><suffix>/nightly-conf.mk
   $PROOT/build/<release><suffix>/Makefile.clean
   $PROOT/build/<release><suffix>/Makefile.copy
   $PROOT/build/<release><suffix>/Makefile.nightly
   $PROOT/build/<yyyy-mm-dd>.log


 Note:
    A log is written into $PROOT/build/<yyyy-mm-dd>.log
    Correct logging requires that the install macros in
    acc-global.mk do not use the -p option!
Topic revision: r2 - 18 Aug 2011, UnknownUser
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback