Bootstrap codebase to quickly get the GIOS development environment up and running.
This project is configured to work seamlessly with GitHub Codespaces using a development container. The .devcontainer/devcontainer.json
file defines the environment, ensuring that all necessary tools and extensions are available.
- Open the project in GitHub Codespaces.
- The development container will be automatically built and configured according to the
Dockerfile
andsetup.sh
. - Create a
lib
directory and Rungit clone https://github.com/nemequ/munit.git lib/munit
- Run
make run
to run the program. You should see it outputHello, World!
The project is organized into the following directories:
project/
├── include/ # Header files
│ └── hello.h
├── src/ # Source files
│ ├── main.c # Main entry point of the program
│ └── hello.c
├── tests/ # Unit tests
│ └── test_hello.c
├── lib/ # External libraries
│ └── munit/ # Munit testing framework (munit.h, munit.c)
├── build/ # Build output directory (e.g., executables, object files)
├── .devcontainer/ # Development container configuration
│ └─- devcontainer.json # Configuration for GitHub Codespaces
├── Dockerfile # Dockerfile for setting up the development environment
├── setup.sh # Script to set up the environment in the Docker container
├── Makefile # Build instructions
└── README.md # Project description
To compile the project, run:
make
This will compile the source files and generate the executable in the build/
directory.
To run the compiled program, use:
make run
This will execute the main
program, which calls the say_hello()
function to print "Hello, World!".
To run the unit tests, use:
make test
This will compile and run the tests using the munit
framework, verifying that the say_hello()
function behaves as expected.
To remove all build artifacts, run:
make clean
This will delete all files in the build/
directory.