1
0
mirror of https://github.com/facebook/zstd.git synced 2025-07-29 11:21:22 +03:00

[pzstd]: Fix DESTDIR handling to allow setting BINDIR

Currently, setting `BINDIR` and `DESTDIR` separately is not possible, so
the command below fails, as BINDIR is set explicitly:

    $ make -j80 install PREFIX=/usr EPREFIX=/usr BINDIR=/usr/bin SBINDIR=/usr/sbin LIBEXECDIR=/usr/libexec SYSCONFDIR=/etc SHAREDSTATEDIR=/var LOCALST ATEDIR=/var LIBDIR=/usr/lib INCLUDEDIR=/usr/include DATAROOTDIR=/usr/share DATADIR=/usr/share INFODIR=/usr/share/info LOCALEDIR=/usr/share/locale MAND IR=/usr/share/man DOCDIR=/usr/share/doc/zstd DESTDIR=/dev/shm/bee-pmenzel/zstd/zstd-1.5.5-0/image -C contrib/pzstd DESTDIR=/dev/shm/bee-pmenzel/zstd/zstd-1.5.5-0/image
    make: Entering directory
    '/dev/shm/bee-pmenzel/zstd/zstd-1.5.5-0/source/contrib/pzstd' CFLAGS="  -I../../lib -I../../lib/common -I../../programs -I. -DNDEBUG -O3 -Wall -Wextra -Wno-deprecated-declarations   " LDFLAGS=" -O3 -Wall -Wextra -pedantic  " make -C ../../lib libzstd.a
    make[1]: Entering directory '/dev/shm/bee-pmenzel/zstd/zstd-1.5.5-0/source/lib'
    make[1]: Leaving directory '/dev/shm/bee-pmenzel/zstd/zstd-1.5.5-0/source/lib'
    g++ main.o ../../programs/util.o Options.o Pzstd.o SkippableFrame.o ../../lib/libzstd.a           -O3 -Wall -Wextra -pedantic    -pthread -o pzstd
    install -d -m 755 /usr/bin/
    install -m 755 pzstd /usr/bin/pzstd
    install: cannot create regular file '/usr/bin/pzstd': Permission denied
    make: *** [Makefile:116: install] Error 1

So, do not prefix `BINDIR` with `DESTDIR`, and adapt all paths for
installation. This is more common, and, for example, `programs/Makefile`
does the same.

Fixes: 8b4e84249b ("[pzstd] Fix Makefile")
This commit is contained in:
Paul Menzel
2023-09-12 19:12:19 +02:00
parent 01dbbdf560
commit d55ebb5718

View File

@ -10,7 +10,7 @@
# Standard variables for installation # Standard variables for installation
DESTDIR ?= DESTDIR ?=
PREFIX ?= /usr/local PREFIX ?= /usr/local
BINDIR := $(DESTDIR)$(PREFIX)/bin BINDIR := $(PREFIX)/bin
ZSTDDIR = ../../lib ZSTDDIR = ../../lib
PROGDIR = ../../programs PROGDIR = ../../programs
@ -112,12 +112,12 @@ check:
.PHONY: install .PHONY: install
install: PZSTD_CPPFLAGS += -DNDEBUG install: PZSTD_CPPFLAGS += -DNDEBUG
install: pzstd$(EXT) install: pzstd$(EXT)
install -d -m 755 $(BINDIR)/ install -d -m 755 $(DESTDIR)$(BINDIR)/
install -m 755 pzstd$(EXT) $(BINDIR)/pzstd$(EXT) install -m 755 pzstd$(EXT) $(DESTDIR)$(BINDIR)/pzstd$(EXT)
.PHONY: uninstall .PHONY: uninstall
uninstall: uninstall:
$(RM) $(BINDIR)/pzstd$(EXT) $(RM) $(DESTDIR)$(BINDIR)/pzstd$(EXT)
# Targets for many different builds # Targets for many different builds
.PHONY: all .PHONY: all