Makefile: support DESTDIR

When packaging applications, the application is commonly installed into
a different location than it will end up on the users system. While
`prefix` can control where the files will be installed, it also affects
the location the `git_filter_repo` symlink points to. If the files are
then installed in a different location, the symlink is broken.

`DESTDIR` is a de facto standard variable to control where files are
installed, so that prefix can be used to specify where the files end up
on the end-users system. This allows a usecase like `make install
prefix=/usr DESTDIR=pkg`.

Signed-off-by: Kevin Daudt <me@ikke.info>
pull/331/head
Kevin Daudt 2 years ago
parent 4ef1aabd4d
commit e1e418018e

@ -1,4 +1,5 @@
# A bunch of installation-related paths people can override on the command line
DESTDIR = /
prefix = $(HOME)
bindir = $(prefix)/libexec/git-core
localedir = $(prefix)/share/locale
@ -34,11 +35,11 @@ Documentation/html/git-filter-repo.html:
git show origin/docs:html/git-filter-repo.html >Documentation/html/git-filter-repo.html
install: snag_docs #fixup_locale
install -Dm0755 git-filter-repo "$(bindir)/git-filter-repo"
install -dm0755 "$(pythondir)"
ln -sf "$(bindir)/git-filter-repo" "$(pythondir)/git_filter_repo.py"
install -Dm0644 Documentation/man1/git-filter-repo.1 "$(mandir)/man1/git-filter-repo.1"
install -Dm0644 Documentation/html/git-filter-repo.html "$(htmldir)/git-filter-repo.html"
install -Dm0755 git-filter-repo "$(DESTDIR)/$(bindir)/git-filter-repo"
install -dm0755 "$(DESTDIR)/$(pythondir)"
ln -sf "$(bindir)/git-filter-repo" "$(DESTDIR)/$(pythondir)/git_filter_repo.py"
install -Dm0644 Documentation/man1/git-filter-repo.1 "$(DESTDIR)/$(mandir)/man1/git-filter-repo.1"
install -Dm0644 Documentation/html/git-filter-repo.html "$(DESTDIR)/$(htmldir)/git-filter-repo.html"
if which mandb > /dev/null; then mandb; fi

Loading…
Cancel
Save