Commit 2455ac25 authored by jemian's avatar jemian
Browse files


parent 39a4c580
# Setup autoconversion from .adl to .ui
This document will describe how to setup the scripts
This document describes how to setup the scripts
to autoconvert MEDM `.adl` files to CaQtDM `.ui` files
for a beam line.
for a beam line. The setup for one beam line, *7-ID*, is
used as a case study.
The Linux `make` process is used to
convert `.adl` files in the present working
directory to `.ui` files on a one-to-one basis.
Those `.ui` files will be written into the
*same* directory as the `.adl` file.
The *make* program (and accompanying RULES file) investigates
all dependencies between `.adl` and `.ui` files and will
(re)build any `.ui` files where the associated `.adl` has
a newer *mtime* (time that file was last modified).
A hierarchy of directories can be traversed by appending
to the `SUBDIRS` macro in the *Makefile*. A single `make`
command at the root of the hierarchy can bring all `.ui`
files up to date.
## Example: 7-ID
Here is the setup in the top directory for 7-ID
The MEDM screens custom for the 7-ID beam line are located
in a set of directories starting at `/net/s7dserv/xorApps/adl/7id`
and progressing into a set of subdirectories. Above this directory,
the CaQtDM starter script ![](./
is used to configure
the paths and resources necessary to start CaQtDM for 7-ID.
Here is the `Makefile` in the top directory for 7-ID
jemian@gov .../adl/7id $ pwd
......@@ -41,3 +66,18 @@ Here is the setup in the top directory for 7-ID
# make this the LAST line (so that SUBDIRS list is considered)
include /APSshare/caqtdm/RULES_ADL2UI
## How to deploy this Makefile
1. Copy the *Makefile* above into any directory containing `.adl` files to be converted.
2. append to the `SUBDIRS` macro for each child subdirectory
3. repeat steps 1 & 2 for eaach child subdirectory
4. return to the top-most directory of this tree and type `make` to apply any conversions
5. assemble a start script for the beam line similar to the examples provided
Note: Make certain that the last line of *each* `Makefile` is:
include /APSshare/caqtdm/RULES_ADL2UI
Tip: The `SUBDIRS` can refer to child subdirectories *or* other directories,
as directed by a relative or absolute path.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment