# Development artifacts
ID
TAGS
.*gdbinit
.gdb_history
*~
#*
.#*

# Configure artifacts
Makefile
autom4te.cache
config.cache
config.h
config.log
config.status
stamp-h1

# Build artifacts
.deps
gmk-default.h
loadavg
make
*.o
*.exe
*.dll.a
*.obj
*.lib
*.pdb
*.sbr

# Windows build artifacts
WinDebug/
WinRel/
GccDebug/
GccRel/

# Distribution artifacts
.dep_segment
.check-git-HEAD
ChangeLog
Makefile.DOS
NMakefile
README
README.DOS
README.OS2
README.W32
SMakefile
build.sh
build.sh.in
config.ami
config.h-vms
config.h.W32
configh.dos
make-[0-9]*/
make-[0-9]*.tar.*
checkcfg.*.log
