{"id":19771923,"url":"https://github.com/vezel-dev/kruco","last_synced_at":"2026-01-12T06:42:14.339Z","repository":{"id":247638847,"uuid":"819918787","full_name":"vezel-dev/kruco","owner":"vezel-dev","description":"A convenient makefile that builds GCC cross-toolchains for many different platforms.","archived":false,"fork":false,"pushed_at":"2024-09-23T09:35:15.000Z","size":44,"stargazers_count":1,"open_issues_count":8,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-30T05:42:01.521Z","etag":null,"topics":["binutils","cross","gcc","glibc","linux","make","musl","newlib","toolchain"],"latest_commit_sha":null,"homepage":"","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"0bsd","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vezel-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-0BSD","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"vezel-dev","open_collective":"vezel"}},"created_at":"2024-06-25T12:44:17.000Z","updated_at":"2024-09-23T09:35:19.000Z","dependencies_parsed_at":"2024-10-20T19:47:47.597Z","dependency_job_id":null,"html_url":"https://github.com/vezel-dev/kruco","commit_stats":{"total_commits":18,"total_committers":1,"mean_commits":18.0,"dds":0.0,"last_synced_commit":"a90a8bb0d7771a4cd8beec4d8165f2bd42bd025c"},"previous_names":["vezel-dev/kruco"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vezel-dev%2Fkruco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vezel-dev%2Fkruco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vezel-dev%2Fkruco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vezel-dev%2Fkruco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vezel-dev","download_url":"https://codeload.github.com/vezel-dev/kruco/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240501242,"owners_count":19811574,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["binutils","cross","gcc","glibc","linux","make","musl","newlib","toolchain"],"created_at":"2024-11-12T05:04:40.598Z","updated_at":"2025-02-28T04:44:03.660Z","avatar_url":"https://github.com/vezel-dev.png","language":"Makefile","funding_links":["https://github.com/sponsors/vezel-dev","https://opencollective.com/vezel"],"categories":[],"sub_categories":[],"readme":"# Kruco\n\nThis is a makefile that simplifies the creation of [GCC](https://gcc.gnu.org)\ncross-toolchains for a wide variety of target platforms.\n\nThe toolchains produced by this makefile are *probably* not appropriate for\nbuilding production software. The point of this makefile is just to be able to\ntype a single command and have a toolchain that is useful for development and\ntesting purposes in less than 15 minutes.\n\n## Caveats\n\n* This makefile is only tested regularly on modern Linux machines. It *might*\n  work in other Unix-like environments, but we make no promises.\n* The versions for Linux kernel headers, [glibc](https://sourceware.org/glibc),\n  and [musl](https://musl.libc.org) are generally pinned to whatever the latest\n  release of [Zig](https://ziglang.org) supports.\n* You need to install various build prerequisites yourself, including some\n  libraries. The build is done in this way to reduce the size of the generated\n  toolchains.\n\n## Usage\n\nIn a nutshell, usage is as follows:\n\n1. Clone this repository.\n2. Run `make list` to get a list of supported targets.\n3. Run `make \u003ctarget\u003e PREFIX=...` to build and install a toolchain.\n4. Run `make clean` to remove leftover build artifacts.\n\nFor example, `make arm-linux-gnueabi PREFIX=$HOME/cross` will install a\ntoolchain targeting Linux and glibc under `$HOME/cross/arm-linux-gnueabi` with a\nsysroot under `$HOME/cross/arm-linux-gnueabi/sysroot`.\n\nIf you need to use your computer as an expensive space heater and/or you have a\nburning hatred for your CPU and disk drive, you can run `make all` to build a\ntoolchain for every single supported target. That is 400+ toolchains, just to be\nclear. You probably should not do that. But you *can*.\n\n## Configuration\n\nThe following variables affect the makefile:\n\n* `PREFIX`: The location to install the built toolchain in. Note that the\n  toolchain will actually be installed under `$PREFIX/\u003ctarget\u003e`. Defaults to the\n  `out` directory in the root of the repository.\n* `BUILD`: The platform that you are building the toolchain on. This defaults to\n  `x86_64-cross-linux-gnu`. The `cross` vendor component is crucial here, as it\n  forces Autotools to run in cross-compilation mode. You only need to set this\n  if you are building on a different platform, e.g. `aarch64-cross-linux-gnu`.\n* `JOBS`: The maximum number of concurrent jobs that will be used while building\n  each software package. Defaults to the output of `nproc`, i.e. as many jobs as\n  you have CPU cores.\n* `V`: Can be set to any value to get verbose output from the makefile.\n\n## License\n\nThe build system is licensed under the terms found in\n[`LICENSE-0BSD`](LICENSE-0BSD). Each software package that is built has its own\nlicense terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvezel-dev%2Fkruco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvezel-dev%2Fkruco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvezel-dev%2Fkruco/lists"}