From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com [64.147.123.20]) by sourceware.org (Postfix) with ESMTPS id 6CA313857003 for ; Tue, 13 Oct 2020 10:20:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 6CA313857003 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.west.internal (Postfix) with ESMTP id AE3E8AFE; Tue, 13 Oct 2020 06:20:44 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Tue, 13 Oct 2020 06:20:44 -0400 X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrheelgddviecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhephffvufffkffoggfgsedtkeertdertd dtnecuhfhrohhmpefuthgvphhhvghnucfirhgvghhorhgrthhtohcuoeguvghvsehsghhr vghgohhrrghtthhordhmvgeqnecuggftrfgrthhtvghrnhepteduveeuveegteeftdfgud effeffveffgefffefffeeugfdvleehvefgiefhieejnecuffhomhgrihhnpehgnhhurdho rhhgnecukfhppeehkedrudejledrgeegrddujedvnecuvehluhhsthgvrhfuihiivgeptd enucfrrghrrghmpehmrghilhhfrhhomhepphgvrhhsohhnrghlsehsghhrvghgohhrrght thhordhmvg X-ME-Proxy: Received: from localhost (58-179-44-172.sta.dodo.net.au [58.179.44.172]) by mail.messagingengine.com (Postfix) with ESMTPA id 754113064682; Tue, 13 Oct 2020 06:20:43 -0400 (EDT) From: Stephen Gregoratto To: bzip2-devel@sourceware.org Cc: Stephen Gregoratto Subject: [PATCH 1/2] Makefile: modernize install rule Date: Tue, 13 Oct 2020 21:20:36 +1100 Message-Id: <20201013102037.692071-1-dev@sgregoratto.me> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-13.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_INFOUSMEBIZ, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: bzip2-devel@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Bzip2-devel mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Oct 2020 10:20:49 -0000 - 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