CC=g++
MYSQLLIB=-L/usr/local/mysql/lib/
MYSQLINC=-I/usr/local/mysql/include/
INCLUDES=${MYSQLINC} -I../include/
LIBPATH=${MYSQLLIB} -L../lib/
HEADERS=row.h station.h module.h rack.h
OBJECTS=rack.o module.o station.o row.o
SOURCES=calc.cpp module.cpp rack.cpp row.cpp station.cpp test.cpp
LIBS=-lresultset -lmysqlclient -lz
DEFINES=-DRELEASE
DEBUG=-g

.PHONY: all Makefile

all: test calc

calc: calc.o ${OBJECTS}
	${CC} ${DEBUG} -o calc calc.o ${OBJECTS} ${DEFINES} ${LIBPATH} ${LIBS}
test: test.o ${OBJECTS}
	${CC} ${DEBUG} -o test test.o ${OBJECTS} ${DEFINES} ${LIBPATH} ${LIBS}

%.o: %.cpp ${HEADERS}
	${CC} ${DEBUG} -c $< -o $@ ${DEFINES} ${INCLUDES}
%.cpp:
	co -M $@
%.h:
	co -M $@
clean:
	rm -f *.o *.stackdump *~ calc test

archive: ${HEADERS} ${SOURCES}
	tar -czvf calc.tar.gz Makefile ${SOURCES} ${HEADERS}
