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!