# 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
/config.h
/config.h.in~
/config.log
/config.status
/phosphor-watchdog
/Makefile
/.deps
/*-libtool
/test/.deps
/test/Makefile
/xyz/openbmc_project/Watchdog/.deps/
/xyz/openbmc_project/Watchdog/.dirstamp
/xyz/openbmc_project/Watchdog/*.o
