# $Header: /usr/tiburon/unix/gui/tmacs/RCS/Makefile,v 1.13 1998/03/12 16:22:44 oreilly Exp oreilly $

TOP_DIR = /usr/tiburon

CC = gcc
AR = /bin/ar
RANLIB = /bin/ranlib

DEBUG = -g

CFLAGS =  -ansi $(DEBUG) -DUNIX -c -o $*.o
NO_INLINE_FLAG = +d
CPPFLAGS = $(DEBUG) -c -DUNIX -o $*.o
STD_DM = /usr/vw/mbari_released/dm

### VW = /usr/vw
VW = $(TOP_DIR)/vw
MBARI = mbari_development

DM = $(VW)/$(MBARI)/dm
DM = /usr/tiburon/dm/all

XPLATFORM = $(TOP_DIR)/xPlatform
SRC_DIR = $(TOP_DIR)/unix/gui/tmacs
MIDWATER = $(XPLATFORM)/midwaterSled

LOCAL_INCS = \
-I. \
-I/usr/include \
-I/usr/include/sys \
-I$(TOP_DIR)/micro/h \
-I$(TOP_DIR)/vw/h \
-I$(TOP_DIR)/unix/gui/widgets/ComboBox \
-I$(TOP_DIR)/unix/gui/widgets/Xc \
-I$(TOP_DIR)/unix/gui/Xpm/lib \
-I$(TOP_DIR)/unix/gui/widgets/Xg-1.0/include \
-I$(X11_INCLUDE_DIR) -I$(MOTIF_INCLUDE_DIR) \
-I$(XRTHOME)/include \
-I$(VIEWKIT)/usr/include \
-I$(XPLATFORM)/utils \
-I$(XPLATFORM)/datamgr \
-I$(XPLATFORM)/iview \
-I$(SRC_DIR) \
-I$(DM) -I$(DM)/unix \
-I$(VW)/$(MBARI) \
-I$(VW)/$(MBARI)/h \
-I$(MIDWATER)

LOCAL_LIBS = \
libRov.a \
$(MIDWATER)/libMidwater.a \
$(TOP_DIR)/xPlatform/hpux/libDm.a \
$(TOP_DIR)/xPlatform/hpux/libIview.a \
$(TOP_DIR)/xPlatform/hpux/libUtil.a


DM_LIB = $(TOP_DIR)/dm/unix/libdm.a

MISC_LIBS = \
/users/oreilly/local/my_alloca/alloca.o \
/users/oreilly/local/lib/libfl.a 

GRAPHIC_LIBS = \
$(VIEWKIT)/bld/vk/unshared/libvk.a \
$(VIEWKIT)/usr/lib/libXpm.a \
$(VIEWKIT)/usr/lib/libvkhelp.a \
$(TOP_DIR)/unix/gui/widgets/Xc/libXc.a \
$(TOP_DIR)/unix/gui/widgets/ComboBox/ComboBox.o \
$(TOP_DIR)/unix/lib/libxg.a \
$(TOP_DIR)/unix/lib/libXpm.a \
-L$(XRTHOME)/lib -L/usr/lib/X11R5 -L/usr/lib/Motif1.2 \
-lxrtm -lXm -lXmu -lXt -lX11

.cc.o :
	$(CC) $(CPPFLAGS) $(LOCAL_INCS) -c $<

.c.o :
	gcc $(CFLAGS) $(LOCAL_INCS) -c $<


all:	tmacs dmonitor alarminfo dmplot iviewMonitor

OBJ_DIR = $(TOP_DIR)/unix/gui/tmacs


$(OBJ_DIR)/AlarmSpec.tab.cc:	$(OBJ_DIR)/AlarmSpec.y
	bison -d -o $(OBJ_DIR)/AlarmSpec.tab.cc $(OBJ_DIR)/AlarmSpec.y

$(OBJ_DIR)/AlarmSpec.yy.cc:	$(OBJ_DIR)/AlarmSpec.l $(OBJ_DIR)/AlarmSpec.tab.cc.h
	flex -o$(OBJ_DIR)/AlarmSpec.yy.cc $(OBJ_DIR)/AlarmSpec.l


