You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
phd/Makefile

49 lines
1008 B
Makefile

# Simple, stupid makefile to make phd
TARGET = phd
RELEASE = target/release/$(TARGET)
DEBUG = target/debug/$(TARGET)
SOURCES = $(wildcard src/*.rs src/**/*.rs)
PREFIX = $(DESTDIR)/usr/local
BINDIR = $(PREFIX)/bin
.PHONY: release debug install uninstall clean
# Default target. Build release binary.
release: $(RELEASE)
# Binary with debugging info.
debug: $(DEBUG)
# Install locally.
install: $(RELEASE)
install $(RELEASE) $(BINDIR)/$(TARGET)
# Uninstall locally.
uninstall: $(RELEASE)
-rm $(BINDIR)/$(TARGET)
# Remove build directory.
clean:
-rm -rf target
# Build the release version
$(RELEASE): $(SOURCES)
cargo build --release
# Build the debug version
$(DEBUG): $(SOURCES)
cargo build
# Build manual
.PHONY: manual
manual: doc/phd.1
doc/phd.1: doc/phd.1.md scdoc
scdoc < doc/phd.1.md > doc/phd.1
# Must have scdoc installed to build manual.
scdoc:
@which scdoc || (echo "scdoc(1) not found."; \
echo "please install to build the manual: https://repology.org/project/scdoc"; exit 1)