# mbcrawfo/GenericMakefile

A generic makefile for use with small/medium C and C++ projects.

Repository: https://github.com/mbcrawfo/GenericMakefile
Canonical: https://ross.abutalabs.com/products/genericmakefile
Language: Makefile
License: MIT
License Family: permissive
Last push: 2020-10-04T04:22:30+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 4542, "days_push": 2159, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1709, forks 312 (observed 2026-08-28T04:05:25.532371+00:00)

## What it is
A generic GNU Makefile template for small and medium C and C++ projects that automatically discovers and compiles source files without manual build rules. It generates dependencies, supports release/debug builds, times compilation, and derives version macros from git tags.

## Use cases
- set up a small C project without writing makefile rules
- automatically compile all sources in a C++ project directory
- generate build dependencies automatically
- build with debug flags for GDB debugging
- embed git tag version numbers into a C/C++ build

## When to choose
- starting a small or medium C/C++ project quickly
- you want zero-maintenance makefiles that auto-detect sources
- you want automatic version macros from git tags

## When to avoid
- you need to mix multiple source languages in one project
- you need to exclude specific files from the build easily
- you rely on accurate per-file compile timing on macOS
- your project needs a full build system like CMake or Bazel

## Facets
- artifact type: cli-tool
- maturity: maintenance
- function: build-tool
- domain: developer-tools
- platform: windows, cli
- tags: makefile, c, cpp, gnu-make, auto-dependency-generation, git-versioning, build-tool, command-line, linux, macos

## Member repositories
- mbcrawfo/GenericMakefile (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:25.532371+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T08:32:29.926005+00:00, confidence not recorded.
  - readme: https://github.com/mbcrawfo/GenericMakefile (fetched 2026-08-28T04:05:25.532371+00:00, sha b61d0d3eddb8)
- Data as of 2026-08-30T08:39:29.467469+00:00.
