kato/Makefile
2026-09-19 02:16:27 +03:00

39 lines
1 KiB
Makefile

RUSTC ?= rustc
RUSTFLAGS ?= -C opt-level=2
INSTALL ?= install
INSTALL_PROGRAM ?= ${INSTALL} -m 755
INSTALL_MAN ?= ${INSTALL} -m 644
PREFIX ?= /usr/local
EXEC_PREFIX ?= ${PREFIX}
BINDIR ?= ${EXEC_PREFIX}/bin
DATAROOTDIR ?= ${PREFIX}/share
MANDIR ?= ${DATAROOTDIR}/man
MAN1DIR ?= ${MANDIR}/man1
SRC != find src -type f
SRC_lexopt != find vendor/lexopt/src -type f
all: kato
kato: ${SRC} liblexopt.rlib ident.text
env OUT_DIR=`readlink -f .` ${RUSTC} --crate-name kato --edition=2024 ${RUSTFLAGS} src/main.rs --extern lexopt=liblexopt.rlib
liblexopt.rlib: ${SRC_lexopt}
${RUSTC} --crate-name lexopt --crate-type rlib --edition=2018 ${RUSTFLAGS} vendor/lexopt/src/lib.rs
ident.text: scripts/gen-ident.sh git-keywords-expansion.text
scripts/gen-ident.sh git-keywords-expansion.text kato ident.text
install: kato kato.1
${INSTALL} -d '${DESTDIR}${BINDIR}'
${INSTALL_PROGRAM} kato '${DESTDIR}${BINDIR}'
${INSTALL} -d '${DESTDIR}${MAN1DIR}'
${INSTALL_MAN} kato.1 '${DESTDIR}${MAN1DIR}'
clean:
rm -f kato liblexopt.rlib ident.text
.PHONY: all install clean