{"id":21806811,"url":"https://github.com/roguh/makeanywhere","last_synced_at":"2026-04-17T15:04:15.168Z","repository":{"id":89927955,"uuid":"426685331","full_name":"roguh/makeanywhere","owner":"roguh","description":"Run make from any subdirectory.","archived":false,"fork":false,"pushed_at":"2023-05-17T04:32:16.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-26T04:42:00.595Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/roguh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-11-10T15:57:35.000Z","updated_at":"2024-09-30T17:31:02.000Z","dependencies_parsed_at":"2024-08-11T05:16:36.253Z","dependency_job_id":null,"html_url":"https://github.com/roguh/makeanywhere","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roguh%2Fmakeanywhere","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roguh%2Fmakeanywhere/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roguh%2Fmakeanywhere/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roguh%2Fmakeanywhere/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roguh","download_url":"https://codeload.github.com/roguh/makeanywhere/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244759961,"owners_count":20505716,"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-27T12:30:02.318Z","updated_at":"2026-04-17T15:04:15.135Z","avatar_url":"https://github.com/roguh.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# makeanywhere: Run make from any subdirectory of a directory with a Makefile.\n\n## Usage\n\n```\n$ makeanywhere --help\nUSAGE: makeanywhere [-h|--help|make arguments]                                            \n  Run make from any subdirectory of a directory with a Makefile.  \n```\n\nTo run a make command from any directory that has a parent directory with a Makefile:\n\n```\nmakeanywhere \u003cMAKE ARGUMENTS\u003e\n```\n\n### Examples\n\n```\n$ ls\nMakefile src\n$ cd src\n$ makeanywhere test\n\u003cRuns tests while within src/\u003e\n```\n\nIf `vim` is setup to change directories to that of the current file,\nyou can use this script to run `make` while within any directory of your\n`make` based project.\n\n```\n$ vim src/main.c\n!makeanywhere test\n\u003cRuns tests in vim while within src/\u003e\n!makeanywhere format-fix FILES=%:p\n\u003cFormats this specific file\u003e\n```\n\n## Installation\n\n1. Download [raw.githubusercontent.com/roguh/gp/main/gp](https://raw.githubusercontent.com/roguh/gp/main/gp).\n2. Make executable and move to your preferred binary location.\n\n```\nchmod +x gp\nsudo cp gp /usr/bin/gp\n```\n\n## Shell Integration\n\n### Bash and ZSH\n\nUse `alias ma=makeanywhere` for a convenient alias.\n\n### ZSH\n\nTo support `make` autocompletions, try using the zsh-completions plugin\nand using `compdef makeanywhere make`.\nSee [manual](https://github.com/zsh-users/zsh-completions/blob/master/zsh-completions-howto.org#copying-completions-from-another-command)\n\n### Fish Shell\n\nCopy `makeanywhere.fish` to `~/.config/fish/functions/`.\n\n## Vim Integration\n\nSimply make sure this script is in your `$PATH`.\n\nUsage: `!makeanywhere \u003cMAKE ARGUMENTS\u003e`\n\nLook at `./example.vimrc` for how to setup aliases in Vim.\nThe contents of `~/.bash_vim` are in `~/example.bash_vim`.\n\n## For developers\n\n### Cloning and Installation\n\n```\ngit clone https://github.com/roguh/gp.git\ncd gp\n```\n\nThen one of:\n\n```\nmake install\nmake install-to-user\nmake install-symlink-to-user\n```\n\n## Integration Testing\n\nIf the test script fails, the tests have failed.\nAlso read the output to determine if `makeanywhere` is behaving correctly.\n\nNote the `test-integration-all-shells.sh` script runs the `test-integration.sh` script using the test shell itself.\n\n### Linux: Running tests for many shells at once\n\n```\nmake test-on-linux\n```\n\n### MacOS: Running tests for many shells at once\n\n```\nmake test-on-macos\n```\n\n### Running tests for stricter POSIX shells\n\n```\nmake test-on-strict-posix-shells\n```\n\n### Running tests one shell at a time\n\n```\n./tests/test-integration.sh dash\n```\n\n## Test results\n\n### Linux\n\nTested using GNU coreutils 9.0 in these shells:\n\n- dash 0.5\n- bash 5.1\n- bash 5.1 in bash 3.1 compatibility mode BASH_COMPAT=31\n- zsh 5.8\n- yash 2.52\n- ksh version 2020.0.0\n\n### MacOS\n\nNot tested on MacOS, yet. It should work fine.\n\n## Linting and Compatibility Check\n\nUse shellcheck to check shellscripts.\n\n```\nmake check\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froguh%2Fmakeanywhere","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froguh%2Fmakeanywhere","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froguh%2Fmakeanywhere/lists"}