CC       = g++

INCLUDE  = -Iinclude
LIBPATH =
# following line for sunos
LIB	= -lz -lsocket -lnsl -lX11 -lpthread -lposix4

ROOT       = .

#--------------  N E T  W O R K     T H R E A D
CLIENT_OBJ = $(ROOT)/client-net/client.o $(ROOT)/client-net/subloop.o    \
             $(ROOT)/client-net/sparse_2.o $(ROOT)/tcp/sparse_mask.o \
	     $(ROOT)/client-net/queue.o $(ROOT)/tcp/netc.o $(ROOT)/tcp/tcp.o \
	     $(ROOT)/tcp/tcpstream.o $(ROOT)/tcp/lzrw1.o

#--------------  D I S P L A Y      T H R E A D

WIN_OBJ    = $(ROOT)/X/win.o $(ROOT)/X/X_func.o $(ROOT)/X/alloc_cl.o \
	     $(ROOT)/X/fill.o $(ROOT)/X/display.o



#--------------  S E R V E R 
SERVER_OBJ = $(ROOT)/server/combine.o $(ROOT)/server/coeff.o    \
             $(ROOT)/server/sparse_mask.o

#-------------------------------------------------------
#        prgram in this directory
#-------------------------------------------------------

PROGS = client

all:    $(PROGS)

client: $(CLIENT_OBJ)   $(WIN_OBJ)  $(DISPLA_OBJ)
	$(CC) -O9 -DMAIN $(INCLUDE) $(LIBPATH)                  \
      $(CLIENT_OBJ) \
      $(WIN_OBJ)    \
      $(DISPLA_OBJ)  \
       -o client $(LIB)

#-------------------------------------------------------
.c.o:
	$(CC) -O9  $(INCLUDE)  -c $< -o $@ 

#-----  S p e c i a l    C a s e s----------------------

$(ROOT)/tcp/lzrw1.o: $(ROOT)/tcp/lzrw1.c
	gcc -O9 -D__HUGE__ -c $< -o $@

$(ROOT)/tcp/netc.o : $(ROOT)/tcp/netc.C $(ROOT)/tcp/tcp.h \
	 $(ROOT)/include/tcpstream.h $(ROOT)/include/window.h       \
         $(ROOT)/include/sparse_mask.h $(ROOT)/include/sparse_2.h 
	$(CC) -O9 -DMAIN $(INCLUDE) -c $< -o $@ 

$(ROOT)/nets.o : $(ROOT)/nets.C $(ROOT)/include/server.h \
	 $(ROOT)/include/tcpstream.h
	$(CC) -O9 -DMAIN $(INCLUDE) -c $< -o $@

.C.o:	; $(CC) -c -o $@ $*.C $(INCLUDE)

#...........    c l i e n t 

CLIDIR = $(ROOT)/client-net

$(CLIDIR)/sparse_2.o: $(CLIDIR)/sparse_2.C        \
                      $(ROOT)/include/sparse_mask.h $(ROOT)/include/sparse_2.h
	$(CC) -O9 $(INCLUDE) -c $< -o $@

$(CLIDIR)/client.o : $(CLIDIR)/client.C $(ROOT)/include/sparse_2.h \
              $(ROOT)/include/window.h $(ROOT)/include/block_item.h \
              $(ROOT)/include/sparse_mask.h
	$(CC) -O9 $(INCLUDE) -c $< -o $@

$(ROOT)/X/alloc_cl.o: $(ROOT)/X/alloc_cl.C
	$(CC) -O9 -c $< -o $@ $(INCLUDE)
#-------------------------------------------------------