MICRO = $(TIBURON_DIR)/micro
MBARI_VW = $(TIBURON_DIR)/vw


SRC_DIR = $(TIBURON_DIR)/xPlatform/iview/
OBJ_DIR = $(TIBURON_DIR)/xPlatform/iview/

LOCAL_INCLUDES = \
	-I. \
	-I$(MBARI_VW)/h \
	-I$(TIBURON_DIR)/dm/all \
	-I$(TIBURON_DIR)/xPlatform/datamgr \
	-I$(TIBURON_DIR)/xPlatform/utils

DM_LIB = $(TIBURON_DIR)/dm/unix/libdm.a

CC = gcc
CFLAGS = -g -c -DUNIX -o $*.o 

.c.o :
	$(CC) $(CFLAGS) $(LOCAL_INCLUDES) -c $<

.cc.o :
	$(CC) $(CFLAGS) $(LOCAL_INCLUDES) -c $<

all: libIview vwObjects


LIB_OBJECTS = \
	$(SRC_DIR)/DmControlSource.o \
	$(SRC_DIR)/IviewControl.o \
	$(SRC_DIR)/IviewDeviceGrabber.o \
	IviewMonitor.o \
	ServerControlSource.o \

HPUX_LIB = libIview.a

$(HPUX_LIB):	$(LIB_OBJECTS)
	ar -ru $(HPUX_LIB) $(LIB_OBJECTS)
	ranlib $(HPUX_LIB)

libIview: $(HPUX_LIB)

# IviewTest:	IviewTest.o $(HPUX_LIB)
# 	$(CC) -g -o $@ IviewTest.o $(HPUX_LIB) \
# 	$(TIBURON_DIR)/xPlatform/hpux/libUtil.a \
# 	$(TIBURON_DIR)/xPlatform/hpux/libDm.a $(DM_LIB) \
# 	-L$(LD_LIBRARY_PATH) \
# 	-lm -lc


CC68K = c++68k

C68KFLAGS = -g -m68040 -ansi -pipe -c -O \
	-fno-builtin \
	-nostdinc -nostdinc++ \
	-DCPU=MC68040 \
	-DINCLUDE_PROTOTYPES \
	$(NULL)

I68KFLAGS = \
	-I$(VW)/target/h \
	-I$(MICRO)/ibc/filter \
	-I$(MBARI_VW)/h	\
	-I$(TIBURON_DIR)/dm/all \
	-I$(TIBURON_DIR)/xPlatform/datamgr \
	-I$(TIBURON_DIR)/xPlatform/utils \
	-I$(MICRO)/h 



VW_OBJ_DIR = $(TIBURON_DIR)/xPlatform/vw68k


$(VW_OBJ_DIR)/DmControlSource.o:	DmControlSource.cc
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ DmControlSource.cc

$(VW_OBJ_DIR)/IviewControl.o:	IviewControl.cc
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ IviewControl.cc

$(VW_OBJ_DIR)/IviewMonitor.o:	IviewMonitor.cc
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ IviewMonitor.cc

$(VW_OBJ_DIR)/IviewDeviceGrabber.o:	IviewDeviceGrabber.cc
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ IviewDeviceGrabber.cc

$(VW_OBJ_DIR)/ServerControlSource.o:	ServerControlSource.cc
	$(CC68K) $(C68KFLAGS) $(I68KFLAGS) -c -o $@ ServerControlSource.cc


VW_OBJECTS = \
	$(VW_OBJ_DIR)/DmControlSource.o \
	$(VW_OBJ_DIR)/IviewControl.o \
	$(VW_OBJ_DIR)/IviewDeviceGrabber.o \
	$(VW_OBJ_DIR)/IviewMonitor.o \
	$(VW_OBJ_DIR)/ServerControlSource.o \



vwObjects: $(VW_OBJECTS)


clean:
	rm -f *.o core
	rm -f $(VW_OBJECTS)

