# Compiled files
*.slo
*.lo
*.o
*.so
*.dylib
*.lai
*.la
*.a
bin/*
libs/*

# Emacs temp files
*~

# Autoconf files
Makefile
Makefile.in
.libs
.deps
/autom4te.cache
config.log
/config.status
/include/config.h
/_configs.sed
/stamp-h1
/include/ndn-cpp/ndn-cpp-config.h
/include/stamp-h1
/aclocal.m4
/libtool
/condefs.h
/conftest.cpp
/conftest.err
*.Po
.deps
.dirstamp
*.tar.gz
# Let autoconf automatically copy these files
/m4/libtool.m4
/m4/ltoptions.m4
/m4/ltsugar.m4
/m4/ltversion.m4
/m4/lt~obsolete.m4

Makefile.in
ar-lib
compile
config.guess
config.sub
configure
depcomp
include/config.h.in
install-sh
ltmain.sh
missing

# Doxygen output
/doc/html
/doc/latex

# Mac OSX
.DS_Store

# Tests
tests/test-encode-decode-benchmark
tests/test-encode-decode-data
tests/test-encode-decode-forwarding-entry
tests/test-encode-decode-interest
tests/test-get-async
tests/test-publish-async

# Tests using Boost's unit test framework
tests_boost/unit-tests

# Tools
tools/tlvdump
tools/ndncatchunks
tools/ndnputchunks

# Examples
examples/consumer
examples/producer

