- The global value DESTDIR is used to prepend a path for each file installed. This is used by every package manager out there. See [1]. - The commands have been reordered to follow a pattern of mkdir, copy, chmod, link. [1] https://www.gnu.org/prep/standards/html_node/DESTDIR.html --- Note that while I've retained the same pattern, I much prefer using the install(1) utility to do this. It's available on any modern *NIXen out there, with the only snag being that some don't have a certain flag "-D", but this can be easily worked around. Thus the improved version would along the lines of: install -Dm755 bzip2 $(DESTDIR)$(PREFIX)/usr/bin/bzip2 ... install -Dm644 bzip2.1 $(DESTDIR)$(PREFIX)/usr/share/man/man1/bzip2.1 Makefile | 74 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/Makefile b/Makefile index b0fef95..d98e09b 100644 --- a/Makefile +++ b/Makefile @@ -70,43 +70,43 @@ test: bzip2 @cat words3 install: bzip2 bzip2recover - if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi - if ( test ! -d $(PREFIX)/lib ) ; then mkdir -p $(PREFIX)/lib ; fi - if ( test ! -d $(PREFIX)/man ) ; then mkdir -p $(PREFIX)/man ; fi - if ( test ! -d $(PREFIX)/man/man1 ) ; then mkdir -p $(PREFIX)/man/man1 ; fi - if ( test ! -d $(PREFIX)/include ) ; then mkdir -p $(PREFIX)/include ; fi - cp -f bzip2 $(PREFIX)/bin/bzip2 - cp -f bzip2 $(PREFIX)/bin/bunzip2 - cp -f bzip2 $(PREFIX)/bin/bzcat - cp -f bzip2recover $(PREFIX)/bin/bzip2recover - chmod a+x $(PREFIX)/bin/bzip2 - chmod a+x $(PREFIX)/bin/bunzip2 - chmod a+x $(PREFIX)/bin/bzcat - chmod a+x $(PREFIX)/bin/bzip2recover - cp -f bzip2.1 $(PREFIX)/man/man1 - chmod a+r $(PREFIX)/man/man1/bzip2.1 - cp -f bzlib.h $(PREFIX)/include - chmod a+r $(PREFIX)/include/bzlib.h - cp -f libbz2.a $(PREFIX)/lib - chmod a+r $(PREFIX)/lib/libbz2.a - cp -f bzgrep $(PREFIX)/bin/bzgrep - ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep - ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep - chmod a+x $(PREFIX)/bin/bzgrep - cp -f bzmore $(PREFIX)/bin/bzmore - ln -s -f $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless - chmod a+x $(PREFIX)/bin/bzmore - cp -f bzdiff $(PREFIX)/bin/bzdiff - ln -s -f $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp - chmod a+x $(PREFIX)/bin/bzdiff - cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1 - chmod a+r $(PREFIX)/man/man1/bzgrep.1 - chmod a+r $(PREFIX)/man/man1/bzmore.1 - chmod a+r $(PREFIX)/man/man1/bzdiff.1 - echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzegrep.1 - echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzfgrep.1 - echo ".so man1/bzmore.1" > $(PREFIX)/man/man1/bzless.1 - echo ".so man1/bzdiff.1" > $(PREFIX)/man/man1/bzcmp.1 + mkdir -p $(DESTDIR)$(PREFIX)/bin + mkdir -p $(DESTDIR)$(PREFIX)/lib + mkdir -p $(DESTDIR)$(PREFIX)/man/man1 + mkdir -p $(DESTDIR)$(PREFIX)/include + cp -f bzip2 $(DESTDIR)$(PREFIX)/bin/bzip2 + cp -f bzip2 $(DESTDIR)$(PREFIX)/bin/bunzip2 + cp -f bzip2 $(DESTDIR)$(PREFIX)/bin/bzcat + cp -f bzip2recover $(DESTDIR)$(PREFIX)/bin/bzip2recover + cp -f bzgrep $(DESTDIR)$(PREFIX)/bin/bzgrep + cp -f bzmore $(DESTDIR)$(PREFIX)/bin/bzmore + cp -f bzdiff $(DESTDIR)$(PREFIX)/bin/bzdiff + chmod a+x $(DESTDIR)$(PREFIX)/bin/bzip2 + chmod a+x $(DESTDIR)$(PREFIX)/bin/bunzip2 + chmod a+x $(DESTDIR)$(PREFIX)/bin/bzcat + chmod a+x $(DESTDIR)$(PREFIX)/bin/bzip2recover + chmod a+x $(DESTDIR)$(PREFIX)/bin/bzgrep + chmod a+x $(DESTDIR)$(PREFIX)/bin/bzmore + chmod a+x $(DESTDIR)$(PREFIX)/bin/bzdiff + ln -sf $(PREFIX)/bin/bzgrep $(DESTDIR)$(PREFIX)/bin/bzegrep + ln -sf $(PREFIX)/bin/bzgrep $(DESTDIR)$(PREFIX)/bin/bzfgrep + ln -sf $(PREFIX)/bin/bzmore $(DESTDIR)$(PREFIX)/bin/bzless + ln -sf $(PREFIX)/bin/bzdiff $(DESTDIR)$(PREFIX)/bin/bzcmp + cp -f bzlib.h $(DESTDIR)$(PREFIX)/include + cp -f libbz2.a $(DESTDIR)$(PREFIX)/lib + chmod a+r $(DESTDIR)$(PREFIX)/include/bzlib.h + chmod a+r $(DESTDIR)$(PREFIX)/lib/libbz2.a + cp -f bzip2.1 $(DESTDIR)$(PREFIX)/man/man1 + cp -f bzgrep.1 bzmore.1 bzdiff.1 $(DESTDIR)$(PREFIX)/man/man1 + chmod a+r $(DESTDIR)$(PREFIX)/man/man1/bzip2.1 + chmod a+r $(DESTDIR)$(PREFIX)/man/man1/bzgrep.1 + chmod a+r $(DESTDIR)$(PREFIX)/man/man1/bzmore.1 + chmod a+r $(DESTDIR)$(PREFIX)/man/man1/bzdiff.1 + umask a+r + echo ".so man1/bzgrep.1" > $(DESTDIR)$(PREFIX)/man/man1/bzegrep.1 + echo ".so man1/bzgrep.1" > $(DESTDIR)$(PREFIX)/man/man1/bzfgrep.1 + echo ".so man1/bzmore.1" > $(DESTDIR)$(PREFIX)/man/man1/bzless.1 + echo ".so man1/bzdiff.1" > $(DESTDIR)$(PREFIX)/man/man1/bzcmp.1 clean: rm -f *.o libbz2.a bzip2 bzip2recover \ -- 2.28.0
--- words3 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/words3 b/words3 index 6972669..79251c1 100644 --- a/words3 +++ b/words3 @@ -20,6 +20,10 @@ is going to do, you can first do The -n instructs make to show the commands it would execute, but not actually execute them. +If you want to make a staged install (for package managers), type + + make install DESTDIR=/path/to/dir PREFIX=/xxx/yyy + Instructions for use are in the preformatted manual page, in the file bzip2.txt. For more detailed documentation, read the full manual. It is available in Postscript form (manual.ps), PDF form (manual.pdf), -- 2.28.0