# First, ignore yourself.
.gitignore

# Files created by ./bootstrap.
Makefile.in
aclocal.m4
ar-lib
autom4te.cache
compile
config.guess
config.sub
configure
depcomp
install-sh
libtool.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
missing

# Files created by ./support/setup-dev.sh
.clang-format
.clang-tidy
.pre-commit-config.yaml
.reviewboardrc
.gitlint
CPPLINT.cfg

# Recommended build directory.
/build/

# Intermediate build artifacts
*.la
*.lo
*.o
.dirstamp
.deps/
.libs/
*-stamp
