39 lines
1 KiB
Makefile
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
|