all: fibre.so libthrd-pthread.so.so cforall.so clean: rm -rf fibre.so libthrd-pthread.so.so cforall.so CXXFLAGS=-Wall -Wextra -O3 -g -fpic -std=c++17 -pthread -ftls-model=initial-exec libthrd-pthread.so: thread.cpp thread.hpp Makefile $(CXX) $(CXXFLAGS) -shared -o $@ $< -DWITH_PTHREADS libthrd-fibre.so: thread.cpp thread.hpp Makefile $(CXX) $(CXXFLAGS) -shared -o $@ $< -DWITH_LIBFIBRE -lfibre CFAINC=${HOME}/local/include/cfa-dev CFALIB=${HOME}/local/lib/cfa-dev/x64-debug CFAFLAGS=-z execstack -I${CFAINC} -I${CFAINC}/concurrency -L${CFALIB} -Wl,-rpath,${CFALIB} libthrd-cforall.so: thread.cpp thread.hpp Makefile $(CXX) $(CXXFLAGS) $(CFAFLAGS) -shared -o $@ $< -DWITH_CFORALL -Wl,--push-state,--no-as-needed -lcfathread -lcfa -ldl -lm -Wl,--pop-state