SRCS=$(wildcard *.cc)
DEPS=$(SRCS:.cc=.d)
EXES=grade_analysis grade_analysis_dry extract_fails palindrome split_test urls
EXES+=wc xref
CXX=clang++
CXXFLAGS=-std=c++14 -O3 -Wall -Wextra

all: $(EXES)

grade_analysis:	grade_analysis.o student_info.o grade.o median.o average.o

grade_analysis_dry: grade_analysis_dry.o student_info.o grade.o median.o \
    average.o

extract_fails: extract_fails.o grade.o median.o student_info.o

palindrome:	palindrome.o

split_test: split_test.o split.o

urls:	urls.o

xref:	xref.o split.o

wc:	wc.o

clean:
	rm -f *.o *.d

distclean:	clean
	rm -f $(EXES)

-include $(DEPS)

%:	%.o
	$(CXX) $(CXXFLAGS) -o $@ $^

%.d:	%.cc
	$(CXX) $(CXXFLAGS) $< -MM -MT $(@:.d=.o) -MF $@

%.o:	%.cc
	$(CXX) $(CXXFLAGS) -c $<

.PHONY: all clean distclean
