Automatic date update in version.in
[external/binutils.git] / bfd / doc / Makefile.am
1 ## Process this file with automake to generate Makefile.in
2 #
3 #   Copyright (C) 2012-2019 Free Software Foundation, Inc.
4 #
5 # This file is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3 of the License, or
8 # (at your option) any later version.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14
15 # You should have received a copy of the GNU General Public License
16 # along with this program; see the file COPYING3.  If not see
17 # <http://www.gnu.org/licenses/>.
18 #
19
20 AUTOMAKE_OPTIONS = info-in-builddir no-texinfo.tex foreign
21
22 DOCFILES = aoutx.texi  archive.texi archures.texi \
23         bfdt.texi  cache.texi coffcode.texi \
24         core.texi elf.texi elfcode.texi  format.texi \
25         libbfd.texi bfdwin.texi bfdio.texi \
26         opncls.texi  reloc.texi  section.texi  \
27         syms.texi  targets.texi init.texi hash.texi linker.texi \
28         mmo.texi \
29         bfdver.texi
30
31 PROTOS = archive.p archures.p bfd.p \
32          core.p format.p \
33         bfdio.p bfdwin.p \
34         libbfd.p opncls.p reloc.p \
35         section.p syms.p targets.p  \
36         format.p  core.p init.p
37
38 IPROTOS = cache.ip libbfd.ip reloc.ip init.ip archures.ip coffcode.ip
39
40 # SRCDOC, SRCPROT, SRCIPROT only used to sidestep Sun Make bug in interaction 
41 # between VPATH and suffix rules.  If you use GNU Make, perhaps other Makes,
42 # you don't need these three:
43 SRCDOC = $(srcdir)/../aoutx.h  $(srcdir)/../archive.c \
44         $(srcdir)/../archures.c $(srcdir)/../bfd.c \
45         $(srcdir)/../bfdio.c $(srcdir)/../bfdwin.c \
46         $(srcdir)/../cache.c $(srcdir)/../coffcode.h \
47         $(srcdir)/../corefile.c $(srcdir)/../elf.c \
48         $(srcdir)/../elfcode.h  $(srcdir)/../format.c \
49         $(srcdir)/../libbfd.c $(srcdir)/../opncls.c \
50         $(srcdir)/../reloc.c  $(srcdir)/../section.c \
51         $(srcdir)/../syms.c  $(srcdir)/../targets.c \
52         $(srcdir)/../hash.c $(srcdir)/../linker.c \
53         $(srcdir)/../mmo.c
54
55 SRCPROT = $(srcdir)/../archive.c $(srcdir)/../archures.c \
56         $(srcdir)/../bfd.c $(srcdir)/../coffcode.h $(srcdir)/../corefile.c \
57         $(srcdir)/../format.c $(srcdir)/../libbfd.c \
58         $(srcdir)/../bfdio.c $(srcdir)/../bfdwin.c \
59         $(srcdir)/../opncls.c $(srcdir)/../reloc.c \
60         $(srcdir)/../section.c $(srcdir)/../syms.c \
61         $(srcdir)/../targets.c $(srcdir)/../init.c
62
63 SRCIPROT = $(srcdir)/../cache.c $(srcdir)/../libbfd.c \
64         $(srcdir)/../bfdio.c $(srcdir)/../bfdwin.c \
65         $(srcdir)/../reloc.c $(srcdir)/../cpu-h8300.c \
66         $(srcdir)/../cpu-i960.c $(srcdir)/../archures.c \
67         $(srcdir)/../init.c
68
69 TEXIDIR = $(srcdir)/../../texinfo/fsf
70
71 info_TEXINFOS = bfd.texi
72 bfd_TEXINFOS = $(DOCFILES) bfdsumm.texi
73
74 MKDOC = chew$(EXEEXT_FOR_BUILD)
75
76 AM_CPPFLAGS = -I.. -I$(srcdir)/.. -I$(srcdir)/../../include \
77         -I$(srcdir)/../../intl -I../../intl
78
79 $(MKDOC): chew.stamp ; @true
80 chew.stamp: $(srcdir)/chew.c
81         $(CC_FOR_BUILD) -o chw$$$$$(EXEEXT_FOR_BUILD) $(CFLAGS_FOR_BUILD) \
82           $(LDFLAGS_FOR_BUILD) $(H_CFLAGS) $(AM_CPPFLAGS) $(srcdir)/chew.c; \
83         $(SHELL) $(srcdir)/../../move-if-change \
84           chw$$$$$(EXEEXT_FOR_BUILD) $(MKDOC); \
85         touch $@
86
87 protos: libbfd.h libcoff.h bfd.h
88
89 # We can't replace these rules with an implicit rule, because
90 # makes without VPATH support couldn't find the .h files in `..'.
91
92 # We do not depend on chew directly so that we can distribute the info
93 # files, and permit people to rebuild them, without requiring the makeinfo
94 # program.  If somebody tries to rebuild info, but none of the .texi files
95 # have changed, then nothing will be rebuilt.
96
97 aoutx.texi: aoutx.stamp ; @true
98 aoutx.stamp: $(srcdir)/../aoutx.h $(srcdir)/doc.str $(MKDOC)
99         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../aoutx.h >aoutx.tmp
100         test -e aoutx.texi || test ! -f $(srcdir)/aoutx.texi || cp -p $(srcdir)/aoutx.texi .
101         $(SHELL) $(srcdir)/../../move-if-change aoutx.tmp aoutx.texi
102         touch $@
103
104 archive.texi: archive.stamp ; @true
105 archive.stamp: $(srcdir)/../archive.c $(srcdir)/doc.str $(MKDOC)
106         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archive.c >archive.tmp
107         test -e archive.texi || test ! -f $(srcdir)/archive.texi || cp -p $(srcdir)/archive.texi .
108         $(SHELL) $(srcdir)/../../move-if-change archive.tmp archive.texi
109         touch $@
110
111 archures.texi: archures.stamp ; @true
112 archures.stamp: $(srcdir)/../archures.c $(srcdir)/doc.str $(MKDOC)
113         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archures.c >archures.tmp
114         test -e archures.texi || test ! -f $(srcdir)/archures.texi || cp -p $(srcdir)/archures.texi .
115         $(SHELL) $(srcdir)/../../move-if-change archures.tmp archures.texi
116         touch $@
117
118 # We use bfdt.texi, rather than bfd.texi, to avoid conflicting with
119 # bfd.texi on an 8.3 filesystem.
120 bfdt.texi: bfdt.stamp ; @true
121 bfdt.stamp: $(srcdir)/../bfd.c $(srcdir)/doc.str $(MKDOC)
122         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.tmp
123         test -e bfdt.texi || test ! -f $(srcdir)/bfdt.texi || cp -p $(srcdir)/bfdt.texi .
124         $(SHELL) $(srcdir)/../../move-if-change bfd.tmp bfdt.texi
125         touch $@
126
127 cache.texi: cache.stamp ; @true
128 cache.stamp: $(srcdir)/../cache.c $(srcdir)/doc.str $(MKDOC)
129         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../cache.c >cache.tmp
130         test -e cache.texi || test ! -f $(srcdir)/cache.texi || cp -p $(srcdir)/cache.texi .
131         $(SHELL) $(srcdir)/../../move-if-change cache.tmp cache.texi
132         touch $@
133
134 coffcode.texi: coffcode.stamp ; @true
135 coffcode.stamp: $(srcdir)/../coffcode.h $(srcdir)/doc.str $(MKDOC)
136         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../coffcode.h >coffcode.tmp
137         test -e coffcode.texi || test ! -f $(srcdir)/coffcode.texi || cp -p $(srcdir)/coffcode.texi .
138         $(SHELL) $(srcdir)/../../move-if-change coffcode.tmp coffcode.texi
139         touch $@
140
141 core.texi: core.stamp ; @true
142 core.stamp: $(srcdir)/../corefile.c $(srcdir)/doc.str $(MKDOC)
143         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../corefile.c >core.tmp
144         test -e core.texi || test ! -f $(srcdir)/core.texi || cp -p $(srcdir)/core.texi .
145         $(SHELL) $(srcdir)/../../move-if-change core.tmp core.texi
146         touch $@
147
148 elf.texi: elf.stamp ; @true
149 elf.stamp: $(srcdir)/../elf.c $(srcdir)/doc.str $(MKDOC)
150         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../elf.c >elf.tmp
151         test -e elf.texi || test ! -f $(srcdir)/elf.texi || cp -p $(srcdir)/elf.texi .
152         $(SHELL) $(srcdir)/../../move-if-change elf.tmp elf.texi
153         touch $@
154
155 elfcode.texi: elfcode.stamp ; @true
156 elfcode.stamp: $(srcdir)/../elfcode.h $(srcdir)/doc.str $(MKDOC)
157         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../elfcode.h >elfcode.tmp
158         test -e elfcode.texi || test ! -f $(srcdir)/elfcode.texi || cp -p $(srcdir)/elfcode.texi .
159         $(SHELL) $(srcdir)/../../move-if-change elfcode.tmp elfcode.texi
160         touch $@
161
162 mmo.texi: mmo.stamp ; @true
163 mmo.stamp: $(srcdir)/../mmo.c $(srcdir)/doc.str $(MKDOC)
164         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../mmo.c >mmo.tmp
165         test -e mmo.texi || test ! -f $(srcdir)/mmo.texi || cp -p $(srcdir)/mmo.texi .
166         $(SHELL) $(srcdir)/../../move-if-change mmo.tmp mmo.texi
167         touch $@
168
169 format.texi: format.stamp ; @true
170 format.stamp: $(srcdir)/../format.c $(srcdir)/doc.str $(MKDOC)
171         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../format.c >format.tmp
172         test -e format.texi || test ! -f $(srcdir)/format.texi || cp -p $(srcdir)/format.texi .
173         $(SHELL) $(srcdir)/../../move-if-change format.tmp format.texi
174         touch $@
175
176 libbfd.texi: libbfd.stamp ; @true
177 libbfd.stamp: $(srcdir)/../libbfd.c $(srcdir)/doc.str $(MKDOC)
178         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../libbfd.c >libbfd.tmp
179         test -e libbfd.texi || test ! -f $(srcdir)/libbfd.texi || cp -p $(srcdir)/libbfd.texi .
180         $(SHELL) $(srcdir)/../../move-if-change libbfd.tmp libbfd.texi
181         touch $@
182
183 bfdio.texi: bfdio.stamp ; @true
184 bfdio.stamp: $(srcdir)/../bfdio.c $(srcdir)/doc.str $(MKDOC)
185         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdio.c >bfdio.tmp
186         test -e bfdio.texi || test ! -f $(srcdir)/bfdio.texi || cp -p $(srcdir)/bfdio.texi .
187         $(SHELL) $(srcdir)/../../move-if-change bfdio.tmp bfdio.texi
188         touch $@
189
190 bfdwin.texi: bfdwin.stamp ; @true
191 bfdwin.stamp: $(srcdir)/../bfdwin.c $(srcdir)/doc.str $(MKDOC)
192         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdwin.c >bfdwin.tmp
193         test -e bfdwin.texi || test ! -f $(srcdir)/bfdwin.texi || cp -p $(srcdir)/bfdwin.texi .
194         $(SHELL) $(srcdir)/../../move-if-change bfdwin.tmp bfdwin.texi
195         touch $@
196
197 opncls.texi: opncls.stamp ; @true
198 opncls.stamp: $(srcdir)/../opncls.c $(srcdir)/doc.str $(MKDOC)
199         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../opncls.c >opncls.tmp
200         test -e opncls.texi || test ! -f $(srcdir)/opncls.texi || cp -p $(srcdir)/opncls.texi .
201         $(SHELL) $(srcdir)/../../move-if-change opncls.tmp opncls.texi
202         touch $@
203
204 reloc.texi: reloc.stamp ; @true
205 reloc.stamp: $(srcdir)/../reloc.c $(srcdir)/doc.str $(MKDOC)
206         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../reloc.c >reloc.tmp
207         test -e reloc.texi || test ! -f $(srcdir)/reloc.texi || cp -p $(srcdir)/reloc.texi .
208         $(SHELL) $(srcdir)/../../move-if-change reloc.tmp reloc.texi
209         touch $@
210
211 section.texi: section.stamp ; @true
212 section.stamp: $(srcdir)/../section.c $(srcdir)/doc.str $(MKDOC)
213         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../section.c >section.tmp
214         test -e section.texi || test ! -f $(srcdir)/section.texi || cp -p $(srcdir)/section.texi .
215         $(SHELL) $(srcdir)/../../move-if-change section.tmp section.texi
216         touch $@
217
218 syms.texi: syms.stamp ; @true
219 syms.stamp: $(srcdir)/../syms.c $(srcdir)/doc.str $(MKDOC)
220         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../syms.c >syms.tmp
221         test -e syms.texi || test ! -f $(srcdir)/syms.texi || cp -p $(srcdir)/syms.texi .
222         $(SHELL) $(srcdir)/../../move-if-change syms.tmp syms.texi
223         touch $@
224
225 targets.texi: targets.stamp ; @true
226 targets.stamp: $(srcdir)/../targets.c $(srcdir)/doc.str $(MKDOC)
227         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../targets.c >targets.tmp
228         test -e targets.texi || test ! -f $(srcdir)/targets.texi || cp -p $(srcdir)/targets.texi .
229         $(SHELL) $(srcdir)/../../move-if-change targets.tmp targets.texi
230         touch $@
231
232 init.texi: init.stamp ; @true
233 init.stamp: $(srcdir)/../init.c $(srcdir)/doc.str $(MKDOC)
234         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../init.c >init.tmp
235         test -e init.texi || test ! -f $(srcdir)/init.texi || cp -p $(srcdir)/init.texi .
236         $(SHELL) $(srcdir)/../../move-if-change init.tmp init.texi
237         touch $@
238
239 hash.texi: hash.stamp ; @true
240 hash.stamp: $(srcdir)/../hash.c $(srcdir)/doc.str $(MKDOC)
241         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../hash.c >hash.tmp
242         test -e hash.texi || test ! -f $(srcdir)/hash.texi || cp -p $(srcdir)/hash.texi .
243         $(SHELL) $(srcdir)/../../move-if-change hash.tmp hash.texi
244         touch $@
245
246 linker.texi: linker.stamp ; @true
247 linker.stamp: $(srcdir)/../linker.c $(srcdir)/doc.str $(MKDOC)
248         ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../linker.c >linker.tmp
249         test -e linker.texi || test ! -f $(srcdir)/linker.texi || cp -p $(srcdir)/linker.texi .
250         $(SHELL) $(srcdir)/../../move-if-change linker.tmp linker.texi
251         touch $@
252
253 LIBBFD_H_DEP = \
254         $(srcdir)/../libbfd-in.h        \
255         $(srcdir)/../libbfd.c           \
256         $(srcdir)/../bfdio.c            \
257         $(srcdir)/../bfdwin.c           \
258         $(srcdir)/../cache.c            \
259         $(srcdir)/../reloc.c            \
260         $(srcdir)/../archures.c         \
261         $(srcdir)/../linker.c           \
262         $(srcdir)/header.sed            \
263         $(srcdir)/proto.str             \
264         $(MKDOC)
265
266 libbfd.h: $(LIBBFD_H_DEP)
267         echo "$(LIBBFD_H_DEP)" | sed -f $(srcdir)/header.sed > $@
268         for file in $(LIBBFD_H_DEP); do \
269           case $$file in \
270             *-in.h) cat $$file >> $@ ;; \
271             */header.sed) break ;; \
272             *)  echo $$file | sed -e 's,.*/,,' -e 's,^,/* Extracted from ,' \
273                                 -e 's,$$,.  */,' >> $@ ; \
274                 ./$(MKDOC) -i -f $(srcdir)/proto.str < $$file >> $@ ;; \
275           esac; \
276         done
277         echo "#ifdef __cplusplus" >> $@
278         echo "}" >> $@
279         echo "#endif" >> $@
280         echo "#endif" >> $@
281
282 LIBCOFF_H_DEP = \
283         $(srcdir)/../libcoff-in.h       \
284         $(srcdir)/../coffcode.h         \
285         $(srcdir)/header.sed            \
286         $(srcdir)/proto.str             \
287         $(MKDOC)
288
289 libcoff.h: $(LIBCOFF_H_DEP)
290         echo "$(LIBCOFF_H_DEP)" | sed -f $(srcdir)/header.sed > $@
291         for file in $(LIBCOFF_H_DEP); do \
292           case $$file in \
293             *-in.h) cat $$file >> $@ ;; \
294             */header.sed) break ;; \
295             *)  echo $$file | sed -e 's,.*/,,' -e 's,^,/* Extracted from ,' \
296                                 -e 's,$$,.  */,' >> $@ ; \
297                 ./$(MKDOC) -i -f $(srcdir)/proto.str < $$file >> $@ ;; \
298           esac; \
299         done
300         echo "#ifdef __cplusplus" >> $@
301         echo "}" >> $@
302         echo "#endif" >> $@
303         echo "#endif" >> $@
304
305 BFD_H_DEP = \
306         $(srcdir)/../bfd-in.h           \
307         $(srcdir)/../init.c             \
308         $(srcdir)/../opncls.c           \
309         $(srcdir)/../libbfd.c           \
310         $(srcdir)/../bfdio.c            \
311         $(srcdir)/../bfdwin.c           \
312         $(srcdir)/../section.c          \
313         $(srcdir)/../archures.c         \
314         $(srcdir)/../reloc.c            \
315         $(srcdir)/../syms.c             \
316         $(srcdir)/../bfd.c              \
317         $(srcdir)/../archive.c          \
318         $(srcdir)/../corefile.c         \
319         $(srcdir)/../targets.c          \
320         $(srcdir)/../format.c           \
321         $(srcdir)/../linker.c           \
322         $(srcdir)/../simple.c           \
323         $(srcdir)/../compress.c         \
324         $(srcdir)/header.sed            \
325         $(srcdir)/proto.str             \
326         $(srcdir)/../version.h          \
327         $(MKDOC)
328
329 bfd.h: $(BFD_H_DEP)
330         echo "$(BFD_H_DEP)" | sed -f $(srcdir)/header.sed > $@
331         for file in $(BFD_H_DEP); do \
332           case $$file in \
333             *-in.h) cat $$file >> $@ ;; \
334             */header.sed) break ;; \
335             *)  echo $$file | sed -e 's,.*/,,' -e 's,^,/* Extracted from ,' \
336                                 -e 's,$$,.  */,' >> $@ ; \
337                 ./$(MKDOC) -f $(srcdir)/proto.str < $$file >> $@ ;; \
338           esac; \
339         done
340         echo "#ifdef __cplusplus" >> $@
341         echo "}" >> $@
342         echo "#endif" >> $@
343         echo "#endif" >> $@
344
345 bfdver.texi: $(srcdir)/Makefile.in
346         @echo "creating $@"; \
347         echo "@set VERSION $(VERSION)" > bfdver.texi; \
348         if test -n "$(PKGVERSION)"; then \
349           echo "@set VERSION_PACKAGE $(PKGVERSION)" >> bfdver.texi; \
350         fi; \
351         echo "@set UPDATED `date '+%B %Y'`" >> bfdver.texi; \
352         if test -n "$(REPORT_BUGS_TEXI)"; then \
353           echo "@set BUGURL $(REPORT_BUGS_TEXI)" >> bfdver.texi; \
354         fi
355
356 noinst_TEXINFOS = bfdint.texi
357
358 MOSTLYCLEANFILES = $(MKDOC) *.o *.stamp
359
360 CLEANFILES = *.p *.ip
361
362 DISTCLEANFILES = bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log
363
364 MAINTAINERCLEANFILES = $(DOCFILES)
365
366 # We want install to imply install-info as per GNU standards, despite the
367 # cygnus option.
368 install: install-info
369
370 MAINTAINERCLEANFILES += bfd.info