From 056d2369dc6353bf3c71220962d42b4c23273abb Mon Sep 17 00:00:00 2001 From: Ralph Ronnquist Date: Mon, 17 Feb 2025 13:56:37 +1100 Subject: [PATCH] Cleanup to support a debian style "install" target. --- Makefile | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 89b2cc4..9428b3d 100644 --- a/Makefile +++ b/Makefile @@ -5,24 +5,45 @@ USERCOMMAND = nfblockerctl .PHONY: install clean -default: bin/nfblocker nfblocker.5 nfblocker.8 +default: nfblocker nfblocker.5 nfblocker.8 README.html: README.adoc asciidoctor -bhtml $< -nfblocker.5 nfblocker.8: %: %.adoc +nfblocker.5 nfblocker.8 nfblockerctl.8: %: %.adoc asciidoctor -bmanpage $< -bin/nfblocker: $(wildcard src/*.c) +nfblocker: $(wildcard src/*.c) # requires libnetfilter-queue-dev gcc -g -Wall -o $@ $^ -lnetfilter_queue # Installing the control script in $(INSTALLDIR) -$(INSTALLDIR)/$(USERCOMMAND): bin/nfblocker.sh $(INSTALLDIR) - ln -sTf $$(readlink -f $<) $@ +SBINFILES = nfblocker +BINFILES = nfblockerctl +ETCFILES = blocked/ acl/ +MAN5FILES = nfblocker.5 +MAN8FILES = nfblocker.8 nfblockerctl.8 -install: bin/nfblocker $(INSTALLDIR)/$(USERCOMMAND) +SBINDIR = $(DESTDIR)/usr/sbin +BINDIR = $(DESTDIR)/usr/bin +ETCDIR = $(DESTDIR)/etc/nfblocker +MAN5DIR = $(DESTDIR)/usr/share/man/man5 +MAN8DIR = $(DESTDIR)/usr/share/man/man8 + +INSTALLTARGETS = $(addprefix $(SBINDIR)/,$(SBINFILES)) +INSTALLTARGETS += $(addprefix $(BINDIR)/,$(BINFILES)) +INSTALLTARGETS += $(addprefix $(ETCDIR)/,$(ETCFILES)) +INSTALLTARGETS += $(addprefix $(MAN5DIR)/,$(MAN5FILES)) +INSTALLTARGETS += $(addprefix $(MAN8DIR)/,$(MAN8FILES)) + +$(ETCDIR)/%/: + mkdir -p $@ + +$(SBINDIR)/% $(BINDIR)/% $(ETCDIR)/% $(MAN5DIR)/% $(MAN8DIR)/%: % + install -D $< $@ + +install: $(INSTALLTARGETS) clean: - rm -f bin/nfblocker + rm -f nfblocker -- 2.47.2