## Process this file with automake to generate Makefile.in
+#
+# Copyright (C) 2012-2020 Free Software Foundation, Inc.
+#
+# This file 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 3 of the License, 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; see the file COPYING3. If not see
+# <http://www.gnu.org/licenses/>.
+#
-## We should have cygnus in AUTOMAKE_OPTIONS, but it doesn't work yet.
-AUTOMAKE_OPTIONS = foreign
+AUTOMAKE_OPTIONS = foreign no-dist no-texinfo.tex info-in-builddir
+ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd
+TEXINFO_TEX = ../texinfo/texinfo.tex
-SUFFIXES = .m
+SUFFIXES = .c .m
-INCLUDES = -D_GNU_SOURCE -DDEBUG -DTARGET_$(MY_TARGET) -DMACHINE_H=\"$(MY_TARGET).h\" -I../bfd -I$(srcdir)/../include -I$(srcdir)/../bfd
+SUBDIRS = po
-LINK = $(HLDENV) $(CC) $(LDFLAGS) -o $@
+BASEDIR = $(srcdir)/..
+BFDDIR = $(BASEDIR)/bfd
+INCDIR = $(BASEDIR)/include
-MY_TARGET = @MY_TARGET@
+WARN_CFLAGS = @WARN_CFLAGS@
+NO_WERROR = @NO_WERROR@
+AM_CFLAGS = $(WARN_CFLAGS)
+
+AM_CPPFLAGS = -DDEBUG -I../bfd -I$(srcdir)/../include \
+ -I$(srcdir)/../bfd @INCINTL@ -I. \
+ -DLOCALEDIR="\"$(datadir)/locale\""
bin_PROGRAMS = gprof
-gprof_SOURCES = basic_blocks.c call_graph.c cg_arcs.c cg_dfn.c \
- cg_print.c core.c gmon_io.c gprof.c hertz.c hist.c source.c \
+## Convenience var listing pure sources.
+sources = basic_blocks.c call_graph.c cg_arcs.c cg_dfn.c \
+ cg_print.c corefile.c gmon_io.c gprof.c hertz.c hist.c source.c \
search_list.c symtab.c sym_ids.c utils.c \
- flat_bl.c bsd_callg_bl.c fsf_callg_bl.c
-gprof_LDFLAGS = $(HLDFLAGS)
-gprof_DEPENDENCIES = $(MY_TARGET).o ../bfd/libbfd.a ../libiberty/libiberty.a
-gprof_LDADD = $(MY_TARGET).o @BFDLIB@ ../libiberty/libiberty.a
+ i386.c alpha.c vax.c sparc.c mips.c aarch64.c
+gprof_SOURCES = $(sources) flat_bl.c bsd_callg_bl.c fsf_callg_bl.c
+gprof_DEPENDENCIES = ../bfd/libbfd.la ../libiberty/libiberty.a $(LIBINTL_DEP)
+gprof_LDADD = ../bfd/libbfd.la ../libiberty/libiberty.a $(LIBINTL)
noinst_HEADERS = \
- alpha.h i386.h ns532.h sparc.h tahoe.h vax.h dummy.h \
basic_blocks.h call_graph.h cg_arcs.h cg_dfn.h cg_print.h \
- core.h gmon.h gmon_io.h gmon_out.h gprof.h hertz.h hist.h \
- search_list.h source.h sparc.h sym_ids.h symtab.h utils.h
-
-EXTRA_DIST = \
- alpha.c i386.c ns532.c sparc.c tahoe.c vax.c dummy.c \
- flat_bl.c bsd_callg_bl.c fsf_callg_bl.c \
+ corefile.h gmon.h gmon_io.h gmon_out.h gprof.h hertz.h hist.h \
+ search_list.h source.h sym_ids.h symtab.h utils.h
BUILT_SOURCES = flat_bl.c bsd_callg_bl.c fsf_callg_bl.c
+EXTRA_DIST = $(BUILT_SOURCES) bbconv.pl $(man_MANS)
+
+diststuff: $(BUILT_SOURCES) info $(man_MANS)
+
+# development.sh is used to determine -Werror default.
+CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/development.sh
+
+# This empty rule is a hack against gmake patched by Apple.
+%.o:%.m
.m.c:
- awk -f $(srcdir)/gen-c-prog.awk > ./$*.c \
+ awk -f $(srcdir)/gen-c-prog.awk > $@ \
FUNCTION=`(echo $*|sed -e 's,.*/,,g' -e 's/_bl//')`_blurb \
- FILE=$*.m $(srcdir)/$*.m
+ FILE=$*.m $<
+
+POTFILES = $(sources) $(noinst_HEADERS)
+po/POTFILES.in: @MAINT@ Makefile
+ for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \
+ && mv tmp $(srcdir)/po/POTFILES.in
+
+MANCONF = -Dman
+
+TEXI2POD = perl $(srcdir)/../etc/texi2pod.pl $(AM_MAKEINFOFLAGS)
+
+POD2MAN = pod2man --center="GNU" --release="binutils-$(VERSION)" --section=1
info_TEXINFOS = gprof.texi
+gprof_TEXINFOS = config.texi
man_MANS = gprof.1
-# Dependencies.
-$(OBJECTS): ../bfd/bfd.h call_graph.h cg_arcs.h cg_print.h \
- core.h gmon_io.h gmon_out.h gprof.h hertz.h hist.h \
- search_list.h source.h sym_ids.h symtab.h utils.h \
- $(srcdir)/../include/libiberty.h $(srcdir)/../bfd/sysdep.h \
- $(MY_TARGET).h
-$(MY_TARGET).o: $(MY_TARGET).c
-basic_blocks.o: basic_blocks.c
-bsd_call_bl.o: bsd_call_bl.c
-call_graph.o: call_graph.c
-cg_arcs.o: cg_arcs.c
-cg_dfn.o: cg_dfn.c
-cg_print.o: cg_print.c
-core.o: core.c
-flat_bl.o: flat_bl.c
-fsf_callg_bl.o: fsf_callg_bl.c
-gmon_io.o: gmon_io.c
-gprof.o: gprof.c
-hertz.o: hertz.c
-hist.o: hist.c
-search_list.o: search_list.c
-source.o: source.c
-symtab.o: symtab.c
-sym_ids.o: sym_ids.c
-utils.o: utils.c
+AM_MAKEINFOFLAGS = -I "$(srcdir)" -I "$(top_srcdir)/../bfd/doc" -I ../bfd/doc
+TEXI2DVI = texi2dvi -I "$(srcdir)" -I "$(top_srcdir)/../bfd/doc" -I ../bfd/doc
+
+config.texi:
+ echo "@set top_srcdir $(top_srcdir)" >> ./config.texi
+
+# Build the man page from the texinfo file
+# The sed command removes the no-adjust Nroff command so that
+# the man output looks standard.
+gprof.1: $(srcdir)/gprof.texi config.texi
+ touch $@
+ -$(TEXI2POD) $(MANCONF) -Dgprof < $(srcdir)/gprof.texi > gprof.pod
+ -($(POD2MAN) gprof.pod | \
+ sed -e '/^.if n .na/d' > $@.T$$$$ && \
+ mv -f $@.T$$$$ $@) || \
+ (rm -f $@.T$$$$ && exit 1)
+ rm -f gprof.pod
+
+MAINTAINERCLEANFILES = gprof.info