# 
# Makefile.in for etc
#

DESTDIR		=

prefix 		= @prefix@
exec_prefix 	= @exec_prefix@

srcdir  = @srcdir@
VPATH	= @srcdir@

bindir  = @bindir@
libdir  = @libdir@
tooldir = $(libdir)
datadir = @datadir@

mandir  = @mandir@
man1dir = $(mandir)/man1
man2dir = $(mandir)/man2
man3dir = $(mandir)/man3
man4dir = $(mandir)/man4
man5dir = $(mandir)/man5
man6dir = $(mandir)/man6
man7dir = $(mandir)/man7
man8dir = $(mandir)/man8
man9dir = $(mandir)/man9
datarootdir = @datarootdir@
docdir = @docdir@
infodir = @infodir@
pdfdir = @docdir@
htmldir = @htmldir@

SHELL = /bin/sh

INSTALL 	= @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA    = @INSTALL_DATA@

#### Host, target, and site specific Makefile fragments come in here.
###

all:

clean:

mostlyclean: clean

distclean:   clean
	rm -f Makefile config.status config.cache

maintainer-clean realclean:   distclean

Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag) \
	config.status
	$(SHELL) ./config.status

AUTOCONF = autoconf
configure_deps = $(srcdir)/configure.in

$(srcdir)/configure: @MAINT@ $(configure_deps)
	cd $(srcdir) && $(AUTOCONF)

config.status: $(srcdir)/configure
	$(SHELL) ./config.status --recheck

## these last targets are for standards.texi conformance
dist:
check:
info html dvi ps pdf:
install install-strip install-info install-html install-pdf:
installcheck:
uninstall:
TAGS:
