CC=gcc
CFLAGS=-O2 -Wall
LEX=flex -i
YACC=bison -y

OS:=$(shell uname -s)
REL:=$(shell uname -r | cut -d. -f1-2)

ifeq ("$(OS)", "SunOS")
LIBS=-lfl -lnsl -lsocket -lresolv -lz
CFLAGS+=-D_SUNOS_
ifeq ("$(REL)", "5.5")
CFLAGS+=-D_NEED_INET_ATON -D_NEED_UINT32_T
EXTRAS=../common/inet_aton.o
endif
endif

ifeq ("$(OS)", "Linux")
LIBS=-lfl -lz
CFLAGS+=-D_LINUX_
endif

ifeq "$(DEBUG)" "y"
CFLAGS+=-D_DEBUG_PARSER
endif

all:		server client

server:		
		make -C svr CFLAGS="$(CFLAGS)" LIBS="$(LIBS)"

client:		
		make -C clnt CFLAGS="$(CFLAGS)" LIBS="$(LIBS)"

todo:
		@grep -n "TODO:" common/*.[ch] >TODO.common
		@grep -n "TODO:" clnt/*.[chy] clnt/*.flex >TODO.client
		@grep -n "TODO:" svr/*.[chy] svr/*.flex >TODO.server

clean:
		rm -f *~ *.bak core
		make -C svr clean
		make -C clnt clean
		make -C common clean
