# 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/
/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
*-libtool
/org/open_power/OCC/PassThrough/
/openpower-occ-control
/test/utest
/test/utest-utest.o
/test/*.log
/test/*.trs
