Building the Project Oberon OS

General discussions about using the Astrobe IDE to program the FPGA RISC5 cpu used in Project Oberon 2013

Building the Project Oberon OS

Postby cfbsoftware » Sat Jul 25, 2015 2:57 am

The Astrobe for RISC5 Build command automatically works out the import dependency tree of the module you are currently working on. When you Build a module it works out which imported (directly and indirectly) symbol files / object files are out of date, and automatically compiles them in the correct sequence first. Rebuild does the same except that it recompiles everything in the correct dependency sequence regardless of dates.

For example, the following dummy module which references the top-level Project Oberon modules can be used to rebuild the entire operating system with just one command. When you Rebuild BuildCore it will automatically recompile ALL 23 core modules of the operating system - about 9000 lines in total. The whole process (including generating the disassembly listings) takes less than 700 millseconds on my PC.

build.jpg (93.68 KiB) Viewed 713 times

If, for example, you edit the compiler module ORB (referenced by ORP) without changing its exported items and then Build BuildCore, only ORB will be compiled. However, if you change the interface of ORB by adding a new exported item then Build BuildCore will automatically recompile ORP and ORG as well because they both import ORB.
Site Admin
Posts: 303
Joined: Fri Dec 31, 2010 12:30 pm

Return to Astrobe for FPGA RISC5