VehicleConfig.tab.cc:	VehicleConfig.y
	bison -d -o VehicleConfig.tab.cc -p VC_ VehicleConfig.y
	echo "#define yynerrs VC_nerrs  // Added manually" > tmptab
	cat VehicleConfig.tab.cc >> tmptab
	mv tmptab VehicleConfig.tab.cc

VehicleConfig.yy.cc:	VehicleConfig.l VehicleConfig.tab.cc.h
	flex -oVehicleConfig.yy.cc -PVC_ VehicleConfig.l



LIB_OBJECTS = \
	$(OBJ_DIR)/AcPdu.o \
	$(OBJ_DIR)/AdvControl.o \
	$(OBJ_DIR)/AdvLogger.o \
	$(OBJ_DIR)/Alarm.o \
	$(OBJ_DIR)/AlarmedObject.o \
	$(OBJ_DIR)/AlarmedTable.o \
	$(OBJ_DIR)/AlarmedText.o \
	$(OBJ_DIR)/AlarmedMilliVolts.o \
	$(OBJ_DIR)/AlarmActionSetup.o \
	$(OBJ_DIR)/AlarmEditor.o \
	$(OBJ_DIR)/AlarmLight.o \
	$(OBJ_DIR)/AlarmList.o \
	$(OBJ_DIR)/AlarmLogger.o \
	$(OBJ_DIR)/AlarmPage.o \
	$(OBJ_DIR)/AlarmPanel.o \
	$(OBJ_DIR)/AlarmPopup.o \
	$(OBJ_DIR)/AlarmSetup.o \
	$(OBJ_DIR)/AlarmSpec.tab.o \
	$(OBJ_DIR)/AlarmSpec.yy.o \
	$(OBJ_DIR)/AlarmText.o \
	$(OBJ_DIR)/AperiodicHandler.o \
	$(OBJ_DIR)/Attitude.o \
	$(OBJ_DIR)/AttitudeGraph.o \
	$(OBJ_DIR)/BarGuage.o \
	$(OBJ_DIR)/CameraMicro.o \
	$(OBJ_DIR)/Clock.o \
	$(OBJ_DIR)/ComboTextField.o \
	$(OBJ_DIR)/CommRelays.o \
	$(OBJ_DIR)/CommsPage.o \
	$(OBJ_DIR)/CompassFace.o \
	$(OBJ_DIR)/ConfigurationDisplay.o \
	$(OBJ_DIR)/CtdSetup.o \
	$(OBJ_DIR)/DconDm.o \
	$(OBJ_DIR)/DepthAltitude.o \
	$(OBJ_DIR)/DetritusSampler.o \
	$(OBJ_DIR)/Dimmers.o \
	$(OBJ_DIR)/DiveSetupWindow.o \
	$(OBJ_DIR)/DmBarGraph.o \
	$(OBJ_DIR)/DmGuiApp.o \
	$(OBJ_DIR)/DmGuiObject.o \
	$(OBJ_DIR)/DmInfo.o \
	$(OBJ_DIR)/DmInfoWindow.o \
	$(OBJ_DIR)/DmInputDetector.o \
	$(OBJ_DIR)/DmMonitor.o \
	$(OBJ_DIR)/DmStripChart.o \
	$(OBJ_DIR)/DmText.o \
	$(OBJ_DIR)/DynamicButton.o \
	$(OBJ_DIR)/DynamicLabel.o \
	$(OBJ_DIR)/ErsGui.o \
	$(OBJ_DIR)/ErsMode.o \
	$(OBJ_DIR)/ExternalApp.o \
	$(OBJ_DIR)/FlashingAlarmText.o \
	$(OBJ_DIR)/FriendlyWindow.o \
	$(OBJ_DIR)/Gf5vSelfTest.o \
	$(OBJ_DIR)/GfSelfTest.o \
	$(OBJ_DIR)/HeartBeat.o \
	$(OBJ_DIR)/HydraulicMotor.o \
	$(OBJ_DIR)/HydraulicSelect.o \
	$(OBJ_DIR)/IbcCardInfo.o \
	$(OBJ_DIR)/JoystickRangeIndicator.o \
	$(OBJ_DIR)/JoystickSetup.o \
	$(OBJ_DIR)/LabeledBarGuage.o \
	$(OBJ_DIR)/LabelTest.o \
	$(OBJ_DIR)/LabeledText.o \
	$(OBJ_DIR)/Layout.o \
	$(OBJ_DIR)/LightDialog.o \
	$(OBJ_DIR)/LightSwitch.o \
	$(OBJ_DIR)/MainCamera.o \
	$(OBJ_DIR)/MainCameraDialog.o \
	$(OBJ_DIR)/Micro.o \
	$(OBJ_DIR)/MicroEnvironment.o \
	$(OBJ_DIR)/MicroGui.o \
	$(OBJ_DIR)/MicroPage.o \
	$(OBJ_DIR)/MicroSelect.o \
	$(OBJ_DIR)/MidwaterGui.o \
	$(OBJ_DIR)/MomentaryPowerSwitch.o \
	$(OBJ_DIR)/MonitoredValue.o \
	$(OBJ_DIR)/MotorMicro.o \
	$(OBJ_DIR)/PanasonicWVSetup.o \
	$(OBJ_DIR)/PanTiltAttitude.o \
	$(OBJ_DIR)/PanTiltAttitudeGraph.o \
	$(OBJ_DIR)/PanTiltButton.o \
	$(OBJ_DIR)/PanTiltControl.o \
	$(OBJ_DIR)/PanTiltGraph.o \
	$(OBJ_DIR)/PanTiltMicro.o \
	$(OBJ_DIR)/PduGfAlarm.o \
	$(OBJ_DIR)/PduMicro.o \
	$(OBJ_DIR)/PeriodicHandler.o \
	$(OBJ_DIR)/PowerAllocation.o \
	$(OBJ_DIR)/PowerBus.o \
	$(OBJ_DIR)/PowerPage.o \
	$(OBJ_DIR)/PowerSwitchGui.o \
	$(OBJ_DIR)/PowerSwitchStatus.o \
	$(OBJ_DIR)/Predive.o \
	$(OBJ_DIR)/PrediveDialog.o \
	$(OBJ_DIR)/Preference.o \
	$(OBJ_DIR)/ProtoBenthicGui.o \
	$(OBJ_DIR)/PsuAlarmText.o \
	$(OBJ_DIR)/Regen.o \
	$(OBJ_DIR)/RegisteredItem.o \
	$(OBJ_DIR)/ReleaseControl.o \
	$(OBJ_DIR)/RovCompass.o \
	$(OBJ_DIR)/RovDiagram.o \
	$(OBJ_DIR)/RovMainWindow.o \
	$(OBJ_DIR)/Sio32Micro.o \
	$(OBJ_DIR)/SubPrograms.o \
	$(OBJ_DIR)/SwitchDm.o \
	$(OBJ_DIR)/SystemAlarms.o \
	$(OBJ_DIR)/TableForm.o \
	$(OBJ_DIR)/TelemMicro.o \
	$(OBJ_DIR)/TetherTurns.o \
	$(OBJ_DIR)/TextField.o \
	$(OBJ_DIR)/TiburonApp.o \
	$(OBJ_DIR)/ToolsledInterface.o \
	$(OBJ_DIR)/ToolsledPage.o \
	$(OBJ_DIR)/ToolsledRelease.o \
	$(OBJ_DIR)/Uhs.o \
	$(OBJ_DIR)/ValveControl.o \
	$(OBJ_DIR)/ValveSwitchMap.o \
	$(OBJ_DIR)/VbGui.o \
	$(OBJ_DIR)/VbMotorSwitch.o \
	$(OBJ_DIR)/VbMode.o \
	$(OBJ_DIR)/VehicleComponent.o \
	$(OBJ_DIR)/VehicleConfiguration.o \
	$(OBJ_DIR)/VehicleRelease.o \
	$(OBJ_DIR)/VehicleState.o \
	$(OBJ_DIR)/VideoSwitcher.o \
	$(OBJ_DIR)/VideoSetup.o \
	$(OBJ_DIR)/View.o \
	$(OBJ_DIR)/ViewButton.o \
	$(OBJ_DIR)/ViewButtons.o \
	$(OBJ_DIR)/ViewManager.o \
	$(OBJ_DIR)/ViewingMap.o \
	$(OBJ_DIR)/ViewingPage.o \
	$(OBJ_DIR)/VspPage.o

