# Compiled Object files
*.slo
*.lo
*.o
*.obj
*.os
*.scons*

# Compiled Dynamic libraries
*.so
lib*.so*
*.dylib
*.dll
*.so.1

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

# Executables
*.exe
*.out
*.app

# Dependency file
*.d

# Mac swap file
*.DS_Store

# Linux swap file
*.swp

# Exclude compiled executables
/examples/SampleProducer
/examples/SampleConsumer
/examples/SampleAsyncProducer
/examples/SampleConsumerListener
/tests/main
/perf/perfProducer
/perf/perfConsumer
/system-test/SystemTest

# IDE generated files
.csettings
.cproject
.project
.settings/
.pydevproject
.idea/
*.cbp

# doxygen files
apidocs/

# Protobuf generated files
*.pb.cc
*.pb.h

# CMAKE
Makefile
cmake_install.cmake
CMakeFiles
CMakeCache.txt

pulsar-dist
