# Object files
*.o
*.ko
*.dSYM

# Libraries
*.lib
*.a

# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib

# Executables
zstd
*.exe
*.out
*.app

# Test artefacts
tmp*
dictionary*

# Other files
.directory
_codelite/
_zstdbench/
.clang_complete
*.idea
*.swp
.DS_Store
googletest/
*.d

# Directories
bin/
