# autotools cruft
aclocal.m4
autom4te.cache/
compile
config.guess
config.h
config.h.in
config.log
config.status
config.sub
configure
depcomp
libtool
ltmain.sh
install-sh
map
missing
stamp-h1
autostuff/
version.h
ChangeLog
INSTALL
tests/check_main

# recursive autoconf leftovers
.deps
Makefile
Makefile.in
.dirstamp

# build leftovers
*~
*.o
*.a
*.lo
*.la
.libs/
*.pc

# KDE backup files
*.kate-swp

# KDevelop project files
*.kdev4

# Files generated by building C++ bindings
doxy/
bindings/cxx/doxy/
bindings/cxx/include/libsigrok/enums.hpp
bindings/cxx/enums.cpp
bindings/cxx/enums.timestamp

# Files generated by building Python bindings
*.pyc
bindings/python/sigrok/core/doc.i
bindings/python/dist/
bindings/python/build
bindings/python/libsigrok.egg-info/
bindings/python/sigrok/__pycache__/
bindings/python/libsigrok.py
bindings/python/libsigrok_python_wrap.c
bindings/python/sigrok/core/lowlevel.py
bindings/python/sigrok/core/lowlevel_wrap.c
bindings/python/sigrok/core/classes.py
bindings/python/sigrok/core/classes_wrap.cpp
bindings/python/timestamp
bindings/python/doxy/

# Files generated by building Java bindings
*.class
bindings/java/org/sigrok/core/classes/doc.i
bindings/java/org/sigrok/core/classes/*.java
bindings/java/org/sigrok/core/classes/classes_wrap.cxx
bindings/java/libsigrok_java_core_classes.so
bindings/java/sigrok-core.jar

# Files generated by the testsuite
test-suite.log
tests/*.log
tests/*.trs

