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

# Libraries
*.lib
*.a

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

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

# Test artefacts
tmp*
dictionary.
dictionary
NUL

# Build artefacts
projects/
bin/
.buckd/
buck-out/

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