Skip to content

A* make/build framework

The a-make provides a standard set of rules and a tool for building A* systems. This document provdes:

  1. Instructions for using the framework.
  2. Creating new Makefile
  3. Updating rules.

Status: draft needing further work.

  1. a-clone - clone components to your local machine.
  2. template-generic, … - templates for the creation of components.
  3. a-f - runs a fossil command across all the componets
  4. GNU Make Conventions - note that we follow the GNU Make conventions.
  5. GNU Make Manual - note that we use GNU Make for this process.
  1. All components are typically kept in ~/a-team which must be be defined in the environment variable $ASTAR. This can be a subset of all components.
  2. Its a flat hierachy.
  3. Each component should be a separable part and as simple as possible.
  4. Provide a verifiable and repeatable build process.

Once you have the components setup its just the usual make targets following the GNU Makefile Conventons, so:

% cd ~/a-team/component-x
% make
% make check
% make install
% make clean

The initial setup is to:

  1. Set the environment variable ASTAR to your work directory, i.e. ~/a-team.
  2. Get a user and password pair from Phil.
  3. Install a version of fossil from your package manager or https://fossil-scm.org.
  4. Bootstrap the system using fossil across the internet.
% mkdir ~/a-team
% cd ~/a-team
% fossil clone https://USER@a-star-microgrid.com/a-team/COMPONENTS/a-clone
use PASSWORD as appropriate
% ls :# check it downloaded ok
a-clone.fossil
% fossil open a-clone.fossil --workdir a-clone
% cd a-clone
% ./a-clone ;# clone all the components

After this completes you should have the source code repositories such a-all.fossil and the working directory with the latest version aka as tip.

% ls $ASTAR
a-0-component
a-0-component.fossil
a-all
a-all.fossil
a-bibliography
a-bibliography.fossil
...

TBA