First commit
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..c0c53f2
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,65 @@
+MININET = mininet/*.py
+TEST = mininet/test/*.py
+EXAMPLES = examples/*.py
+MN = bin/mn
+BIN = $(MN)
+PYSRC = $(MININET) $(TEST) $(EXAMPLES) $(BIN)
+MNEXEC = mnexec
+MANPAGES = mn.1 mnexec.1
+P8IGN = E251,E201,E302,E202
+BINDIR = /usr/bin
+MANDIR = /usr/share/man/man1
+DOCDIRS = doc/html doc/latex
+PDF = doc/latex/refman.pdf
+
+all: codecheck test
+
+clean:
+ rm -rf build dist *.egg-info *.pyc $(MNEXEC) $(MANPAGES) $(DOCDIRS)
+
+codecheck: $(PYSRC)
+ -echo "Running code check"
+ util/versioncheck.py
+ pyflakes $(PYSRC)
+ pylint --rcfile=.pylint $(PYSRC)
+ pep8 --repeat --ignore=$(P8IGN) $(PYSRC)
+
+errcheck: $(PYSRC)
+ -echo "Running check for errors only"
+ pyflakes $(PYSRC)
+ pylint -E --rcfile=.pylint $(PYSRC)
+
+test: $(MININET) $(TEST)
+ -echo "Running tests"
+ mininet/test/test_nets.py
+ mininet/test/test_hifi.py
+
+mnexec: mnexec.c $(MN) mininet/net.py
+ cc $(CFLAGS) $(LDFLAGS) -DVERSION=\"`PYTHONPATH=. $(MN) --version`\" $< -o $@
+
+install: $(MNEXEC) $(MANPAGES)
+ install $(MNEXEC) $(BINDIR)
+ install $(MANPAGES) $(MANDIR)
+ python setup.py install
+
+develop: $(MNEXEC) $(MANPAGES)
+ # Perhaps we should link these as well
+ install $(MNEXEC) $(BINDIR)
+ install $(MANPAGES) $(MANDIR)
+ python setup.py develop
+
+man: $(MANPAGES)
+
+mn.1: $(MN)
+ PYTHONPATH=. help2man -N -n "create a Mininet network." \
+ --no-discard-stderr $< -o $@
+
+mnexec.1: mnexec
+ help2man -N -n "execution utility for Mininet." \
+ -h "-h" -v "-v" --no-discard-stderr ./$< -o $@
+
+.PHONY: doc
+
+doc: man
+ doxygen doc/doxygen.cfg
+ make -C doc/latex