Setting up a target
In AEL, the Agent Engineering Language, a target will be what a build runs on: an operating system and processor, or a microcontroller board. ael target install (command names may change before launch) will install what the AEL toolchain needs to build for one target.
Status
Planned for AEL Beta 0.0.1. AEL is not available yet.
Usage
ael target install <target>
ael target install <target> --json
| Argument or option | Meaning |
|---|---|
<target> | The target to set up, by its target name. |
--json | A machine-readable report of what was installed. |
Planned targets lists the targets planned for Beta 0.0.1 and their names.
What it installs
It will install what the toolchain needs to build for that target, and nothing else: no compiler of another language, and no change to the tools your system already has for other purposes.
- Pinned. Each target will be installed at an exact version that the toolchain records, so a project can later build again with the same target.
- Verified. Every file will be checked against its published fingerprint before it is used, and the installation will be recorded with where it came from.
- Recoverable. A new target, or a new version of one, will be prepared completely before it replaces anything. If installing is interrupted, or the target does not match your machine, the targets you had before will stay usable.
Boards
For a microcontroller board, ael target install will set up what AEL needs to build firmware for it. Writing that firmware to a board will use the board maker's standard flashing tools, which you install yourself. ael doctor will tell you when they are missing.
Desktop and server programs will need nothing else installed.
After installing
ael target install <target>
ael check --target <target>
ael build --target <target> -o build/support
Not every target will offer every feature. A feature a target cannot offer will fail when you check or build, not on the device.
Not settled yet
The other ael target commands, such as listing and removing installed targets, will be named before launch.
Related
- Checking the toolchain: what is installed and what is missing.
- Building a program: building for a target.
- Flashing a board: writing firmware to a device.