CC       = g++
CXX      = g++

CXXFLAGS = -Wall -g -std=c++20 -pthread -O3
LDFLAGS  = -pthread

executables = concur   atomic   rel-acq   peterson   spin-lock   sharedptr
objects     = concur.o atomic.o rel-acq.o peterson.o spin-lock.o sharedptr.o

.PHONY: default
default: $(executables)

$(executables):

$(objects):

.PHONY: clean
clean:
	rm -f a.out core $(executables) $(objects)

.PHONY: all
all: clean default
