# @(#)Makefile 5.17 (Berkeley) 5/11/90
-srcdir = .
+.SUFFIXES : .m
-prefix = /usr/local
+VPATH = @srcdir@
+srcdir = @srcdir@
+prefix = @prefix@
-program_prefix =
-exec_prefix = $(prefix)
-bindir = $(exec_prefix)/bin
-libdir = $(exec_prefix)/lib
+exec_prefix = @exec_prefix@
+program_transform_name = @program_transform_name@
+
+bindir = @bindir@
+libdir = @libdir@
tooldir = $(libdir)
-mandir = $(prefix)/man
+mandir = @mandir@
man1dir = $(mandir)/man1
-datadir = $(prefix)/lib
+infodir = @infodir@
+datadir = @datadir@
-INSTALL = install -c
-INSTALL_PROGRAM = $(INSTALL)
-INSTALL_DATA = $(INSTALL)
+SHELL = /bin/sh
-#### host and target dependent Makefile fragments come in here.
-###
+INSTALL = `cd $(srcdir); pwd`/../install.sh -c
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_XFORM = $(INSTALL) -t='$(program_transform_name)'
+INSTALL_XFORM1 = $(INSTALL_XFORM) -b=.1
+MAKEINFO = makeinfo
+TEX = tex
+TEXINDEX = texindex
-PROG= gprof
-SRCS= gprof.c arcs.c dfn.c lookup.c ${MACHINE}.c hertz.c \
- printgprof.c printlist.c
-LIBS = ../bfd/libbfd.a ../libiberty/libiberty.a
+# this is the directory we look in to find Texinfo
+texidir = $(srcdir)/../texinfo
-OBJS= blurbs.o gprof.o arcs.o dfn.o lookup.o $(MACHINE).o hertz.o \
- printgprof.o printlist.o
+MY_TARGET= @MY_TARGET@
-CFLAGS=
+PROG= gprof
+SRCS= $(MY_TARGET).c 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 search_list.c symtab.c \
+ sym_ids.c utils.c
+
+LIBDEPS = ../bfd/libbfd.a ../libiberty/libiberty.a
+LIBS = @BFDLIB@ ../libiberty/libiberty.a
+
+OBJS= $(MY_TARGET).o basic_blocks.o bsd_callg_bl.o call_graph.o \
+ cg_arcs.o cg_dfn.o cg_print.o core.o flat_bl.o fsf_callg_bl.o \
+ gmon_io.o gprof.o hertz.o hist.o source.o search_list.o symtab.o \
+ sym_ids.o utils.o
+
+# Files that can be generated, but should be included in distribution.
+GEN_FILES = flat_bl.c bsd_callg_bl.c fsf_callg_bl.c
+
+CFLAGS=-g -DDEBUG
+LDFLAGS=
+HLDFLAGS = @HLDFLAGS@
+HLDENV = @HLDENV@
.c.o:
- $(CC) -c $(CFLAGS) -I$(srcdir) -I$(srcdir)/../include -DMACHINE_H=\"$(MACHINE).h\" $(TCFLAGS) $(HCFLAGS) $<
+ $(CC) -c -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(srcdir)/../include -I$(srcdir)/../bfd -DMACHINE_H=\"$(MY_TARGET).h\" $(TCFLAGS) $(HCFLAGS) $(CFLAGS) $<
-all: $(PROG)
+all: $(GEN_FILES) $(PROG)
-.PHONY: check info install-info
-check:
-info:
-install-info:
+.PHONY: check installcheck info install-info
+.SUFFIXES: .m
-install: all
- $(INSTALL_DATA) $(srcdir)/gprof.1 $(man1dir)/gprof.1
- $(INSTALL_PROGRAM) $(PROG) $(bindir)
+.m.c:
+ awk -f $(srcdir)/gen-c-prog.awk > ./$*.c \
+ FUNCTION=`(echo $*|sed -e 's,.*/,,g' -e 's/_bl//')`_blurb \
+ FILE=$*.m $(srcdir)/$*.m
-$(PROG): $(OBJS)
- $(CC) $(CFLAGS) $(OBJS) -o $(PROG) $(LIBS)
+diststuff: $(GEN_FILES) info
-# Make blurbs.c from gprof.callg and gprof.flat
-blurbs.c: $(srcdir)/gprof.callg $(srcdir)/gprof.flat $(srcdir)/make-c-prog.awk
- awk -f $(srcdir)/make-c-prog.awk > ./blurbs.c \
- FUNCTION=flat_blurb $(srcdir)/gprof.flat \
- FUNCTION=callg_blurb $(srcdir)/gprof.callg \
+gprof.info: gprof.texi
+ $(MAKEINFO) -o gprof.info $(srcdir)/gprof.texi
-clean:
- -rm -f $(OBJS) core gprof nohup.out
+gprof.dvi: gprof.texi
+ TEXINPUTS=${TEXIDIR}:$(srcdir):$$TEXINPUTS $(TEX) $(srcdir)/gprof.texi
+ $(TEXINDEX) gprof.??
+ TEXINPUTS=${TEXIDIR}:$(srcdir):$$TEXINPUTS $(TEX) $(srcdir)/gprof.texi
-Makefile : Makefile.in
- sh config.status
+info: gprof.info
+dvi: gprof.dvi
+
+check:
+installcheck:
+
+TAGS:
+ etags $(srcdir)/*.[ch]
+tags: TAGS
+
+install-info: gprof.info
+ if [ -r gprof.info ]; then \
+ dir=. ; \
+ else \
+ dir=$(srcdir) ; \
+ fi ; \
+ for i in `cd $$dir; echo gprof.info*` ; do \
+ $(INSTALL_DATA) $$dir/$$i $(infodir)/$$i ; \
+ done
+
+install: all
+ $(INSTALL_XFORM) gprof $(bindir)/gprof
+ $(INSTALL_XFORM1) $(srcdir)/gprof.1 $(man1dir)/gprof.1
+
+gprof: $(OBJS) $(LIBDEPS)
+ $(HLDENV) $(CC) -o $(PROG) $(HLDFLAGS) $(LDFLAGS) $(CFLAGS) $(OBJS) $(LIBS)
+
+mostlyclean:
+ -rm -f *.o core gprof nohup.out \
+ gprof.cps gprof.fns gprof.log gprof.ps gprof.tps\
+ gprof.aux gprof.dvi gprof.ky gprof.pg gprof.toc gprof.vr\
+ gprof.cp gprof.fn gprof.kys gprof.pgs gprof.tp gprof.vrs
+clean: mostlyclean
+ -rm -f gprof
+distclean: clean
+ -rm -f config.cache config.log config.status Makefile
+maintainer-clean realclean: distclean
+ -rm -f $(GEN_FILES) *.info*
+
+Makefile: Makefile.in config.status
+ $(SHELL) config.status
+
+config.status: configure
+ $(SHELL) config.status --recheck
+
+$(OBJS): ../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
# These get around a bug in Sun Make in SunOS 4.1.1 and Solaris 2
+$(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
-arcs.o: arcs.c
-dfn.o: dfn.c
-lookup.o: lookup.c
-$(MACHINE).o: $(MACHINE).c
hertz.o: hertz.c
-printgprof.o: printgprof.c
-printlist.o: printlist.c
-blurbs.o: blurbs.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