1## Process this file with automake to generate Makefile.in
2#
3#   Copyright (C) 2012-2020 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
20AUTOMAKE_OPTIONS = info-in-builddir no-texinfo.tex foreign
21
22# What version of the manual you want; "all" includes everything
23CONFIG=all
24
25# Options to extract the man page from as.texinfo
26MANCONF = -Dman
27
28TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl $(AM_MAKEINFOFLAGS)
29
30POD2MAN = pod2man --center="GNU Development Tools" \
31	 --release="binutils-$(VERSION)" --section=1
32
33# List of man pages generated from binutils.texi
34man_MANS = \
35	addr2line.1 \
36	ar.1 \
37	dlltool.1 \
38	nm.1 \
39	objcopy.1 \
40	objdump.1 \
41	ranlib.1 \
42	readelf.1 \
43	size.1 \
44	strings.1 \
45	strip.1 \
46	elfedit.1 \
47	windres.1 \
48	windmc.1 \
49	$(DEMANGLER_NAME).1
50
51info_TEXINFOS = binutils.texi
52binutils_TEXI = $(srcdir)/binutils.texi
53
54AM_MAKEINFOFLAGS = -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" \
55		   -I "$(top_srcdir)/../bfd/doc" -I ../../bfd/doc
56TEXI2DVI = texi2dvi -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" \
57		    -I "$(top_srcdir)/../bfd/doc" -I ../../bfd/doc
58
59# Man page generation from texinfo
60addr2line.1:	$(binutils_TEXI)
61	touch $@
62	-$(TEXI2POD) $(MANCONF) -Daddr2line < $(binutils_TEXI) > addr2line.pod
63	-($(POD2MAN) addr2line.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
64		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
65	rm -f addr2line.pod
66
67ar.1:	$(binutils_TEXI)
68	touch $@
69	-$(TEXI2POD) $(MANCONF) -Dar < $(binutils_TEXI) > ar.pod
70	-($(POD2MAN) ar.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
71		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
72	rm -f ar.pod
73
74dlltool.1:	$(binutils_TEXI)
75	touch $@
76	-$(TEXI2POD) $(MANCONF) -Ddlltool < $(binutils_TEXI) > dlltool.pod
77	-($(POD2MAN) dlltool.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
78		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
79	rm -f dlltool.pod
80
81nm.1:	$(binutils_TEXI)
82	touch $@
83	-$(TEXI2POD) $(MANCONF) -Dnm < $(binutils_TEXI) > nm.pod
84	-($(POD2MAN) nm.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
85		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
86	rm -f nm.pod
87
88objcopy.1:	$(binutils_TEXI)
89	touch $@
90	-$(TEXI2POD) $(MANCONF) -Dobjcopy < $(binutils_TEXI) > objcopy.pod
91	-($(POD2MAN) objcopy.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
92		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
93	rm -f objcopy.pod
94
95objdump.1:	$(binutils_TEXI)
96	touch $@
97	-$(TEXI2POD) $(MANCONF) -Dobjdump < $(binutils_TEXI) > objdump.pod
98	-($(POD2MAN) objdump.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
99		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
100	rm -f objdump.pod
101
102ranlib.1:	$(binutils_TEXI)
103	touch $@
104	-$(TEXI2POD) $(MANCONF) -Dranlib < $(binutils_TEXI) > ranlib.pod
105	-($(POD2MAN) ranlib.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
106		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
107	rm -f ranlib.pod
108
109readelf.1:	$(binutils_TEXI)
110	touch $@
111	-$(TEXI2POD) $(MANCONF) -Dreadelf < $(binutils_TEXI) > readelf.pod
112	-($(POD2MAN) readelf.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
113		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
114	rm -f readelf.pod
115
116size.1:	$(binutils_TEXI)
117	touch $@
118	-$(TEXI2POD) $(MANCONF) -Dsize < $(binutils_TEXI) > size.pod
119	-($(POD2MAN) size.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
120		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
121	rm -f size.pod
122
123strings.1:	$(binutils_TEXI)
124	touch $@
125	-$(TEXI2POD) $(MANCONF) -Dstrings < $(binutils_TEXI) > strings.pod
126	-($(POD2MAN) strings.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
127		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
128	rm -f strings.pod
129
130strip.1:	$(binutils_TEXI)
131	touch $@
132	-$(TEXI2POD) $(MANCONF) -Dstrip < $(binutils_TEXI) > strip.pod
133	-($(POD2MAN) strip.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
134		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
135	rm -f strip.pod
136
137elfedit.1:	$(binutils_TEXI)
138	touch $@
139	-$(TEXI2POD) $(MANCONF) -Delfedit < $(binutils_TEXI) > elfedit.pod
140	-($(POD2MAN) elfedit.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
141		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
142	rm -f elfedit.pod
143
144windres.1:	$(binutils_TEXI)
145	touch $@
146	-$(TEXI2POD) $(MANCONF) -Dwindres < $(binutils_TEXI) > windres.pod
147	-($(POD2MAN) windres.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
148		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
149	rm -f windres.pod
150
151windmc.1:	$(binutils_TEXI)
152	touch $@
153	-$(TEXI2POD) $(MANCONF) -Dwindmc < $(binutils_TEXI) > windmc.pod
154	-($(POD2MAN) windmc.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
155		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
156	rm -f windmc.pod
157
158cxxfilt.man:	$(binutils_TEXI)
159	touch $@
160	-$(TEXI2POD) $(MANCONF) -Dcxxfilt < $(binutils_TEXI) > $(DEMANGLER_NAME).pod
161	-($(POD2MAN) $(DEMANGLER_NAME).pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
162		mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
163	rm -f $(DEMANGLER_NAME).pod
164
165MAINTAINERCLEANFILES = $(man_MANS) binutils.info cxxfilt.man
166
167$(DEMANGLER_NAME).1: cxxfilt.man Makefile
168	if test -f cxxfilt.man; then \
169	  man=cxxfilt.man; \
170	else \
171	  man=$(srcdir)/cxxfilt.man; \
172	fi; \
173	sed -e 's/@PROGRAM@/$(DEMANGLER_NAME)/' \
174	    -e 's/cxxfilt/$(DEMANGLER_NAME)/' < $$man \
175		> $(DEMANGLER_NAME).1
176
177# Maintenance
178
179# We need it for the taz target in ../../Makefile.in.
180info-local: $(MANS)
181