CC  = g++
CXX = g++

CFLAGS   = -g -Wall
CXXFLAGS = -g -Wall -std=c++17

# turn off warnings about unused variables
CXXFLAGS += -Wno-unused-variable

executables = smartptr shared_ptr unique_ptr

.PHONY: default
default: $(executables)

smartptr: smartptr.o

shared_ptr: shared_ptr.o

unique_ptr: unique_ptr.o

smartptr.o: smartptr.h

shared_ptr.o: smartptr.h

.PHONY: clean
clean:
	rm -f *~ a.out core *.o $(executables)

.PHONY: all
all: clean default
