# Dependency and object files
.*.d
*.o
*.lo
*.la
.deps
.libs
.dirstamp
*~

# Generated by autoconf/configure
Makefile
Makefile.in
config.*
configure
autom4te.cache
stamp-h1
aclocal.m4
libgtpnl.pc
libtool
build-aux
m4

# Debian package build temporary files
build-stamp
debian/*.substvars
debian/*.debhelper.log
debian/autoreconf.*
debian/.debhelper
debian/files
debian/tmp
debian/libgtpnl-dev
debian/libgtpnl-dbg
debian/libgtpnl0

contrib/libgtpnl.spec

tools/gtp-link
tools/gtp-tunnel

tests/qemu/_*