libRov.a:	$(LIB_OBJECTS)
	$(AR) -rc libRov.a $(LIB_OBJECTS)
	$(RANLIB) libRov.a

tmacs:	tmacs.o libRov.a $(DM_LIB)
	$(CC) $(DEBUG) -o /tmp/$@ tmacs.o \
	$(MISC_LIBS) \
	$(LOCAL_LIBS) $(DM_LIB) \
	$(GRAPHIC_LIBS) \
	-L/opt/hppd/lib/gcc -lg++ -lstdc++ -L$(HOME)/local/lib -lfl -lm -lc -lm -ldld

	mv /tmp/$@ $@
	xrt_auth tmacs


dmonitor:	dmonitor.o libRov.a $(DM_LIB)
	$(CC) $(DEBUG) -o $@ dmonitor.o \
	libRov.a \
	$(LOCAL_LIBS) \
	$(DM_LIB) \
	-lm -lc -ldld


iviewMonitor:	iviewMonitor.o Compass.o
	$(CC) $(DEBUG) -o /tmp/iviewMonitor iviewMonitor.o \
	$(HOME)/local/my_alloca/alloca.o \
	Compass.o \
	$(LOCAL_LIBS) $(DM_LIB) \
	$(GRAPHIC_LIBS) \
	-L$(HOME)/local/lib -lC -lfl -lm -lc -ldld
	mv /tmp/iviewMonitor iviewMonitor

