{"id":31154849,"url":"https://github.com/gboncoffee/c-infrastructure","last_synced_at":"2026-05-19T07:34:22.138Z","repository":{"id":294663945,"uuid":"864676328","full_name":"gboncoffee/c-infrastructure","owner":"gboncoffee","description":"Infrastructure for C/C++ Programming","archived":false,"fork":false,"pushed_at":"2025-12-17T22:44:11.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-21T09:52:39.881Z","etag":null,"topics":["c","cpp","make"],"latest_commit_sha":null,"homepage":"","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gboncoffee.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}},"created_at":"2024-09-28T21:22:54.000Z","updated_at":"2025-12-17T22:44:14.000Z","dependencies_parsed_at":"2025-05-21T13:57:42.864Z","dependency_job_id":"2b0f2098-f471-4aee-96c5-c68e17a085e1","html_url":"https://github.com/gboncoffee/c-infrastructure","commit_stats":null,"previous_names":["gboncoffee/c-infrastructure"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gboncoffee/c-infrastructure","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gboncoffee%2Fc-infrastructure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gboncoffee%2Fc-infrastructure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gboncoffee%2Fc-infrastructure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gboncoffee%2Fc-infrastructure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gboncoffee","download_url":"https://codeload.github.com/gboncoffee/c-infrastructure/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gboncoffee%2Fc-infrastructure/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33206320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-19T07:16:55.748Z","status":"ssl_error","status_checked_at":"2026-05-19T07:16:54.366Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["c","cpp","make"],"created_at":"2025-09-18T19:48:49.158Z","updated_at":"2026-05-19T07:34:22.133Z","avatar_url":"https://github.com/gboncoffee.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Infrastructure for C/C++ Programming\n\nThis repo has sample `.editorconfig` files and `.clang-format` files for C/C++,\nand also a Universal Makefile.\n\nEverything here is dual-licensed under Public Domain (CC0) and MIT, so you can\nchoose what fits best for you.\n\n## How to use the Makefile\n\nThe Makefile in this repo automatically detects every `.c` and `.cpp` file\nrecursively in a defined source folder, creates a rule for a corresponding\nobject file in a defined target folder and a rule for linking the final\nexecutable. Also, it manages release and debug build profiles.\n\nThe targets that you should use are just `target`, `debug`, and `clean`. The\ntarget `target` is the default and builds the \"release mode\". The `debug` builds\nthe \"debug mode\", and `clean` removes the directory with objects and the\nbinaries.\n\n### Configuring the Makefile\n\nOptionally set variables in the `config.mk` file. It works if that file doesn't\neven exist, so no worry, everything has a sane default.\n\n### Variables\n\n- **SRC (path)**: Directory with source files. Defaults to `src/`.\n- **BUILD_TARGET (path)**: Directory with object files. Defaults to `build/`.\n- **TARGET (path)**: Executable to create. Defaults to `a.out`.\n- **DEBUG_SUFFIX (string)**: Will be appended to all objects and the target\n  before extension, as to compile the versions with debug symbols. Defaults to\n  `-debug`.\n- **CPP_EXTENSION (string)**: File extension (without dot) to consider as C++\n  files, as some may use `.cpp` and some `.cc`. Defaults to `cpp`.\n- **CC (path)**: Default C compiler to use. If this variable is set and the\n  compiler does not exist in PATH, it autodetects between the following\n  compilers (in this order): `clang`, `gcc`, `cc`.\n- **CPP (path)**: Same as `CC` but for C++. Autodetects between `clang++`, `g++`,\n  and `c++`.\n- **FORCE_CC (bool)**: If this variable is set, refuses to try compiling with a\n  different compiler than the default set with `CC`. Does nothing without `CC`\n  being set.\n- **FORCE_CPP (bool)**: Same as `FORCE_CC` but for C++.\n- **CFLAGS (list)**: Default C compiler flags. Defaults to `-Wall -Wextra`.\n- **C_DEBUG_FLAGS (list)**: Additional C compiler flags for debug build mode.\n  Defaults to `-Og -g`.\n- **C_RELEASE_FLAGS (list)**: Additional C compiler flags for release build mode.\n  Defaults to `-O2`.\n- **CPPFLAGS (list)**: Same as `CFLAGS` but for C++. Same defaults.\n- **CPP_DEBUG_FLAGS (list)**: Same as `C_DEBUG_FLAGS` but for C++. Same defaults.\n- **CPP_RELEASE_FLAGS (list)**: Same as `C_RELEASE_FLAGS` but for C++. Same\n  defaults.\n- **LD_FLAGS (list)**: Flags to pass when linking. Defaults to none (unset).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgboncoffee%2Fc-infrastructure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgboncoffee%2Fc-infrastructure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgboncoffee%2Fc-infrastructure/lists"}