42 lines
980 B
Makefile
42 lines
980 B
Makefile
SHELL := /bin/sh
|
|
|
|
PROJECT ?= $(shell grep "^name =" Cargo.toml | cut -d '"' -f 2)
|
|
VERSION ?= $(shell grep "^version =" Cargo.toml | cut -d '"' -f 2)
|
|
|
|
-include Makefile.config
|
|
|
|
INSTALL ?= install
|
|
INSTALL_PROGRAM ?= $(INSTALL) -m 755
|
|
INSTALL_DATA ?= $(INSTALL) -m 644
|
|
|
|
.PHONY: build format rpm install uninstall
|
|
|
|
build:
|
|
cargo build --release
|
|
target/release/$(PROJECT) --doc > DOCUMENTATION.md
|
|
|
|
format:
|
|
cargo fmt --all
|
|
|
|
rpm:
|
|
rm -f $(HOME)/rpmbuild/SOURCES/$(PROJECT)-$(VERSION).tar.gz
|
|
tar -czf $(HOME)/rpmbuild/SOURCES/$(PROJECT)-$(VERSION).tar.gz \
|
|
--transform "s|^|$(PROJECT)-$(VERSION)/|" \
|
|
data \
|
|
src \
|
|
Cargo.toml \
|
|
Cargo.lock \
|
|
configure \
|
|
Makefile \
|
|
README.md \
|
|
LICENSE
|
|
|
|
cp $(PROJECT).spec $(HOME)/rpmbuild/SPECS/$(PROJECT).spec
|
|
rpmbuild -ba $(HOME)/rpmbuild/SPECS/$(PROJECT).spec
|
|
|
|
install:
|
|
$(INSTALL) -d $(DESTDIR)$(bindir)
|
|
$(INSTALL_PROGRAM) target/release/$(PROJECT) $(DESTDIR)$(bindir)/$(PROJECT)
|
|
|
|
uninstall:
|
|
rm -f $(DESTDIR)$(bindir)/$(PROJECT)
|