Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ppekko/jbi
Minimal Build System written with C99
https://github.com/ppekko/jbi
build-system build-tool c99 minimal tiny
Last synced: 22 days ago
JSON representation
Minimal Build System written with C99
- Host: GitHub
- URL: https://github.com/ppekko/jbi
- Owner: ppekko
- License: gpl-3.0
- Created: 2023-07-30T22:14:47.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-06T20:35:01.000Z (3 months ago)
- Last Synced: 2024-10-11T01:11:49.639Z (about 1 month ago)
- Topics: build-system, build-tool, c99, minimal, tiny
- Language: C
- Homepage:
- Size: 23.4 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
| |
Just Build It
|
|:-----------------------------------------------:|:---------------------------------------------------:|jbi is a highly minimal and tiny build system written in C99 for UNIX based systems that takes the fustration and bloat that CMake or meson could bring to creating/managing a project. The entire project is around 700 lines and compiles into a 17kb executable.
jbi requires a `justbuild.it` file to be present in the root of a project and requires the following to inside it at a minimum
```
exe = projectname
cc = compiler
src = /path/to/src/ # will search through all subfolders if any
```
More configuration is optional, as shown below
```
include = /path/to/headers/ # will search through all subfolders if any
libs = sdl2
cflags = [compiler args]
ldflags = [compiler args]
pre = ./runbeforecomp
post = ./runaftercomp
```
When ready, simply run `jbi` or `jbi ` to compile your project. Run `jbi -c` to clean your project.An example project using SDL2 is avalible in the example-project/ folder of this repository.
# Dependencies
Requires pkg-config installed to run. TCC is required to build.
# Building
Make sure you have tcc installed, and simply run `make`. To install onto your system, run `sudo make install`