#	@(#)Makefile	5.17 (Berkeley) 5/11/90

srcdir = .

prefix 	= /usr/local

program_prefix 	=
exec_prefix 	= $(prefix)
bindir 	= $(exec_prefix)/bin
libdir 	= $(exec_prefix)/lib
tooldir = $(libdir)
mandir 	= $(prefix)/man
man1dir = $(mandir)/man1

infodir	= $(prefix)/info
datadir = $(prefix)/lib

INSTALL 	= install -c
INSTALL_PROGRAM = $(INSTALL)
INSTALL_DATA 	= $(INSTALL)
MAKEINFO	= makeinfo
TEX		= tex
TEXINDEX	= texindex

# this is the directory we look in to find Texinfo
texidir		= $(srcdir)/../texinfo

#### host and target dependent Makefile fragments come in here.
###

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

OBJS=	gprof.o arcs.o dfn.o lookup.o $(MACHINE).o hertz.o \
	printgprof.o printlist.o \
	flat_bl.o bsd_callg_bl.o fsf_callg_bl.o

# Files that can be generated, but should be included in distribution.
DISTSTUFF = flat_bl.c bsd_callg_bl.c fsf_callg_bl.c

CFLAGS=-g
LDFLAGS=
.c.o:
	$(CC) -c $(CFLAGS) -I. -I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../bfd -DMACHINE_H=\"$(MACHINE).h\" $(TCFLAGS) $(HCFLAGS) $<

all:	diststuff $(PROG)

.PHONY: check installcheck info install-info
.SUFFIXES: .m

.m.c:
	awk -f $(srcdir)/gen-c-prog.awk > ./$*.c \
	    FUNCTION=`(echo $*|sed -e 's/_bl//')`_blurb \
	    FILE=$*.m $(srcdir)/$*.m

diststuff: $(DISTSTUFF)

gprof.info: gprof.texi
	$(MAKEINFO) -o gprof.info $(srcdir)/gprof.texi

gprof.dvi: gprof.texi
	TEXINPUTS=${TEXIDIR}:$(srcdir):$$TEXINPUTS $(TEX) $(srcdir)/gprof.texi
	$(TEXINDEX) gprof.??
	TEXINPUTS=${TEXIDIR}:$(srcdir):$$TEXINPUTS $(TEX) $(srcdir)/gprof.texi

info: gprof.info

dvi: gprof.dvi

check:
installcheck:

install-info: info
	-parent=`echo $(infodir)|sed -e 's@/[^/]*$$@@'`; \
	if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi
	-if [ -d $(infodir) ] ; then true ; else mkdir $(infodir) ; fi
	for i in *.info* ; do \
		$(INSTALL_DATA) $$i $(infodir)/$$i ; \
	done

install: all
	-parent=`echo $(man1dir)|sed -e 's@/[^/]*$$@@'`; \
	if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi
	-if [ -d $(man1dir) ] ; then true ; else mkdir $(man1dir) ; fi
	-parent=`echo $(bindir)|sed -e 's@/[^/]*$$@@'`; \
	if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi
	-if [ -d $(bindir) ] ; then true ; else mkdir $(bindir) ; fi
	$(INSTALL_PROGRAM) $(PROG) $(bindir)/$(PROG)
	$(INSTALL_DATA) $(srcdir)/gprof.1 $(man1dir)/gprof.1

$(PROG):	$(OBJS)
	$(CC) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIBS)

mostlyclean:
	-rm -f *.o core gprof nohup.out gprof.info* \
	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.status Makefile
realclean: distclean
	-rm -f $(DISTSTUFF)

Makefile : Makefile.in
	sh config.status


# These get around a bug in Sun Make in SunOS 4.1.1 and Solaris 2
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
flat_bl.o: flat_bl.c
bsd_callg_bl.o: bsd_callg_bl.c
fsf_callg_bl.o: fsf_callg_bl.c
