{"id":25955537,"url":"https://github.com/thatonegin/cbone","last_synced_at":"2026-06-11T14:31:06.265Z","repository":{"id":279856574,"uuid":"914329781","full_name":"ThatOneGin/cbone","owner":"ThatOneGin","description":"Verbose build system for C","archived":false,"fork":false,"pushed_at":"2026-05-09T22:01:29.000Z","size":116,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-10T00:11:49.618Z","etag":null,"topics":["build-system","c"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ThatOneGin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-09T11:39:46.000Z","updated_at":"2026-05-09T22:01:33.000Z","dependencies_parsed_at":"2025-02-28T05:17:56.109Z","dependency_job_id":"e10ef893-0901-4a46-9553-d66eeeb038ff","html_url":"https://github.com/ThatOneGin/cbone","commit_stats":null,"previous_names":["thatonegin/cbone"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ThatOneGin/cbone","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatOneGin%2Fcbone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatOneGin%2Fcbone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatOneGin%2Fcbone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatOneGin%2Fcbone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThatOneGin","download_url":"https://codeload.github.com/ThatOneGin/cbone/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThatOneGin%2Fcbone/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34204177,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build-system","c"],"created_at":"2025-03-04T16:19:59.608Z","updated_at":"2026-06-11T14:31:06.258Z","avatar_url":"https://github.com/ThatOneGin.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cbone\n\nCbone is a one-header library to make build files.\n\n\u003e **_NOTE_:** this is an experimental library and anything can change at any moment. Cbone is also very unstable and should not be used for large builds.\n\nThe main idea of this is that you only need a C compiler to build a project and you don't need to get\ntrack of the build system's version.\n\n### Table of contents\n  - [Installation](#installation)\n  - [Usage](#usage)\n  - [When to not use Cbone](#when-to-not-use-cbone)\n  - [Pros and cons](#pros-and-cons)\n    - [Pros](#pros)\n    - [Cons](#cons)\n  - [Acknowledgements](#acknowledgements)\n\n# Installation\n\n- Copy [cbone.h](./cbone.h) into your project.\n- Create `cbone.c` file with your recipe.\n- compile `cbone.c` into `cbone` executable.\n  - `cc -o cbone cbone.c` (swap cc with the C compiler of your preference)\n- run the executable using `./cbone`\n\n# Usage\n\nHere is a minimal build file which compiles `main.c`.\n\n```c\n#define CBONE_IMPL\n#include \"cbone.h\"\n\nint main(int argc, char **argv) {\n  /*\n  ** this macro checks for any difference in the last\n  ** time the source file was saved, and if there's a difference,\n  ** it tries to recompile itself.\n  */\n  cbone_rebuild_self(argc, argv);\n\n  /*\n  ** cbone_util_cmd is like writting in a shell, it creates the process with given arguments.\n  ** cc is a macro used to identify which C compiler was used to compile the source file.\n  */\n  cbone_util_cmd(cc, \"-o\", \"main\", \"main.c\", \"-Wall\", \"-Wextra\", \"-pedantic\");\n\n  return 0;\n}\n```\n\nYou can take a look into [this](examples/README.md) for a more detailed examples.\n\n# When to not use Cbone\n\n- When you already use a build system like [Cmake](https://cmake.org/) or [GNU Make](https://www.gnu.org/software/make/), it doesn't make any sense to use Cbone.\n- When your project is too big, Cbone is meant to be used in tiny projects.\n\n# Pros and cons\n\n## Pros\n\n- You write more C\n- Code reuse (you use the same language for building and developing your project)\n- Portability (works on Windows and most Linux systems)\n\n## Cons\n\n- You need to be comfortable with implementing things by yourself\n- Useless in projects that don't use C or C++\n- Verbosity, as already mentioned, you write more C\n\n# Acknowledgements\n\nThis library is heavily inspired by [nob.h](https://github.com/tsoding/nob.h) (available under MIT or Public Domain license) and mostly on its predecessor [nobuild](https://github.com/tsoding/nobuild) (licensed under MIT license).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthatonegin%2Fcbone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthatonegin%2Fcbone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthatonegin%2Fcbone/lists"}