# git ignore for the autoconf and automake relative temp files
# *.o and *.so should not added here
oe-logs
oe-workdir
COPYING
INSTALL
Makefile.in
aclocal.m4
autom4te.cache/
build-aux/
m4/
config.h.in
config.h.in~
configure
src/Makefile.in
