Adamakegen

by Owen O'Malley

Purpose

In our development of large Ada systems, we have found several problems with use the partial recompilation tool supplied by Verdix/SunAda. They are: To avoid these problems, I wrote Adamakegen, an Ada Makefile Generator. Adamakegen scans the Ada source code, potentially in more than one library and directory, and creates a Makefile. Since the Makefile is external it can be included in distributions to greatly simplify installations at other sites. Furthermore, commands can be added to the Makefile to support RCS, units in other languages or pre-processors such as Ayacc, Alex and Pleiades.

It handles all of Ada (but with limited error recovery... that's what compilers are for), including tasking, generics and pragma inline. The Makefiles include various pseudo-targets that will create the Ada library structure, compile the system, clean the library and remove the library.

Portability is supported through the optional use of nicknames for the full path names in the Makefile, the use of variables for the Ada compiler commands and multiple architecture support (ie. having the source code in and the Ada library's in either /sun4 or /dec depending on the current architecture.

User documentation is also available.

Platform

Adamakegen is written in Icon, version 8.7. Although most of Adamakegen is general Ada, some portions are compiler specific. In particular, Adamakegen needs to parse the library information so that it can find the files referenced from the current directory. These compiler-specific sections are localized, but only Verdix and SunAda are supported.

Availability

Adamakegen is copy-righted by the University of California, but source code is available free of charge via WWW. If you have any questions, please contant me at owenomalley@alumni.uci.edu
Top: Owen O'Malley