# Revised:  10/3/00 changed vxgcc to cc68k
SHELL = /bin/csh

TIBURON_DIR = /usr/tiburon/

MICRO = $(TIBURON_DIR)/micro
VW = $(TIBURON_DIR)/vw

GNU_INCLUDE = /mbari/local/lib/gcc-lib/hppa1.1-hp-hpux10.20/2.7.2.2/include

MBARI_VW = $(VW)



OBJ_DIR = $(TIBURON_DIR)/xPlatform/datamgr/
LIB_DIR = $(TIBURON_DIR)/xPlatform/hpux/

LOCAL_INCLUDES = \
	-I. \
	-I$(GNU_INCLUDE) \
	-I/usr/include \
	-I$(TIBURON_DIR)/micro/h \
	-I$(TIBURON_DIR)/vw/h \
	-I$(TIBURON_DIR)/dm/all \
	-I$(TIBURON_DIR)/xPlatform/utils

DM_LIB = $(TIBURON_DIR)/dm/unix/libdm.a

CC = /mbari/local/bin/gcc

CFLAGS = -g -c -DUNIX -o $*.o 

.c.o :
	$(CC) $(CFLAGS) $(LOCAL_INCLUDES) -c $<

.cc.o :
	$(CC) $(CFLAGS) $(LOCAL_INCLUDES) -c $<

all: libDm vwObjects dmerror

LIB_OBJECTS = \
	$(OBJ_DIR)/CameraDm.o \
	DataManager.o \
	DmErrno.o \
	DmGroup.o \
	MicroDm.o \
	MotorDm.o \
	PanTiltDm.o \
	PduDm.o \
	SemiMotorDm.o \
	Sio32Dm.o \
	State.o \
	TelemDm.o

HPUX_LIB = libDm.a

$(HPUX_LIB):	$(LIB_OBJECTS)
	ar -ru $(HPUX_LIB) $(LIB_OBJECTS)
	ranlib $(HPUX_LIB)

libDm: $(HPUX_LIB)

dmerror:	dmerror.o DmErrno.o
	$(CC) -g -o $@ dmerror.o DmErrno.o \
	$(LIB_DIR)/libUtil.a $(LIB_DIR)/libDm.a $(DM_LIB) \
	-L$(LD_LIBRARY_PATH) \
	-lm -lc

dmtest:	dmtest.o $(HPUX_LIB)
	$(CC) -g -o $@ dmtest.o $(HPUX_LIB) \
	$(LIB_DIR)/libUtil.a $(LIB_DIR)/libDm.a $(DM_LIB) \
	-L$(LD_LIBRARY_PATH) \
	-lm -lc

CC68K = cc68k
OPTIMIZE =
DEBUG = -g

C68KFLAGS = $(DEBUG) -m68040 -ansi -pipe -c $(OPTIMIZE) \
	-fno-builtin \
	-nostdinc -nostdinc++ \
	-DCPU=MC68040 \
	-DINCLUDE_PROTOTYPES \
	$(NULL)


I68KFLAGS = \
	-I$(VW)/h	\
	-I$(TIBURON_DIR)/tornado_1.0.1/target/h \
	-I$(TIBURON_DIR)/dm/all \
	-I$(MICRO)/ibc/filter \
	-I$(TIBURON_DIR)/xPlatform/utils \
	-I$(MICRO)/h \
	-I/usr/include/


VW_OBJ_DIR = $(TIBURON_DIR)/xPlatform/vw68k

$(VW_OBJ_DIR)/CameraDm.o:	CameraDm.cc
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ CameraDm.cc

$(VW_OBJ_DIR)/DataManager.o:	DataManager.cc
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ DataManager.cc

$(VW_OBJ_DIR)/DmErrno.o:	DmErrno.c
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ DmErrno.c

$(VW_OBJ_DIR)/DmGroup.o:	DmGroup.cc
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ DmGroup.cc

$(VW_OBJ_DIR)/MicroDm.o:	MicroDm.cc
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ MicroDm.cc

$(VW_OBJ_DIR)/MotorDm.o:	MotorDm.cc
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ CameraDm.cc

$(VW_OBJ_DIR)/PanTiltDm.o:	PanTiltDm.cc
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ PanTiltDm.cc

$(VW_OBJ_DIR)/PduDm.o:	PduDm.cc
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ PduDm.cc

$(VW_OBJ_DIR)/SemiMotorDm.o:	SemiMotorDm.cc
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ SemiMotorDm.cc

$(VW_OBJ_DIR)/Sio32Dm.o:	Sio32Dm.cc
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ Sio32Dm.cc

$(VW_OBJ_DIR)/State.o:	State.cc
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ State.cc

$(VW_OBJ_DIR)/TelemDm.o:	TelemDm.cc
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ TelemDm.cc


VW_OBJECTS = \
	$(VW_OBJ_DIR)/CameraDm.o \
	$(VW_OBJ_DIR)/DataManager.o \
	$(VW_OBJ_DIR)/DmErrno.o \
	$(VW_OBJ_DIR)/DmGroup.o \
	$(VW_OBJ_DIR)/MicroDm.o \
	$(VW_OBJ_DIR)/MotorDm.o \
	$(VW_OBJ_DIR)/PanTiltDm.o \
	$(VW_OBJ_DIR)/PduDm.o \
	$(VW_OBJ_DIR)/SemiMotorDm.o \
	$(VW_OBJ_DIR)/Sio32Dm.o \
	$(VW_OBJ_DIR)/State.o \
	$(VW_OBJ_DIR)/TelemDm.o


vwObjects: $(VW_OBJECTS)



clean:
	rm -f *.o core
	rm -f $(VW_OBJECTS)
