mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-28 13:46:32 +00:00
Makefile: fix performance regression caused by the umask handling
Commit bee5745c introduced an extra level of 'make' when the umask is different from 0022. However, when several targets were specified on the command line, a new make instance would be called for each target. This introduces a huge performance overhead when many targets are specified on the command line. To fix this, use the same approach as used in the mkmakefile script: an addition target on which the MAKECMDGOALS depend, so that this target is run only once. Note that the mkmakefile script contains a special exception for Makefile, because the Makefile in the output directory is generated. Since the top-level Makefile is not generated, this exception is not needed here. While we're at it, also fix the whitespace in the UMASK assignment. Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> [yann.morin.1998@free.fr: aggregate patches from Arnout and Guido] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
abf422ae0a
commit
1e9f604716
12
Makefile
12
Makefile
@ -25,15 +25,15 @@
|
||||
#--------------------------------------------------------------
|
||||
|
||||
# Trick for always running with a fixed umask
|
||||
UMASK=0022
|
||||
UMASK = 0022
|
||||
ifneq ($(shell umask),$(UMASK))
|
||||
.PHONY: all $(MAKECMDGOALS)
|
||||
.PHONY: _all $(MAKECMDGOALS)
|
||||
|
||||
all:
|
||||
@umask $(UMASK) && $(MAKE) --no-print-directory
|
||||
$(MAKECMDGOALS): _all
|
||||
@:
|
||||
|
||||
$(MAKECMDGOALS):
|
||||
@umask $(UMASK) && $(MAKE) --no-print-directory $@
|
||||
_all:
|
||||
@umask $(UMASK) && $(MAKE) --no-print-directory $(MAKECMDGOALS)
|
||||
|
||||
else # umask
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user