Improve bindist makefile (#2746)

* Fix 'argument list too long' errors in for loop

* Fix symlink creation when DESTDIR is used

Co-authored-by: Pepe Iborra <pepeiborra@me.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit is contained in:
Julian Ospald 2022-03-04 03:12:58 +01:00 committed by GitHub
parent 911fe59d7f
commit 4ec1a4393f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,6 +5,7 @@ BINDIR ?= $(PREFIX)/bin
HLS_VERSION := @@HLS_VERSION@@
FIND := find
INSTALL := install
INSTALL_D := $(INSTALL) -d
INSTALL_X := $(INSTALL) -vm 755
@ -18,10 +19,7 @@ install:
$(INSTALL_D) "$(DESTDIR)$(BINDIR)"
$(INSTALL_D) "$(DESTDIR)$(LIBDIR)/haskell-language-server-$(HLS_VERSION)/lib"
$(INSTALL_D) "$(DESTDIR)$(LIBDIR)/haskell-language-server-$(HLS_VERSION)/bin"
for f in $(wildcard lib/*/*) ; do \
$(INSTALL_D) "$(DESTDIR)$(LIBDIR)/haskell-language-server-$(HLS_VERSION)/`dirname $$f`" && \
$(INSTALL_X) "$$f" "$(DESTDIR)$(LIBDIR)/haskell-language-server-$(HLS_VERSION)/$$f" ; \
done
$(FIND) lib -mindepth 2 -type f -exec sh -c '$(INSTALL_D) "$(DESTDIR)$(LIBDIR)/haskell-language-server-$(HLS_VERSION)/`dirname $$1`" && $(INSTALL_X) "$$1" "$(DESTDIR)$(LIBDIR)/haskell-language-server-$(HLS_VERSION)/$$1"' - '{}' \;
for b in $(wildcard bin/*) ; do \
$(INSTALL_D) "$(DESTDIR)$(LIBDIR)/haskell-language-server-$(HLS_VERSION)/" && \
$(INSTALL_X) "$$b" "$(DESTDIR)$(LIBDIR)/haskell-language-server-$(HLS_VERSION)/$$b" ; \
@ -31,7 +29,7 @@ install:
"$$h" > "$(DESTDIR)$(BINDIR)/$${h%.in}" && \
$(CHMOD_X) "$(DESTDIR)$(BINDIR)/$${h%.in}" ; \
done
$(LN_S) "`scripts/relpath.sh "$(BINDIR)" "$(LIBDIR)/haskell-language-server-$(HLS_VERSION)/bin/haskell-language-server-wrapper"`" \
$(LN_S) "`scripts/relpath.sh "$(DESTDIR)$(BINDIR)" "$(DESTDIR)$(LIBDIR)/haskell-language-server-$(HLS_VERSION)/bin/haskell-language-server-wrapper"`" \
"$(DESTDIR)$(BINDIR)/haskell-language-server-wrapper"
version: