# Makefile for cmlog user client library
include ../Makefile.config

OBJTYPE = .obj/$(TARGETDIR)

#-D_CMLOG_DEBUG 
XTRACXXFLAGS := -I. -I../data -I../Common -I../Network \
	-I../Browser -I../C++/motif \
	-D_CMLOG_BUILD_CLIENT
XTRACFLAGS := -I. -I. -I../data -I../Common -I../Network \
	-I../Browser -I../C++/motif \
	-D_CMLOG_BUILD_CLIENT

OBJS = 	$(OBJTYPE)/cmlogXuiBrowser.o \
	$(OBJTYPE)/cmlogXuiConfig.o \
	$(OBJTYPE)/cmlogXuiCodeConverter.o \
	$(OBJTYPE)/cmlogXuiConnect.o \
	$(OBJTYPE)/cmlogXuiClock.o \
	$(OBJTYPE)/cmlogXuiClose.o \
	$(OBJTYPE)/cmlogXuiCloseDialog.o \
	$(OBJTYPE)/cmlogXuiDate.o \
	$(OBJTYPE)/cmlogXuiDisc.o \
	$(OBJTYPE)/cmlogXuiDiscDialog.o \
	$(OBJTYPE)/cmlogXuiDisp.o \
	$(OBJTYPE)/cmlogXuiExit.o \
	$(OBJTYPE)/cmlogXuiExitDialog.o \
	$(OBJTYPE)/cmlogXuiHADialog.o \
	$(OBJTYPE)/cmlogXuiHelpAbout.o \
	$(OBJTYPE)/cmlogXuiMenuBtn.o \
	$(OBJTYPE)/cmlogXuiMenuTog.o \
	$(OBJTYPE)/cmlogXuiMenuWin.o \
	$(OBJTYPE)/cmlogXuiNew.o \
	$(OBJTYPE)/cmlogXuiSave.o \
	$(OBJTYPE)/cmlogXuiSaveDialog.o \
	$(OBJTYPE)/cmlogXuiSaveFileDialog.o \
	$(OBJTYPE)/cmlogXuiQuery.o \
	$(OBJTYPE)/cmlogXuiQueryDialog.o \
	$(OBJTYPE)/cmlogXuiQueryProg.o \
	$(OBJTYPE)/cmlogXuiSingleQMsg.o \
	$(OBJTYPE)/cmlogXuiQMsgDialog.o \
	$(OBJTYPE)/cmlogXuiRefresh.o \
	$(OBJTYPE)/cmlogXuiRmAll.o \
	$(OBJTYPE)/cmlogXuiSvrInfo.o \
	$(OBJTYPE)/cmlogXuiConfigInfo.o \
	$(OBJTYPE)/cmlogXuiConvOption.o \
	$(OBJTYPE)/cmlogXuiBlinkOption.o \
	$(OBJTYPE)/cmlogXuiUbuf.o \
	$(OBJTYPE)/cmlogXuiSaveSettings.o \
	$(OBJTYPE)/cmlogXuiSaveSettingsDialog.o \
	$(OBJTYPE)/cmlogXuiUbufDialog.o \
	$(OBJTYPE)/cmlogXuiTimeSel.o \
	$(OBJTYPE)/cmlogXuiTimeWin.o \
	$(OBJTYPE)/cmlogXuiTitleBar.o \
	$(OBJTYPE)/cmlogXuiTopW.o \
	$(OBJTYPE)/cmlogXuiUpdate.o \
	$(OBJTYPE)/cmlogXuiUpdateDialog.o \
	$(OBJTYPE)/cmlogXuiQueryCancelDialog.o \
	$(OBJTYPE)/y.tab.o \
	$(OBJTYPE)/lex.yy.o \
	$(OBJTYPE)/cmlogXuiLogicSup.o \
	$(OBJTYPE)/cmlog.o


ifeq ($(TARGET), solaris)
XTRACXXFLAGS := $(XTRACXXFLAGS) -I/usr/dt/include -I/usr/openwin/include
LIBS = 	-R/usr/dt/lib:/usr/openwin/lib -L/usr/dt/lib -L/usr/openwin/lib \
	-L../C++/motif/lib/$(TARGET) -lXcoda -lXpm -lXm -lXmu -lXt -lX11 \
	-L$(LIBDIR) -lcmlogb -ldata -lsocket -lnsl -ll -ly
endif

