aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorTobias Kortkamp <tobik@FreeBSD.org>2019-06-22 22:31:40 +0200
committerTobias Kortkamp <tobik@FreeBSD.org>2019-06-22 22:31:40 +0200
commit8dbe8a8934ab37d2e3ce3caa0affe3b83e78dace (patch)
treeee0dd8c20aeffc174139b2a94cc4c6a36b652f54 /Makefile
parent79bba4bf2cd1cbed4a32f8c6a09e99ff7faff3db (diff)
downloadimv-8dbe8a8934ab37d2e3ce3caa0affe3b83e78dace.tar.gz
Allow overriding install commands
This will help with packaging things to meet current policies on FreeBSD without having to patch things or manually strip binaries, etc. -D in FreeBSD's install(1) does not work like GNU install's -D and is something else entirely. Manually create the target directories with mkdir first before installing files. Signed-off-by: Tobias Kortkamp <tobik@FreeBSD.org>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile18
1 files changed, 13 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 67221b6..d86245d 100644
--- a/Makefile
+++ b/Makefile
@@ -8,6 +8,10 @@ MANPREFIX ?= $(PREFIX)/share/man
DATAPREFIX ?= $(PREFIX)/share
CONFIGPREFIX ?= /etc
+INSTALL_DATA ?= install -m 0644
+INSTALL_MAN ?= install -m 0644
+INSTALL_PROGRAM ?= install -m 0755
+
override CFLAGS += -std=c99 -W -Wall -Wpedantic -Wextra
override CPPFLAGS += $(shell sdl2-config --cflags) -D_XOPEN_SOURCE=700
override LIBS := $(shell sdl2-config --libs)
@@ -106,11 +110,15 @@ doc/%: doc/%.txt
a2x --no-xmllint --doctype manpage --format manpage $<
install: $(TARGET) doc
- install -D -m 0755 $(TARGET) $(DESTDIR)$(BINPREFIX)/imv
- install -D -m 0644 doc/imv.1 $(DESTDIR)$(MANPREFIX)/man1/imv.1
- install -D -m 0644 doc/imv.5 $(DESTDIR)$(MANPREFIX)/man5/imv.5
- install -D -m 0644 files/imv.desktop $(DESTDIR)$(DATAPREFIX)/applications/imv.desktop
- install -D -m 0644 files/imv_config $(DESTDIR)$(CONFIGPREFIX)/imv_config
+ mkdir -p $(DESTDIR)$(BINPREFIX)
+ $(INSTALL_PROGRAM) $(TARGET) $(DESTDIR)$(BINPREFIX)/imv
+ mkdir -p $(DESTDIR)$(MANPREFIX)
+ $(INSTALL_MAN) doc/imv.1 $(DESTDIR)$(MANPREFIX)/man1/imv.1
+ $(INSTALL_MAN) doc/imv.5 $(DESTDIR)$(MANPREFIX)/man5/imv.5
+ mkdir -p $(DESTDIR)$(DATAPREFIX)/applications
+ $(INSTALL_DATA) files/imv.desktop $(DESTDIR)$(DATAPREFIX)/applications/imv.desktop
+ mkdir -p $(DESTDIR)$(CONFIGPREFIX)
+ $(INSTALL_DATA) files/imv_config $(DESTDIR)$(CONFIGPREFIX)/imv_config
uninstall:
$(RM) $(DESTDIR)$(BINPREFIX)/imv