## Process this file with automake to produce Makefile.in

SUBDIRS = nfs rpcsvc sys

noinst_HEADERS = \
	exportfs.h \
	ha-callout.h \
	misc.h \
	nfs_mntent.h \
	nfs_paths.h \
	nfslib.h \
	nfsrpc.h \
	nsm.h \
	rpcmisc.h \
	tcpwrapper.h \
	xio.h \
	xlog.h \
	xmalloc.h \
	xcommon.h \
	conffile.h

MAINTAINERCLEANFILES = Makefile.in
