# Makefile for server/client example (UNIX).

GUISUFFIX=_ol
CC = gcc

WXDIR = /usr/contrib/wxwin
WXINC = $(WXDIR)/include
WXLIB = $(WXDIR)/lib/libwxwin$(GUISUFFIX).sa

INC = -I$(WXINC) -I$(WXDIR)/include/base -I$(WXDIR)/include/x
OBJDIR = objects$(GUISUFFIX)

OBJECTS=$(OBJDIR)/server.o $(OBJDIR)/client.o

OPT = -O2
DEBUG = #-ggdb
GUI = -Dwx_xview -Dlinux
#XVIEW_LINK = $(WXDIR)/src/x/objects_ol/sb_scrol.o

CPPFLAGS = $(INC) $(GUI) $(DEBUG) $(OPT)
LDFLAGS =  -L$(WXDIR)/lib
LDLIBS =   -lwxwin_ol -lxview -lolgx -lX11 -lm -lg++

all:	$(OBJDIR) server$(GUISUFFIX) client$(GUISUFFIX)

.SUFFIXES:

wxclean:
	cd $(WXDIR)/src/x; make -f makefile.unx clean

wx:
	cd $(WXDIR)/src/x; make -f makefile.unx OPT=$(OPT) GUI=$(GUI)

motif:
#	cd $(WXDIR)/src/x; make -f makefile.unx motif OPT=$(OPT)
	make -f makefile.unx GUI=-Dwx_motif OPT=$(OPT) GUISUFFIX=_motif LDLIBS='-lwx_motif -lXm -lXt -lX11 -lm -lg++' XVIEW_LINK=

xview:
#	cd $(WXDIR)/src/x; make -f makefile.unx xview OPT=$(OPT)
	make -f makefile.unx GUI=-Dwx_xview GUISUFFIX=_ol OPT=$(OPT)

$(OBJDIR):
	mkdir $(OBJDIR)

# .cc.o:	
#	$(CC) -c $(CPPFLAGS) -o $@ $*.cc

server$(GUISUFFIX): $(OBJDIR)/server.o $(WXLIB)
	$(CC) $(CPPFLAGS) $(LDFLAGS) -o server$(GUISUFFIX) $(OBJDIR)/server.o $(XVIEW_LINK) $(LDLIBS)

$(OBJDIR)/server.o:        server.cc server.h
	$(CC) -c $(CPPFLAGS) -o $@ server.cc

client$(GUISUFFIX): $(OBJDIR)/client.o $(WXLIB)
	$(CC) $(CPPFLAGS) $(LDFLAGS) -o client$(GUISUFFIX) $(OBJDIR)/client.o $(XVIEW_LINK) $(LDLIBS)

$(OBJDIR)/client.o:        client.cc client.h
	$(CC) -c $(CPPFLAGS) -o $@ client.cc

cleanmotif:
	make -f makefile.unx GUISUFFIX=_motif cleanany

cleanol:
	make -f makefile.unx GUISUFFIX=_ol cleanany

cleanany:
	rm -f $(OBJECTS) server$(GUISUFFIX) client$(GUISUFFIX) core
