{"id":19444611,"url":"https://github.com/3job/gmake2","last_synced_at":"2025-04-25T01:30:47.362Z","repository":{"id":65275517,"uuid":"589143705","full_name":"3JoB/gmake2","owner":"3JoB","description":"Build a GMakefile at lightning speed!","archived":false,"fork":false,"pushed_at":"2023-08-10T09:20:57.000Z","size":1196,"stargazers_count":6,"open_issues_count":8,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-08-20T22:09:22.464Z","etag":null,"topics":["buildtool","buildtools","cli","command-line","command-line-tool","gmake","gmake2","gmakefile","go","golang","make","makefile","tools"],"latest_commit_sha":null,"homepage":"https://lcag.org/gmake2.choco","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/3JoB.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":"SECURITY.md","support":null}},"created_at":"2023-01-15T07:50:25.000Z","updated_at":"2023-08-20T18:00:04.000Z","dependencies_parsed_at":"2023-02-12T09:20:30.545Z","dependency_job_id":null,"html_url":"https://github.com/3JoB/gmake2","commit_stats":null,"previous_names":[],"tags_count":6,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3JoB%2Fgmake2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3JoB%2Fgmake2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3JoB%2Fgmake2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3JoB%2Fgmake2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3JoB","download_url":"https://codeload.github.com/3JoB/gmake2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223976303,"owners_count":17234751,"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":["buildtool","buildtools","cli","command-line","command-line-tool","gmake","gmake2","gmakefile","go","golang","make","makefile","tools"],"created_at":"2024-11-10T16:07:43.011Z","updated_at":"2024-11-10T16:07:43.477Z","avatar_url":"https://github.com/3JoB.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GMake2\n\n\u003cstrong\u003eThis project is currently being reconstructed, please use the Release version instead of building it directly from the repo.\u003c/strong\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cp align=\"center\"\u003e\u003cimg width=\"120\" src=\"wiki/gmake2.png\"\u003e\u003c/p\u003e\n    \u003cp align=\"center\"\u003eThis image is from \u003ca href=\"https://quasilyte.dev/gopherkon/\"\u003eGopher Konstructor\u003c/a\u003e\u003c/p\u003e\n    \u003cp align=\"center\"\u003e\u003cstrong\u003eBuild a GMakefile at lightning speed!\u003c/strong\u003e\u003c/p\u003e\n    \u003cp align=\"center\"\u003e\n        \u003ca href=\"https://github.com/3JoB/gmake2/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/3JoB/gmake2/codeql.yml?label=CodeQL%20Scanner\u0026style=flat-square\" alt=\"GitHub Workflow Status\"\u003e\u003c/a\u003e\n        \u003ca href=\"https://app.fossa.com/projects/git%2Bgithub.com%2F3JoB%2Fgmake2?ref=badge_smail\"\u003e\u003cimg src=\"https://app.fossa.com/api/projects/git%2Bgithub.com%2F3JoB%2Fgmake2.svg?type=smail\" alt=\"FOSSA Status\"\u003e\u003c/a\u003e\n        \u003ca href=\"https://github.com/3JoB/gmake2/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/3JoB/gmake2?style=flat-square\" alt=\"MPL-2.0\"\u003e\u003c/a\u003e\n        \u003ca href=\"#\"\u003e\u003cimg src=\"https://img.shields.io/github/go-mod/go-version/3JoB/gmake2?label=Go%20Version\u0026style=flat-square\" alt=\"Go Version\"\u003e\u003c/a\u003e\n        \u003ca href=\"https://github.com/3JoB/gmake2/release\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/3JoB/gmake2?label=Release%20Version\u0026style=flat-square\" alt=\"GitHub release (latest by date)\"\u003e\u003c/a\u003e\n    \u003c/p\u003e\n    \u003cp align=\"center\"\u003e\n        \u003ca href=\"https://github.com/3JoB/gmake2/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/3JoB/gmake2?label=GMake2%20Issues\u0026style=flat-square\" alt=\"GitHub Issues\"\u003e\u003c/a\u003e\n        \u003ca href=\"https://github.com/3JoB/gmake2/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/3JoB/gmake2?label=Stars\u0026style=flat-square\" alt=\"GitHub Repo stars\"\u003e\u003c/a\u003e\n        \u003ca href=\"#\"\u003e\u003cimg src=\"https://img.shields.io/github/downloads/3JoB/gmake2/latest/total?label=Downloads%40Latest\u0026style=flat-square\" alt=\"GitHub release (latest by date)\"\u003e\u003c/a\u003e\n        \u003ca href=\"#\"\u003e\u003cimg src=\"https://img.shields.io/github/repo-size/3JoB/gmake2?style=flat-square\" alt=\"GitHub repo size\"\u003e\u003c/a\u003e\n        \u003ca href=\"#\"\u003e\u003cimg src=\"https://img.shields.io/github/commit-activity/m/3JoB/gmake2?style=flat-square\" alt=\"GitHub commit activity\"\u003e\u003c/a\u003e\n    \u003c/p\u003e\n\u003c/p\u003e\n\n[GMake2 Development Roadmap](https://github.com/3JoB/gmake2/issues/5)\n\n\nThis project is the follow-up maintenance of [go-gmake](https://github.com/fdxxw/gmake).\n\n\n# Menu\n\n- [GMake2](#gmake2)\n- [Menu](#menu)\n- [Installing](#installing)\n  - [Install from software source](#install-from-software-source)\n  - [Install from Github Releases](#install-from-github-releases)\n  - [Install from source code](#install-from-source-code)\n- [Getting Started](#getting-started)\n- [Features](#features)\n  - [Keywords](#keywords)\n  - [Reserved Keyword](#reserved-keyword)\n  - [Variables](#variables)\n- [Examples](#examples)\n- [Other information](#other-information)\n- [License](#license)\n\n# Installing\n\n## Install from software source\nThis method is limited to systems using apt and dpkg for package management.\n\n\nPlease execute the following commands in the order they were written.\n```sh\necho 'deb https://deb.lcag.org stable main' | sudo tee /etc/apt/sources.list.d/malonan.list\n\nwget -qO - https://deb.lcag.org/public.key | sudo apt-key --keyring /etc/apt/trusted.gpg.d/malonan.gpg add -\n\nsudo apt update \u0026\u0026 sudo apt install gmake2\n```\n\nUpgrade GMake2\n```sh\napt update \u0026\u0026 apt upgrade\n```\n\n\n## Install from Github Releases\nDownload the latest version from github.\n\n\n[Release](https://github.com/3JoB/gmake2/releases)\n\n## Install from source code\nYou can build gmake2 directly using Go build, but the version subcommand will not work properly.\n\n```sh\ngit clone https://github.com/3JoB/gmake2 \u0026\u0026 cd gmake2\n\n# gmake2 installed\ngmake2\n\n# gmake2 is not installed\ngo build -ldflags \"-s -w -X 'main.SoftBuildTime=owner' -X 'main.SoftCommit=owner' -X 'main.SoftVersion=owner' -X 'main.SoftVersionCode=owner'\"\n```\n\n\n\n# Getting Started\n\nWrite the GMakefile.yml file in the current directory, the content is as follows\n\n```yml\nvars:\n  msg: Hello World\n\nall: |\n  @echo {{.msg}}\n\nmg: |\n  @echo What's up???\n```\n\nThen run `gmake2` on the current command line console, you can see the console print\n\n```\nHello World\n```\n\nOr execute `gmake2 mg` to execute the specified command, and the console will print\n```\nWhat's up???\n```\n\u003cfont color=#e40d0d size=5\u003egmake2 automatically selects the all command when no command is specified.\u003c/font\u003e\n\u003cbr\u003e\n\n# Features\n\n## Keywords\n\nKeywords moved to [Wiki](wiki/Keyword.md)\n\n## Reserved Keyword\nView in [Wiki](wiki/Reserved_Keyword.md)\n\n\n## Variables\nVariables moved to [Wiki](wiki/variables.md)\n\n\n# Examples\n\nGMakefile.yml\n\n```yml\nvars:\n  msg: Hello World\nall: |\n  @echo {{.msg}}\n  # Modify the msg variable\n  @var msg Hello\n  @echo {{.msg}}\n  # Create a file\n  @touch from.txt\n  @mv from.txt to.txt\n  @cp to.txt from.txt\n  @rm from.txt\n  @rm to.txt\n  @mkdir from\n  @mv from to\n  @cp to from\n  @rm from\n  @rm to\n  @env GOOS linux\n  go build\n```\n\n```sh\ngmake2\n```\n\n# Other information\n- Due to unsigned and some high-risk operations, GMake2 may be blocked by some anti-virus software. If you have installed anti-virus software on your device, please manually set GMake2 to the whitelist.\n- The binary released by GMake2 is compiled directly from the git library, the specific steps: \n  - 1_ Write the update \n  - 2_ Push to github \n  - 3_ Run the gmake2 command to compile the binary\n- GMake2 only has the following binary distribution channels, and cannot guarantee that other channels are safe: \n  - [DEB Server](https://deb.lcag.org)\n  - [Chocolatey](https://lcag.org/gmake2.choco) \n  - [Github Release](https://lcag.org/gmake2.releases). \n\n# License\nThis software is distributed under MPL-2.0 license. :)\n\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2F3JoB%2Fgmake2.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2F3JoB%2Fgmake2?ref=badge_large)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3job%2Fgmake2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3job%2Fgmake2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3job%2Fgmake2/lists"}