############################
# Quake utilities Makefile #
############################

.PHONY:	all clean tyrlite-dist

ifeq ($(OSTYPE),msys)
EXT =.exe
else
EXT =
endif


CC	 = gcc -I./include
#CFLAGS	 = -Wall -Werror -O2 -fomit-frame-pointer
#CFLAGS	 = -Wall -Werror -O2 -fomit-frame-pointer -ffast-math
CFLAGS	 = -Wall -Werror -O3 -fomit-frame-pointer -ffast-math -mcpu=i686
#CFLAGS	 = -Wall -Werror -pg
CPPFLAGS = -DLINUX

######################################
# default rule and maintenence rules #
######################################

all:		tyrlite/tyrlite$(EXT) rvisplus/rvisplus$(EXT)

clean:
		rm -f `find . -type f \( -name '*.o' -o -name '*~' \) -print`
		rm -f tyrlite/tyrlite.exe
		rm -f rvisplus/rvisplus.exe
		rm -f tyrlite/tyrlite
		rm -f rvisplus/rvisplus

###########
# TyrLite #
###########

TYRLITE_HEADERS =	include/tyrlite/entities.h	\
			include/tyrlite/litfile.h	\
			include/tyrlite/threads.h	\
			include/tyrlite/tyrlite.h	\
			include/common/bspfile.h	\
			include/common/cmdlib.h		\
			include/common/mathlib.h	\
			include/common/tyrlog.h

TYRLITE_SOURCES =	tyrlite/entities.c	\
			tyrlite/litfile.c	\
			tyrlite/ltface.c	\
			tyrlite/threads.c	\
			tyrlite/trace.c		\
			tyrlite/tyrlite.c	\
			common/bspfile.c	\
			common/cmdlib.c		\
			common/mathlib.c	\
			common/tyrlog.c

TYRLITE_SRC_EXTRA =	Makefile

TYRLITE_OFILES =	tyrlite/entities.o	\
			tyrlite/litfile.o	\
			tyrlite/ltface.o	\
			tyrlite/threads.o	\
			tyrlite/trace.o		\
			tyrlite/tyrlite.o	\
			common/bspfile.o	\
			common/cmdlib.o		\
			common/mathlib.o        \
			common/tyrlog.o

tyrlite/tyrlite$(EXT):	$(TYRLITE_OFILES)
			$(CC) $(CPPFLAGS) $(CFLAGS) -o tyrlite/tyrlite$(EXT) $(TYRLITE_OFILES) -lm

tyrlite-x.zip:	tyrlite/tyrlite$(EXT) COPYING tyrlite.txt
		strip tyrlite/tyrlite$(EXT)
		zip -j $@ $^

tyrlite-x-src-GPL.zip:	$(TYRLITE_HEADERS) $(TYRLITE_SOURCES) \
			$(TYRLITE_SRC_EXTRA) COPYING tyrlite.txt
			zip $@ $^

tyrlite-dist:	tyrlite-x.zip tyrlite-x-src-GPL.zip

############
# RVisPlus #
############

RVISPLUS_OFILES =	rvisplus/flow.o		\
			rvisplus/rvisplus.o	\
			rvisplus/soundpvs.o	\
			common/cmdlib.o		\
			common/mathlib.o	\
			common/bspfile.o	\
			common/tyrlog.o

rvisplus/rvisplus$(EXT):	$(RVISPLUS_OFILES)
			$(CC) $(CPPFLAGS) $(CFLAGS) -o rvisplus/rvisplus$(EXT) $(RVISPLUS_OFILES) -lm