ifeq ($(TARGET), sparcv9)
XTRACXXFLAGS := $(XTRACXXFLAGS) -I/usr/dt/include -I/usr/openwin/include
LIBS = 	-R/usr/dt/lib/sparcv9:/usr/openwin/lib/sparcv9 -L/usr/dt/lib/sparcv9 \
	-L/usr/openwin/lib/sparcv9 \
	-L../C++/motif/lib/$(TARGET) -lXcoda -lXpm -lXm -lXmu -lXt -lX11 \
	-L$(LIBDIR) -lcmlogb -ldata -lsocket -lnsl -ll -ly
endif

ifeq ($(TARGET), solaris-gnu)
XTRACXXFLAGS := $(XTRACXXFLAGS) -I/usr/dt/include -I/usr/openwin/include \
	-fpermissive -w
LIBS = 	-R/usr/dt/lib:/usr/openwin/lib -L/usr/dt/lib -L/usr/openwin/lib \
	-L../C++/motif/lib/$(TARGET) -lXcoda -lXpm -lXm -lXmu -lXt -lX11 \
	-L$(LIBDIR) -lcmlogb -ldata -lsocket -lnsl -ll -ly
endif

ifeq ($(TARGET), solaris-noth)
XTRACXXFLAGS := $(XTRACXXFLAGS) -I/usr/dt/include -I/usr/openwin/include
LIBS = 	-R/usr/dt/lib:/usr/openwin/lib -L/usr/dt/lib -L/usr/openwin/lib \
	-L../C++/motif/lib/$(TARGET) -lXcoda -lXpm -lXm -lXmu -lXt -lX11 \
	-L$(LIBDIR) -lcmlogb -ldata -lsocket -lnsl -ll -ly
endif

ifeq ($(TARGET), Linux-i386)
XTRACXXFLAGS := $(XTRACXXFLAGS) -I/usr/X11R6/include
LIBS = 	-L../C++/motif/lib/$(TARGET) -lXcoda -L/usr/X11R6/lib \
	-lXm -lXp -lXpm -lXmu -lXt -lX11 \
	-L$(LIBDIR) -lcmlogb -ldata -lfl
endif

ifeq ($(TARGET), Linux-alpha)
XTRACXXFLAGS := $(XTRACXXFLAGS) -I/usr/X11R6/include
LIBS = 	-L../C++/motif/lib/$(TARGET) -lXcoda -L/usr/X11R6/lib \
	-lXm -lXp -lXpm -lXmu -lXt -lX11 \
	-L$(LIBDIR) -lcmlogb -ldata -lfl
endif

ifeq ($(TARGET), hpux)
XTRACXXFLAGS := $(XTRACXXFLAGS) -I/usr/include/X11R5 -I/usr/include/Motif1.2
LIBS = -L/usr/lib/X11R5 -L/usr/lib/Motif1.2 \
	-L../C++/motif/lib/$(TARGET) -L$(HOME)/local/lib/xpm-3.4i/lib \
	-L$(HOME)/local/Xmu/lib -lXcoda -lXpm -lXm -lXmu -lXt -lX11 \
	-L$(LIBDIR) -lcmlogb -ldata -ll -ly
endif

ifneq ($(TARGET), vxworks)
targets: cleanlex $(OBJTYPE) progs copybin
else
targets:
endif

cleanlex:
	rm -f lex.yy.c y.tab.c y.tab.h

$(OBJTYPE):
	@mkdir -p $(OBJTYPE)

progs:cmlog

cmlog: $(OBJS) 
	rm -f $@
	$(CXX) -o $@ $(OBJS) $(LIBS)

copybin: cmlog
	if test ! -d $(BINDIR); then mkdir -p $(BINDIR); else echo; fi
	mv cmlog $(BINDIR)

y.tab.c: cmlog_xui_logic.y
	rm -f $@
	$(YACC) -d cmlog_xui_logic.y

lex.yy.c: cmlog_xui_logic.l
	$(LEX) cmlog_xui_logic.l

$(OBJTYPE)/y.tab.o: y.tab.c
	rm -f $@
	$(CC) $(CFLAGS) $(XTRACFLAGS) -c $< -o $@

$(OBJTYPE)/lex.yy.o: lex.yy.c
	rm -f $@
	$(CC) $(CFLAGS) $(XTRACFLAGS) -c $< -o $@


$(OBJTYPE)/cmlogLogicSup.o: cmlogLogicSup.cc
	rm -f $@
	$(CXX) $(CXXFLAGS) $(XTRACXXFLAGS) -c $< -o $@


clean:
	rm -rf *.o *.a core *~ .obj cmlog y.tab.c lex.yy.c y.tab.h

