# Template from:
# https://github.com/github/gitignore/blob/master/Autotools.gitignore

# http://www.gnu.org/software/automake

Makefile.in
/ar-lib
/mdate-sh
/py-compile
/test-driver
/ylwrap

# http://www.gnu.org/software/autoconf

/autom4te.cache
/autoscan.log
/autoscan-*.log
/aclocal.m4
/compile
/config.guess
/config.h.in
/config.sub
/configure
/configure.scan
/depcomp
/install-sh
/missing
/stamp-h1

# https://www.gnu.org/software/libtool/

/ltmain.sh

# http://www.gnu.org/software/texinfo

/texinfo.tex

# Repo Specific Items
*.o
*.lo
/config.h
/config.h.in~
/config.log
/config.status
Makefile
.deps
.dirstamp
/lib*
.libs/
/*-libtool
/ipmid
.project
/test/*_unittest
/test/*.log
/test/*.trs

# ignore vim swap files
.*.sw*
# failures from patch
*.orig
*.rej
# backup files from some editors
*~
.cscope/
build/
