GBS Logo HELP HOME Generic Build Support (GBS) - User Manual
Handling SubSystems & Steps Bottom Doc. Button
Release RMC-06.02
(2024-04-29)


- Home
Getting Started
- Quick Start
- Release Notes
- Install Notes
- Create a GBS-WA/System
- FAQ
- Terms and Conditions (The Fine Print)
Basics
- Definitions & Acronyms
- Introduction
- Top Level Directory Structure
- Full Directory Structure
- Handling SubSystems & Steps
- Procedures
- Software Configuration Management Support

Manual Pages
- The Command-Line Interface
- All Commands
- The gbssys... Commands
- Generating Code (Building)
- Libraries & Executables and Testing
- Exporting Deliverables
- Auditing
- Customisations (Session)
- Customisations (User)
- Customisations (Admin)
- Integration with other Tools
- Plugins (Admin)
- Environment Variables (EnvVars)
User Files
- The GLKBT (glk/glb/glt) Files
Internal (.gbs) Files
- GBS Files - General
- audit.gbs
- broadcast.gbs
- build.gbs
- export.gbs
- flags_*.gbs
- subsys.gbs (.bat/.sh)
- incs_*.gbs
- owners.gbs
- sca_*.gbs
- scope.gbs
- site.gbs (.bat/.sh)
- steps.gbs
- switch.gbs (.bat/.sh)
- system.gbs
- tool.gbs
Various
- Development
- About
- Metrics Help

Full Documentation
- All Docs - Printable


Description Bottom Doc. Button Top Document Button Down Section Button Blank

SubSystems Bottom Doc. Button Top Document Button Down Section Button Blank Down Chapter Button Blank

GBS recognises a number of SubSystem types that can be either Full GBS or Non-Full GBS.
  • Full GBS
    • GBS
  • Non-Full GBS
    • MSVS (Microsoft Visual Studio) - Windows only
    • make
    • Other

In general:
  • Full GBS Subsystems:
    • Have a 'comp' directory that contains the Components that contain the code
    • The directory structure beneath 'comp' is fixed
    • Components and their contents are fully handled by GBS
    • Commands like gbsbuild, gbsmake and gbsaudit work here.
      Just as gbssysbuild, gbssysmake and gbssysaudit
  • Non-Full GBS Subsystems:
    • Have an 'app' directory that contains user defined directories that contain the code
    • The directory structure beneath 'app' is completely free
    • There are no GBS Components
    • Commands like gbsbuild, gbsmake and gbsaudit do not work here
    • Execution only by commands gbssysbuild, gbssysmake and gbssysaudit.
      Execution is controlled by the subsys.gbs script files in the SubSystem directory
      There is a vast amount of EnvVars that are set before execution of subsys.gbs.bat|.sh to be able to achieve the required functionality. E.g.: Generate for Debug or Release, etc.
      More information on the subsys.gbs file, including an example can he found in subsys.gbs.

MSVS SubSystem

You should create/copy your main project of solution file directly in the 'app' directory.
You will already have a subsys.gbs.bat file appropriate for MSVS, with lots of comments.
Run 'gbsedit subsys.gbs' to change to the wanted functionality.

make SubSystem

You should create/copy your 'make' code tree directly in the 'app' directory.
Your main 'make' file should be either in the SubSystem directory or the 'app' directory.
You will already have a subsys.gbs.bat|.sh file appropriate for 'make', with lots of comments.
Run 'gbsedit subsys.gbs' to change to the wanted functionality.

Other SubSystem

You should create/copy your code tree directly in the 'app' directory.
You will already have a generic subsys.gbs.bat|.sh file, with lots of comments.
Run 'gbsedit subsys.gbs' to change to the wanted functionality.

Steps Bottom Doc. Button Top Document Button Blank Blank Blank Up Chapter Button

By default SubSystems are handled (gen, make, audit) in Alphabetical order.
With the definition of Steps in steps.gbs this order can be changed.
It is also possible to make selections of SubSystems optional in various ways.
It is also possible to define non-SubSystem steps, called 'Commands' that will allow you to execute commands to e.g.:
Copy end-results to a specific directory outside then GBS tree, run Doxygen on the whole GBS tree, etc

More information in steps.gbs.

subsystems.html