OpenSBE is a universal software building framework based on Autoconf, GNU Make, Perl, and sh. The framework provides a build environment that is platform, language, and compiler independent. OpenSBE simplifies creation of makefiles without sacrificing flexibility, yet introduces a minimum of new concepts into the existing build process.

OpenSBE integrates seamlessly into various stages of the standard Autoconf/Make build process. The basic idea of OpenSBE is to provide a higher level of abstraction for Autoconf and Make by defining appropriate macros, variables, and targets.

At the heart of OpenSBE is the use of recursion instead of manual maintenance. Traditional use of Autoconf requires the project directory structure to be traced in file configure.ac. The responsibility to keep the trace current is developer’s.

OpenSBE uses recursion instead. In every directory (subdirectory) of the project, starting from the root project directory, the developer creates a dir.ac file that lists the subdirectories and files that must be included in the build. OpenSBE recursively processes the dir.ac hierarchy and builds the directory trace automatically.

The same method is used to distribute Autoconf macros throughout the project directory structure: every project module (subdirectory on any level) contains an autoconf included file with macros specific to that module. (Macros specific to a module still affect the whole project.)

The net effect of the definitions hierarchy is simplification of project build system maintenance.

OpenSBE is not a black box; rather, it is a framework that specifies interfaces for plugging in arbitrary subsystems such as programming language compilers, documentation publishing tools, middleware, and so on. Currently, OpenSBE includes out-of-box support for C/C++ and CORBA builds.

OpenSBE uses Autoconf as the foundation. The important components of OpenSBE are:

  • a set of M4 macro definitions in AC-files;
  • Makefile templates (rule files) containing target definitions ready for inclusion into makefiles of specific projects;
  • utilities used for updating the targets;
  • shell scripts for computing default settings for embedded subsystems.

Download OpenSBE

Post By Gishore J Kallarackal (2,121 Posts)

Gishore J Kallarackal is the founder of techgurulive. The purpose of this site is to share information about free resources that techies can use for reference. You can follow me on the social web, subscribe to the RSS Feed or sign up for the email newsletter for your daily dose of tech tips & tutorials. You can content me via @twitter or e-mail.

Website: → Techgurulive

Connect