{"id":22271202,"url":"https://github.com/gunh0/makefile-templates","last_synced_at":"2026-05-09T17:38:14.256Z","repository":{"id":177664765,"uuid":"628201546","full_name":"gunh0/makefile-templates","owner":"gunh0","description":"⚙️ Make is a build tool used in Unix-based systems that allows developers to compile programs by defining dependencies and commands in a standardized syntax using a Makefile.","archived":false,"fork":false,"pushed_at":"2023-12-16T06:52:05.000Z","size":3016,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T14:18:27.884Z","etag":null,"topics":["c","cpp","java","makefile"],"latest_commit_sha":null,"homepage":"","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/gunh0.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}},"created_at":"2023-04-15T07:59:30.000Z","updated_at":"2023-12-16T06:54:42.000Z","dependencies_parsed_at":"2023-12-16T07:39:46.048Z","dependency_job_id":null,"html_url":"https://github.com/gunh0/makefile-templates","commit_stats":null,"previous_names":["gunh0/makefile-templates"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gunh0%2Fmakefile-templates","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gunh0%2Fmakefile-templates/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gunh0%2Fmakefile-templates/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gunh0%2Fmakefile-templates/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gunh0","download_url":"https://codeload.github.com/gunh0/makefile-templates/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245495417,"owners_count":20624805,"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":["c","cpp","java","makefile"],"created_at":"2024-12-03T12:11:04.894Z","updated_at":"2026-05-09T17:38:09.226Z","avatar_url":"https://github.com/gunh0.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Make\n\nMake is a build tool primarily used in Unix-based operating systems for software development. It allows you to compile a program by defining the dependencies between multiple files and the commands required for each file, and has a standardized syntax for describing the process of creating a final program. The file that describes this structure, typically called a Makefile, is interpreted by the make command to perform the program build.\n\n\u003cbr/\u003e\n\n## Makefile\n\nBefore running make, you need to create a list of targets and the compile and link rules for your project. This is typically done using a Makefile, which contains rules that define how files should be built.\n\n\u003cbr/\u003e\n\n## Rules\n\n```\nTARGET ...: PREREQUISITES ...\n\tRECIPE\n\t...\n```\n\nAnother format is\n\n```\nTARGETS: PREREQUISITES ; RECIPE\n\tRECIPE\n\t...\n\n```\n\n**TARGET**\n\n-   Defines the target rule for executable files, object files, libraries, etc. It is created as a result of executing the recipe. Multiple command lines can be used in the recipe, allowing for complex functionality such as creating files or performing installations.\n\n**PREREQUISITES**\n\n-   Specifies the dependencies (relationships) when creating the TARGET. If any of the files listed in this section have been modified, the TARGET will be recreated.\n\n**RECIPE**\n\n-   The executable file used to create the TARGET. The TARGET is generated according to this execution rule. This usually involves using cc or Linux commands. Multiple command lines are possible in the recipe. It's important to note that the beginning of the recipe should be indented with a keyboard Tab ↹ rather than spaces.\n\n```\n     foo.o : foo.c defs.h       # module for twiddling the frobs\n             cc -c -g foo.c\n```\n\nIf foo.c or defs.h is modified, the `cc -c -g foo.c` command will be executed to create foo.o.\n\n\u003cbr/\u003e\n\n### Reference\n\n-   https://www.gnu.org/software/make/manual/make.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgunh0%2Fmakefile-templates","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgunh0%2Fmakefile-templates","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgunh0%2Fmakefile-templates/lists"}