# 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
*.a
*.o
*.lo
*.la
*.so*
/config.h
/config.h.in~
/config.log
/config.status
Makefile
.deps
.dirstamp
.libs/
/libtool
/*-libtool
/ipmid
.project
/softoff/phosphor-softpoweroff
/softoff/xyz/
/fru-read-gen.cpp
/ipmiwhitelist.cpp
/sensor-gen.cpp
/inventory-sensor-gen.cpp
/fru-read-gen.cpp
/channel-gen.cpp

# test related
/test/sample_unittest
/test/*.log
/test/*.trs
/test-suite.log
*-1.0-coverage*
test/*.gcda
test/*.gcno
softoff/test

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