CXX=g++
CXXFLAGS=-Wall -O2 -std=c++11

SRCS=$(shell ls src/*.cpp)
OBJS=$(subst src/,obj/,$(subst .cpp,.o,$(SRCS)))
TARGET=bin/temperature.exe

all: $(TARGET)

create_dirs:
	@mkdir -p obj bin


$(TARGET): create_dirs $(OBJS)
	@echo "create binary $@"
	$(CXX) -o $@ $(OBJS)

obj/%.o: src/%.cpp
	$(CXX) -c -o $@ $< $(CXXFLAGS)

clean:
	rm -rf obj bin tmp_a.txt tmp_b.txt

check: $(TARGET)
	$(TARGET) -i 32 -f 212 -c 10 --unit=fahrenheit >tmp_a.txt
	$(TARGET) --initial-temperature=32 --final-temperature=212 -c 10 -u fahrenheit >tmp_b.txt
	diff -s tmp_a.txt tmp_b.txt

