#############################################################################
#	Makefile for the RunControl X interface
#############################################################################
BIN   	= runcontrol
export WRAPPER_ROOT = $(shell cd ../../SACE-3.1; pwd)
export ARCH = $(shell uname | sed -e 's/SunOS/SOLARIS/' -e  's/-/_/')
export CODA_CXX = $(shell cd ../..;pwd)

LIBOBJS = codaIntHash.o codaSlist.o \
	codaStrHash.o rcMsg.o \
	rcServerLocater.o rcSvcLocaterRep.o rcSvcInfoFinder.o \
	daqData.o daqDataManager.o \
	daqDataWriter.o daqDataTrigger.o daqNetData.o \
	daqArbStruct.o daqCompBootStruct.o daqMonitorStruct.o \
	daqRunTypeStruct.o daqArbStructFactory.o \
	codaRcCallback.o rccDaqData.o rcClient.o 

OBJS	= rcComdButton.o rcXpmComdButton.o rcMenuComd.o rcExit.o rcClose.o \
	rcMenuTogComd.o rcButtonFeedBack.o rcAudioOption.o rcWidthOption.o \
	rcDisplayMsg.o rcOnLine.o rcRcsMsgToDbase.o \
	rcAnaLogDialog.o \
	rcZoomButton.o \
	rcUpdateInterval.o rcUpdateIntervalDialog.o \
	rcTokenIButton.o rcTokenIDialog.o \
	rcConnect.o rcDisc.o rcAuto.o \
	rcLoad.o rcLoadDialog.o \
	rcConfigure.o rcCancel.o \
	rcDownload.o rcPrestart.o rcActivate.o \
	rcEnd.o rcPause.o rcResume.o rcReset.o rcResetDialog.o \
	rcAbort.o rcMastershipButton.o rcMastership.o rcButtonPanel.o \
	rcHelpOverview.o rcHelpContext.o rcHelpTextW.o \
	rcHelpAbout.o rcHelpAboutDialog.o \
	rcPanel.o rcInfoPanel.o rcInfoInitPanel.o \
	rcDbaseHandler.o \
	rcMsgWindow.o \
	rcRunSInfoPanel.o rcRunCInfoPanel.o \
	rcRunDInfoPanel.o rcInfoRunPanel.o \
	rcRateDisplay.o rcRateGraphButton.o \
	rcCompBootButton.o rcCompBootDialog.o \
	rcMonitorParmsButton.o rcMonitorParmsDialog.o \
	rcClientHandler.o rcMenuWindow.o \
	rcHelpMsgWin.o rcNetStatus.o \
	rcConnectDialog.o rcDiscDialog.o \
	rcCloseDialog.o rcExitDialog.o \
	rcRepCompOption.o \
	rcRunTypeOption.o rcRunTypeDialog.o \
	rcTopW.o rcComdOption.o \
	XmTabs.o htmlHelp.o visual.o misc.o cache.o bm.o find.o menu.o


include Makefile.common

EXTRA_CXXFLAGS = -I. -I./pixmaps \
	-I./include -I../Variables -I../Common 	-I../rcClient \
	-I$(CODA_CXX)/motif -I$(CODA)/common/include -g
# -D_CODA_DEBUG 

C++FLAGS := $(C++FLAGS) $(EXTRA_CXXFLAGS)

all: $(BIN)

$(BIN): runcontrol.o $(LIBOBJS) $(OBJS) $(CODA_LIB)/libtk4.0.a
	rm -f $@
	$(CXX) -g -o $@ runcontrol.o $(LIBOBJS) $(OBJS) $(LDLIBS)

install:$(BIN)
	cp $(BIN) $(CODA_BIN)
	chmod ugo+rx $(CODA_BIN)/$(BIN)
	mkdir -p $(CODA)/common/html/rc
	cp -r html/* $(CODA)/common/html/rc


clean:
	rm -rf *.o *.a core *~ ptrepository .objs $(BIN)

#############################################################################
tkSteal.c: tkSteal.tcl
	tcl2c tkSteal.tcl > tkSteal.c 

ListNBK.c: ListNBK.tcl
	tcl2c ListNBK.tcl > ListNBK.c

dbedit.c: dbedit.tcl
	tcl2c dbedit.tcl > dbedit.c

codaIntHash.o: ../Common/codaIntHash.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Common/codaIntHash.cc -o $@


codaSlist.o: ../Common/codaSlist.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Common/codaSlist.cc -o $@

codaStrHash.o: ../Common/codaStrHash.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Common/codaStrHash.cc -o $@

rcMsg.o: ../Common/rcMsg.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Common/rcMsg.cc -o $@

rcServerLocater.o: ../Common/rcServerLocater.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Common/rcServerLocater.cc -o $@

rcSvcLocaterRep.o: ../Common/rcSvcLocaterRep.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Common/rcSvcLocaterRep.cc -o $@

rcSvcInfoFinder.o: ../Common/rcSvcInfoFinder.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Common/rcSvcInfoFinder.cc -o $@

daqData.o: ../Variables/daqData.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Variables/daqData.cc -o $@	

daqDataManager.o: ../Variables/daqDataManager.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Variables/daqDataManager.cc -o $@

daqDataWriter.o: ../Variables/daqDataWriter.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Variables/daqDataWriter.cc -o $@

daqDataTrigger.o: ../Variables/daqDataTrigger.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Variables/daqDataTrigger.cc -o $@

daqNetData.o: ../Variables/daqNetData.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Variables/daqNetData.cc -o $@

daqArbStruct.o: ../Variables/daqArbStruct.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Variables/daqArbStruct.cc -o $@

daqArbStructFactory.o: ../Variables/daqArbStructFactory.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Variables/daqArbStructFactory.cc -o $@

daqCompBootStruct.o: ../Variables/daqCompBootStruct.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Variables/daqCompBootStruct.cc -o $@


daqMonitorStruct.o: ../Variables/daqMonitorStruct.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Variables/daqMonitorStruct.cc -o $@

daqRunTypeStruct.o: ../Variables/daqRunTypeStruct.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../Variables/daqRunTypeStruct.cc -o $@

codaRcCallback.o: ../rcClient/codaRcCallback.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../rcClient/codaRcCallback.cc -o $@

rccDaqData.o: ../rcClient/rccDaqData.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../rcClient/rccDaqData.cc -o $@

rcClient.o: ../rcClient/rcClient.cc
	rm -f $@
	$(CXX) $(INCLUDES) $(C++FLAGS) -c ../rcClient/rcClient.cc -o $@





