
NAME:=paintedwidget

VERSIONS:=$(shell git tag | grep ${NAME} | wc -l)
VERSION_NUM:=$(shell expr ${VERSIONS} + 1)
TAG_NAME:=${NAME}-${VERSION_NUM}

FLAGS:=-Wall -Wextra -std=c++0x
DEP_FILES:=${OBJS:%.o=%.dep}

#FLAGS+=-DWORKING_EXAMPLE1
#FLAGS+=-DWORKING_EXAMPLE2
#FLAGS+=-DWORKING_EXAMPLE3

OBJS:=main.o app.o PaintedW.o
PKG_FILES:=main.cpp PaintedW.h PaintedW.cpp app.h app.cpp Makefile style.css

default: main

main: ${OBJS} Makefile
	g++ -o main -lwt -lwthttp -lQtCore ${OBJS}

%.o: %.cpp Makefile
	g++ ${FLAGS} -c ${<}

run: main
	./main --http-address 0.0.0.0 --http-port 8001 --docroot .

clean:
	rm -f main ${OBJS} ${DEP_FILES}

%.dep: %.cpp
	g++ -MM ${<} -o ${@}

ifneq ($(findstring clean,${MAKECMDGOALS}),clean)
-include ${DEP_FILES}
endif

pkg:
	@if [ `git status | grep modified: | wc -l` -ne "0" ] ; then echo "Modified files exist."; exit 1; fi
	@echo "Creating package ${TAG_NAME}"
	mkdir ${TAG_NAME}
	cp Makefile ${PKG_FILES} ${TAG_NAME}/
	tar czf ${TAG_NAME}.tar.gz ${TAG_NAME}
	git tag ${TAG_NAME}
	rm -r ${TAG_NAME}
	@echo "Done."

