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

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


# Code Coverage
*.gcda
*.gcno
*.trs
*-coverage*

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

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

/aminclude_static.am
/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
/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/
