{"id":20019124,"url":"https://github.com/ekgf/make","last_synced_at":"2025-03-02T03:25:59.079Z","repository":{"id":210199482,"uuid":"725977372","full_name":"EKGF/make","owner":"EKGF","description":"Generic GNU Make files, installing and invoking all the various tools and utils for EKG engineers","archived":false,"fork":false,"pushed_at":"2025-02-09T12:05:34.000Z","size":184,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-01T18:45:13.366Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","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/EKGF.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}},"created_at":"2023-12-01T09:17:24.000Z","updated_at":"2025-02-09T12:05:37.000Z","dependencies_parsed_at":"2024-01-23T13:55:30.636Z","dependency_job_id":"1565b82a-aac4-4408-b68c-a12a87b65683","html_url":"https://github.com/EKGF/make","commit_stats":null,"previous_names":["ekgf/make"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKGF%2Fmake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKGF%2Fmake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKGF%2Fmake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKGF%2Fmake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EKGF","download_url":"https://codeload.github.com/EKGF/make/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241453188,"owners_count":19965148,"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":[],"created_at":"2024-11-13T08:26:01.461Z","updated_at":"2025-03-02T03:25:59.064Z","avatar_url":"https://github.com/EKGF.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GNU Make files for EKG engineers\n\nCollection of GNU Make files to make life a bit easier for people working\nwith EKG on Mac OS or Linux (Windows is not fully supported yet, unless you use WSL).\n\nThis repo contains one `.mk` file per topic to be included\nby other `.mk` files or by top level `Makefile` files (such as [/Makefile](../Makefile))\nin your own repo.\n\nThese so-called \"make files\" are used by the infamous\n[GNU Make utility](https://www.gnu.org/software/make/manual/html_node/index.html)\nwhich is an ancient but still beneficial tool to get tasks executed in the\nright order.\n\n## Supported tools\n\n- [AWS CLI](./aws-cli.mk)\n- [AWS Cloudfront](./aws-cloudfront.mk)\n- [AWS Cloudwatch](./aws-cloudwatch.mk)\n- [AWS IAM](./aws-iam.mk)\n- [AWS Sagemaker](./aws-sagemaker.mk)\n- [Azure](./azure.mk)\n- [Azure CLI](./azure-cli.mk)\n- [HomeBrew](./brew.mk)\n- [Cargo](./cargo.mk)\n- [LLVM / Clang](./llvm.mk)\n- [Curl](./curl.mk)\n- [Docker](./docker.mk)\n- [Git](./git.mk)\n- [JQ](./jq.mk)\n- [GNU Make](./make.mk)\n- [Next.js](./nextjs.mk)\n- [Node.js](./nodejs.mk)\n- [OpenNext](./open-next.mk)\n- [OxiGraph](./oxigraph.mk)\n- [pip](./pip.mk)\n- [pipx](./pipx.mk)\n- [pnpm](./pnpm.mk)\n- [RDFox](./rdfox.mk)\n- [Rust](./rust-target.mk)\n- [Rustup](./rustup.mk)\n- [Sops](./sops.mk)\n- [Terraform](./terraform.mk)\n- [Terragrunt](./terragrunt.mk)\n- [TFlint](./tflint.mk)\n- [EKGF Use Case](./use-case.mk)\n- [zip](./zip.mk)\n\n## How to use it\n\nOn Mac OS, use `gmake` instead of `make`:\n\n```shell\ngmake \u003csome target\u003e\n```\n\nor, on Windows or Linux:\n\n```shell\nmake \u003csome target\u003e\n```\n\nWhere `\u003csome target\u003e` can be something like:\n\n- `help`\n- `all`\n- `deploy`\n- `build`\n- `test`\n\n## How to install it\n\n### On Mac OS:\n\nFirst make sure that you have `brew` (or \"HomeBrew\") installed (test this by\nexecuting `brew` on the command line).\n\nThen use `brew install make` to install GNU Make.\n\n### On Windows:\n\nIf you have [\"Chocolatey\"](https://chocolatey.org/install) installed\nyou can simply use:\n\n```\nchoco upgrade chocolatey\nchoco install make\n```\n\n## How to contribute\n\nPlease see our [CONTRIBUTING.md](CONTRIBUTING.md) file for guidelines on how to contribute to this repository, including setting up GPG signing and using conventional commits.\n\nArticles:\n\n- https://leangaurav.medium.com/how-to-setup-install-gnu-make-on-windows-324480f1da69\n\n## Rationale\n\nWhy use ancient technology like GNU Make? Rather than using something more modern like Chef, Puppet, or Ansible?\n\n- Even though GNU Make is ancient, it is still very useful and widely used, especially in the C,C++ and Linux world.\n- GNU Make is relative simple and easy to use and very fast.\n- GNU Make is available on all platforms, including Windows, Linux and Mac OS.\n- We have experience doing the same with other technologies such as Chef or giant Bash scripts,\n  but that turned out to be more complex and less maintainable than using GNU Make.\n  And requires more specific knowledge in the team, we want every developer to be able to use and improve this,\n  not just your local Chef expert.\n\n## Principles\n\n- Reuse existing package managers as much as possible such as HomeBrew, Chocolatey, apt-get, yum, etc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekgf%2Fmake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fekgf%2Fmake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekgf%2Fmake/lists"}