Re: [PATCH] make: add install-strip target
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Aug 24, 2021, 13:15 UTC
- Message-ID
- <nycvar.QRO.7.76.6.2108241513280.55@tvgsbejvaqbjf.bet>
- In-Reply-To
- <xmqqwnohyzuo.fsf@gitster.g>
Hi Junio,
On Thu, 19 Aug 2021, Junio C Hamano wrote:
Show 22 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes: > > > -install: all > > +install: all | strip > > $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bindir_SQ)' > > $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' > > $(INSTALL) $(ALL_PROGRAMS) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' > > -- snap -- > > > > I am not quite certain that this is compatible with other `make` > > implementations we still might support (if there are any, I remember that > > we often have to rely on `gmake` because the native `make` does not > > understand our `Makefile`?), so that might need to be conditional on GNU > > Make. > > I think we are pretty-much dependent on GNU make already (it is > possible to raise a weather balloon to confirm by renaming Makefile > to GNUmakefile and observing if anybody complains, I think). > > But I am not sure what such a rule does for a .PHONY target like > 'strip'. Does it do the right thing, i.e. "install recipe is run > after 'strip' recipe has run, iff 'strip' is also asked for"?
My reading of the documentation is that just as with regular dependencies, it does not matter whether order-only dependencies are .PHONY or not.
The only difference between order-only vs regular dependencies seems to be that order-only dependencies are not necessarily built. But if they are, they are guaranteed to be built before the order-only dependencee.
Granted, I did not have time to test it, but from an implementation point of view, I would be surprised if there was any more to it.
Ciao, Dscho