From 3a9557427201e78026048547988bbb582fe64f4a Mon Sep 17 00:00:00 2001 From: Loup Vaillant Date: Tue, 5 Sep 2023 23:02:44 +0200 Subject: [PATCH] Fix $(PREFIX) in makefiles Apparently the convention for the $(PREFIX) variable is to include the leading '/'. Leaving it out and adding it manually confuses some package systems, and force package maintainers to patch it when their own $(PREFIX) already starts with '/'. --- makefile | 32 ++++++++++++++++---------------- monocypher.pc | 2 +- tests/speed/libhydrogen.pc | 2 +- tests/speed/makefile | 6 +++--- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/makefile b/makefile index 40dcb8f..d747ff2 100644 --- a/makefile +++ b/makefile @@ -55,7 +55,7 @@ CC ?= gcc -std=c99 CFLAGS ?= -pedantic -Wall -Wextra -O3 -march=native DESTDIR ?= -PREFIX ?= usr/local +PREFIX ?= /usr/local LIBDIR ?= $(PREFIX)/lib INCLUDEDIR ?= $(PREFIX)/include PKGCONFIGDIR ?= $(LIBDIR)/pkgconfig @@ -92,28 +92,28 @@ clean: install: install-lib install-pc install-doc install-lib: library - mkdir -p $(DESTDIR)/$(INCLUDEDIR) - mkdir -p $(DESTDIR)/$(LIBDIR) - cp -P lib/libmonocypher.a lib/libmonocypher.so* $(DESTDIR)/$(LIBDIR) - cp -P src/monocypher.h $(DESTDIR)/$(INCLUDEDIR) - cp -P src/optional/monocypher-ed25519.h $(DESTDIR)/$(INCLUDEDIR) + mkdir -p $(DESTDIR)$(INCLUDEDIR) + mkdir -p $(DESTDIR)$(LIBDIR) + cp -P lib/libmonocypher.a lib/libmonocypher.so* $(DESTDIR)$(LIBDIR) + cp -P src/monocypher.h $(DESTDIR)$(INCLUDEDIR) + cp -P src/optional/monocypher-ed25519.h $(DESTDIR)$(INCLUDEDIR) install-pc: monocypher.pc - mkdir -p $(DESTDIR)/$(PKGCONFIGDIR) + mkdir -p $(DESTDIR)$(PKGCONFIGDIR) sed "s|PREFIX|$(PREFIX)|" monocypher.pc \ - > $(DESTDIR)/$(PKGCONFIGDIR)/monocypher.pc + > $(DESTDIR)$(PKGCONFIGDIR)/monocypher.pc install-doc: doc/man3/intro.3monocypher - mkdir -p $(DESTDIR)/$(MANDIR) - cp -PR doc/man3/*.3monocypher $(DESTDIR)/$(MANDIR) + mkdir -p $(DESTDIR)$(MANDIR) + cp -PR doc/man3/*.3monocypher $(DESTDIR)$(MANDIR) uninstall: - rm -f $(DESTDIR)/$(LIBDIR)/libmonocypher.a - rm -f $(DESTDIR)/$(LIBDIR)/libmonocypher.so* - rm -f $(DESTDIR)/$(INCLUDEDIR)/monocypher.h - rm -f $(DESTDIR)/$(INCLUDEDIR)/monocypher-ed25519.h - rm -f $(DESTDIR)/$(PKGCONFIGDIR)/monocypher.pc - rm -f $(DESTDIR)/$(MANDIR)/*.3monocypher + rm -f $(DESTDIR)$(LIBDIR)/libmonocypher.a + rm -f $(DESTDIR)$(LIBDIR)/libmonocypher.so* + rm -f $(DESTDIR)$(INCLUDEDIR)/monocypher.h + rm -f $(DESTDIR)$(INCLUDEDIR)/monocypher-ed25519.h + rm -f $(DESTDIR)$(PKGCONFIGDIR)/monocypher.pc + rm -f $(DESTDIR)$(MANDIR)/*.3monocypher ################## ## Main library ## diff --git a/monocypher.pc b/monocypher.pc index a117466..0945104 100644 --- a/monocypher.pc +++ b/monocypher.pc @@ -1,4 +1,4 @@ -prefix=/PREFIX +prefix=PREFIX exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include diff --git a/tests/speed/libhydrogen.pc b/tests/speed/libhydrogen.pc index 88d06a8..30cd39e 100644 --- a/tests/speed/libhydrogen.pc +++ b/tests/speed/libhydrogen.pc @@ -1,4 +1,4 @@ -prefix=/PREFIX +prefix=PREFIX exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include diff --git a/tests/speed/makefile b/tests/speed/makefile index 9ae89e3..3934bac 100644 --- a/tests/speed/makefile +++ b/tests/speed/makefile @@ -117,12 +117,12 @@ $(C25519_OBJECTS): # libhydrogen (only installs pkg-config) DESTDIR = -PREFIX = usr/local +PREFIX = /usr/local PKGCONFIGDIR = $(LIBDIR)/pkgconfig pkg-config-libhydrogen: - mkdir -p $(DESTDIR)/$(PKGCONFIGDIR) + mkdir -p $(DESTDIR)$(PKGCONFIGDIR) sed "s|PREFIX|$(PREFIX)|" libhydrogen.pc \ - > $(DESTDIR)/$(PKGCONFIGDIR)/libhydrogen.pc + > $(DESTDIR)$(PKGCONFIGDIR)/libhydrogen.pc # Donna DONNA_HEADERS=$(wildcard ../externals/ed25519-donna/*.h) -- 2.47.3