CC = g++
CFLAGS = -c

PROGNAME = beta
CPP = main.cpp

HEADER = util.h
HEADER_INCLUDE_FOLDER = ../util-lib

LIB = util
LIB_FOLDER = ../util-lib


OBJ = $(CPP:.cpp=.o)

$(PROGNAME): $(OBJ) ../util-lib/libutil.a
	$(CC) -o $(PROGNAME) $(OBJ) -L $(LIB_FOLDER) -l $(LIB)

%.o: %.cpp
	$(CC) $(CFLAGS) -I $(HEADER_INCLUDE_FOLDER) -o $@ $<

$(LIB):
	make -C ../util-lib

.PHONY: clean
.PHONY: $(LIB)
.PHONY: test1
.PHONY: test2
.PHONY: tests

clean:
	rm $(PROGNAME)
	rm $(OBJ)

test1: $(PROGNAME)
	$(PROGNAME) < test1 > foo
	diff test1.out foo

test2: $(PROGNAME)
	$(PROGNAME) < test2 > foo
	diff test2.out foo

tests: test1 test2