alarminfo:	alarminfo.o libRov.a $(DM_LIB)
	$(CC) $(DEBUG) -o $@ alarminfo.o libRov.a \
	$(LOCAL_LIBS) $(DM_LIB) \
	$(MISC_LIBS) \
	-lm -lc -ldld

thrash:	thrash.o libRov.a $(DM_LIB)
	$(CC) $(DEBUG) -o $@ thrash.o libRov.a \
	$(LOCAL_LIBS) $(DM_LIB) \
	$(MISC_LIBS) \
	-lm -lc -ldld

simdive:	simdive.o libRov.a $(DM_LIB)
	$(CC) $(DEBUG) -o $@ simdive.o libRov.a \
	$(LOCAL_LIBS) $(DM_LIB) \
	$(MISC_LIBS) \
	-lm -lc -ldld

icontest:	icontest.o
	$(CC) $(DEBUG) -o $@ icontest.o \
	$(MISC_LIBS) \
	$(LOCAL_LIBS) \
	$(GRAPHIC_LIBS) \
	-L$(HOME)/local/lib -lC -lfl -lm -lc -ldld


dmplot:	dmplot.o libRov.a $(DM_LIB)
	$(CC) $(DEBUG) -o /tmp/$@ dmplot.o \
	$(MISC_LIBS) \
	$(LOCAL_LIBS) \
	$(GRAPHIC_LIBS) \
	$(DM_LIB) \
	-L$(HOME)/local/lib -lC -lfl -lm -lc -ldld
	mv /tmp/$@ $@

	xrt_auth dmplot


xpmFtoD:	xpmFtoD.o
	$(CC) $(DEBUG) -o $@ xpmFtoD.o \
	$(MISC_LIBS) \
	$(LOCAL_LIBS) \
	$(GRAPHIC_LIBS) \
	-L$(HOME)/local/lib -lC -lfl -lm -lc -ldld

clean:
	rm -f *.o core

# DO NOT DELETE THIS LINE -- make depend depends on it.
