passwdgen/Makefile

38 lines
1.1 KiB
Makefile
Raw Permalink Normal View History

# Makefile for passwdgen
# Supports: build, test, install, uninstall, clean
# Vars: PREFIX=/usr/local make install
# DESTDIR=/tmp/staging make install
PREFIX ?= /usr/local
BUILD_DIR ?= build
JOBS ?= $(shell sysctl -n hw.ncpu 2>/dev/null || echo 4)
.PHONY: all build test clean install uninstall
all: build
build:
cmake -S . -B $(BUILD_DIR) -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
cmake --build $(BUILD_DIR) -j$(JOBS)
test: build
ctest --test-dir $(BUILD_DIR) -V
clean:
rm -rf $(BUILD_DIR)
install: build
mkdir -p $(DESTDIR)$(PREFIX)/bin
cp $(BUILD_DIR)/passwdgen $(DESTDIR)$(PREFIX)/bin/passwdgen
chmod 755 $(DESTDIR)$(PREFIX)/bin/passwdgen
mkdir -p $(DESTDIR)$(PREFIX)/lib
cp $(BUILD_DIR)/libpasswdgen_lib.a $(DESTDIR)$(PREFIX)/lib/libpasswdgen_lib.a
chmod 644 $(DESTDIR)$(PREFIX)/lib/libpasswdgen_lib.a
mkdir -p $(DESTDIR)$(PREFIX)/include
cp include/passwdgen.h $(DESTDIR)$(PREFIX)/include/passwdgen.h
chmod 644 $(DESTDIR)$(PREFIX)/include/passwdgen.h
uninstall:
rm -f $(DESTDIR)$(PREFIX)/bin/passwdgen
rm -f $(DESTDIR)$(PREFIX)/lib/libpasswdgen_lib.a
rm -f $(DESTDIR)$(PREFIX)/include/passwdgen.h