mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 10:12:06 +00:00
* Move the folder structure to ARCHITECTURE.md (which can be expanded as per #707) * Move the acknowledgements to CONTRIBUTORS.md * Remove the history (it's a copy of man/rgbds.7)
70 lines
2.3 KiB
Markdown
70 lines
2.3 KiB
Markdown
# RGBDS Architecture
|
|
|
|
## Folder Organization
|
|
|
|
The RGBDS source code file structure is as follows:
|
|
|
|
```
|
|
.
|
|
├── .github/
|
|
│ ├── scripts/
|
|
│ │ └── ...
|
|
│ └── workflows/
|
|
│ └── ...
|
|
├── contrib/
|
|
│ ├── zsh_compl/
|
|
│ │ └── ...
|
|
│ └── ...
|
|
├── include/
|
|
│ └── ...
|
|
├── man/
|
|
│ └── ...
|
|
├── src/
|
|
│ ├── asm/
|
|
│ │ └── ...
|
|
│ ├── extern/
|
|
│ │ └── ...
|
|
│ ├── fix/
|
|
│ │ └── ...
|
|
│ ├── gfx/
|
|
│ │ └── ...
|
|
│ ├── link/
|
|
│ │ └── ...
|
|
│ ├── CMakeLists.txt
|
|
│ └── ...
|
|
├── test/
|
|
│ ├── ...
|
|
│ └── run-tests.sh
|
|
├── .clang-format
|
|
├── CMakeLists.txt
|
|
├── compile_flags.txt
|
|
├── Dockerfile
|
|
└── Makefile
|
|
```
|
|
|
|
- `.github/` - files and scripts related to the integration of the RGBDS codebase with
|
|
GitHub.
|
|
* `scripts/` - scripts used by workflow files.
|
|
* `workflows/` - CI workflow description files.
|
|
- `contrib/` - scripts and other resources which may be useful to users and developers of
|
|
RGBDS.
|
|
* `zsh_compl` - contains tab completion scripts for use with zsh. Put them somewhere in
|
|
your `fpath`, and they should auto-load.
|
|
* `bash_compl` - contains tab completion scripts for use with bash. Run them with `source`
|
|
somewhere in your `.bashrc`, and they should load every time you open a shell.
|
|
- `include/` - header files for the respective source files in `src`.
|
|
- `man/` - manual pages.
|
|
- `src/` - source code of RGBDS.
|
|
* Note that the code unique to each RGBDS tool is stored in its respective subdirectory
|
|
(RGBASM's code is in `src/asm/`, for example). `src/extern/` contains code imported from
|
|
external sources.
|
|
- `test/` - testing framework used to verify that changes to the code don't break or
|
|
modify the behavior of RGBDS.
|
|
- `.clang-format` - code style for automated C++ formatting with
|
|
[`clang-format`](https://clang.llvm.org/docs/ClangFormat.html).
|
|
- `CMakeLists.txt` - defines how to build RGBDS with CMake.
|
|
- `compile_flags.txt` - compiler flags for C++ static analysis with
|
|
[`clang-tidy`](https://clang.llvm.org/extra/clang-tidy/).
|
|
- `Dockerfile` - defines how to build RGBDS with Docker.
|
|
- `Makefile` - defines how to build RGBDS with `make`.
|