summaryrefslogtreecommitdiff
path: root/lib/am/texi-vers.am
blob: 5fc1202e3577edeab288fc6cf3228f33870c9cae (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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
## automake - create Makefile.in from Makefile.am
## Copyright (C) 1994-2018 Free Software Foundation, Inc.

## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2, or (at your option)
## any later version.

## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.

## You should have received a copy of the GNU General Public License
## along with this program.  If not, see <https://www.gnu.org/licenses/>.

DIST_COMMON += %VTEXI% %STAMPVTI%

## Don't give this rule a command (even '@:').
## %STAMPVTI% is always newer than %VTEXI%, so this rule is always
## triggered.  If you equip this rule with a command, GNU make will
## assume %VTEXI% has been rebuild in the current directory and
## discard any %VTEXI% file found in a VPATH search.
%VTEXI%: %MAINTAINER-MODE% %STAMPVTI%

## Depend on configure so that version number updates cause a rebuild.
## (Not configure.ac, because not all setups define the version number
## in this file.)
%STAMPVTI%: %TEXI% $(top_srcdir)/configure
## It is wrong to have %STAMPVTI% dependent on %DIRSTAMP%, because
## %STAMPVTI% is distributed and %DIRSTAMP% isn't: a distributed file
## should never be dependent upon a non-distributed built file.
## Therefore we ensure that %DIRSTAMP% exists in the rule.
## Use cp + mv so that the update of %VTEXI% is atomic even if
## the source directory is on a different file system.
?DIRSTAMP?	@test -f %DIRSTAMP% || $(MAKE) $(AM_MAKEFLAGS) %DIRSTAMP%
	@(dir=.; test -f ./%TEXI% || dir=$(srcdir); \
	set `$(SHELL) %MDDIR%mdate-sh $$dir/%TEXI%`; \
	echo "@set UPDATED $$1 $$2 $$3"; \
	echo "@set UPDATED-MONTH $$2 $$3"; \
	echo "@set EDITION $(VERSION)"; \
	echo "@set VERSION $(VERSION)") > %VTI%.tmp$$$$ && \
	(cmp -s %VTI%.tmp$$$$ %VTEXI% \
	  || (echo "Updating %VTEXI%" && \
	      cp %VTI%.tmp$$$$ %VTEXI%.tmp$$$$ && \
	      mv %VTEXI%.tmp$$$$ %VTEXI%)) && \
	rm -f %VTI%.tmp$$$$ %VTEXI%.$$$$
	@cp %VTEXI% $@

mostlyclean-am: mostlyclean-%VTI%
mostlyclean-%VTI%:
	-rm -f %VTI%.tmp* %VTEXI%.tmp*

maintainer-clean-am: maintainer-clean-%VTI%
maintainer-clean-%VTI%:
%MAINTAINER-MODE%	-rm -f %STAMPVTI% %VTEXI%

.PHONY: mostlyclean-%VTI% maintainer-clean-%VTI%