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
Dockerfileandsetup.sh. - Create a
libdirectory and Rungit clone https://github.com/nemequ/munit.git lib/munit - Run
make runto 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:
makeThis will compile the source files and generate the executable in the build/ directory.
To run the compiled program, use:
make runThis will execute the main program, which calls the say_hello() function to print "Hello, World!".
To run the unit tests, use:
make testThis 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 cleanThis will delete all files in the build/ directory.