CC = g++
CFLAGS = -Wall -g -std=c++17
PROGS = SimplePoint test use_fd testcomplex

all: $(PROGS)

testcomplex: testcomplex.cc Complex.o
	$(CC) $(CFLAGS) -o $@ $^

test: test.cc
	$(CC) $(CFLAGS) -o $@ $^

SimplePoint: SimplePoint.cc SimplePoint.h
	$(CC) $(CFLAGS) -o $@ $<

use_fd: use_fd.cc FileDescriptor.h
	$(CC) $(CFLAGS) -o $@ $<

Complex.o: Complex.h Complex.cc
	$(CC) $(CFLAGS) -c Complex.cc

clean:
	rm -f *.o $(PROGS)