38 lines
1.1 KiB
Makefile
38 lines
1.1 KiB
Makefile
|
|
# 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
|