Installation instructions for iptables
======================================

ebtables uses the well-known configure(autotools) infrastructure.

	$ ./configure
	$ make
	# make install


Prerequisites
=============

	* no kernel-source required

	* but obviously a compiler, glibc-devel and linux-kernel-headers
	  (/usr/include/linux)


Configuring and compiling
=========================

./configure [options]

--prefix=

	The prefix to put all installed files under. It defaults to
	/usr/local, so the binaries will go into /usr/local/bin, sbin,
	manpages into /usr/local/share/man, etc.

If you want to enable debugging, use

	./configure CFLAGS="-ggdb3 -O0" CPPFLAGS="-DEBT_DEBUG"

(-O0 is used to turn off instruction reordering, which makes debugging
much easier.)
