blob: db8f5b11fcaa4637235b92d5ee75d92fcd128204 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
## am/rebuild.am: Makefile fragment to rebuild a library.
##
## Copyright (C) 2013 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.
##
## requires $(rebuild_prereq), $(rebuild_target), and CLEANFILES.
##
## Serialize concurrent rebuild attempts
## Compare Automake manual (info Automake) 27.9: Multiple Outputs
##
rebuild.stamp:
echo timestamp >$@
.PHONY: rebuild
rebuild: $(rebuild_prereq)
@dry=; for f in x $$MAKEFLAGS; do \
case $$f in \
*=*|--*);; \
*n*) dry=:;; \
esac; \
done; \
if test -f rebuild.stamp; then :; else \
$$dry trap 'rm -rf rebuild.lock' 1 2 13 15; \
if $$dry mkdir rebuild.lock 2>/dev/null; then \
$(MAKE) $(AM_MAKEFLAGS) $(rebuild_target) \
&& echo timestamp >rebuild.stamp; \
$$dry rmdir rebuild.lock; \
else \
while test -d rebuild.lock && test -z "$$dry"; do sleep 1; done; \
fi; \
$$dry test -f rebuild.stamp; exit $$?; \
fi
CLEANFILES += rebuild.stamp
|