Hi Junio, On Thu, 19 Aug 2021, Junio C Hamano wrote: > Johannes Schindelin <Johannes.Schindelin@xxxxxx> 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