# 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
/libtool

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

/texinfo.tex

# Repo specific items
*.o
/config.h
/config.h.in~
/config.log
/config.status
/ncsi-netlink
/phosphor-network-manager
Makefile
.deps
/*-libtool
/xyz/
test/*.log
test/*.trs
test/test_dns_updater
test/test
/xyz.openbmc_project.Network.conf
/xyz.openbmc_project.Network.service

# https://www.gitignore.io/api/python
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

/build*/
/subprojects/*/
