# Prerequisites
*.d

# Precompiled headers
*.gch
*.pch

# Object files
*.slo
*.lo
*.o
*.obj

# Linker output files
*.exp
*.ilk
*.map

# Compiled dynamic libraries
*.dll
*.dylib
*.so
*.so.*

# Compiled static libraries
*.a
*.la
*.lai
*.lib

# Compiled executables
*.app/
*.exe

# Debug files
*.dSYM/
*.idb
*.pdb
*.su

# Libpng configuration and build artifacts
.deps/
.dirstamp
Makefile
autom4te.cache/
config.h
config.h.in~
config.log
config.status
configure~
libpng-config
libpng.pc
libpng.vers
libpng16-config
libpng16.pc
libtool
pnglibconf.[ch]
pnglibconf.dfn
pnglibconf.out
pnglibconf.pre
pngprefix.h
stamp-h1
vers.out

# Libpng test artifacts
png-fix-itxt
pngcp
pngfix
pngimage
pngstest
pngtest
pngunknown
pngvalid
timepng
pngout.png

# Libpng CI artifacts
out/
