#!/bin/sh set -eu export LANG=POSIX.UTF-8 varlist() { printf '%s = \\\n' "$1" sort | sed 's|^\(.*\)$|\t\1 \\|' printf '\n' } cfiles() { find src/*.c -not -name 'main.c' } langs() { awk '/^LANGUAGES = / { for (i = 3; i < NF + 1; i++) { print $(i) } exit }' Makefile } printf 'catalogs.en.msg = %s\n' "$(find src/ -name '*.msg')" langs | sed 's|^\(.*\)$|$(catalogs.\1.msg)|' | varlist 'catalogs.msg' find tests/fuzz/*.c | varlist 'fuzz.c' find tests/fuzz/*.c | awk -F. '{ printf "%s.a: %s.o\n", $1, $1 }' find tests/fuzz/*.c | awk -F. '{ printf "%s.bin-check: %s.bin\n", $1, $1 }' printf '\n\n' cfiles | varlist 'sources.c' cfiles | sed 's|^src/|tests/|' | varlist 'tests.c' ldev deps $(cfiles | sort)