##########################################################################
# Copyright 1992 to 1998 MBARI
##########################################################################
# Summary  : Makefile for Tiburon CPU1 Application
# Filename : Makefile
# Author   : Andrew Pearce
# Project  : Tiburon
# Version  : Version 1.0
# Created  : 06/10/98
# Modified : 06/18/98
# Archived :
##########################################################################
# Modification History:
# $Header: $
# $Log:    $
#
##########################################################################

SHELL	    = /bin/csh

CC	    = cc68k
CCPP	    = c++68k
LD	    = ld68k
STRIP	    = strip68k

DEBUG 	    = -g

CFLAGS 	    = $(DEBUG) -c -m68040 -ansi -pipe -nostdinc -fno-builtin \
              -DCPU=MC68040 -DINCLUDE_PROTOTYPES -D__PROTOTYPE_5_0 $(IFLAGS)

CCFLAGS     = $(DEBUG) -c -m68040 -ansi -pipe -nostdinc -fno-builtin \
              -DCPU=MC68040 -DINCLUDE_PROTOTYPES -D__PROTOTYPE_5_0 $(IFLAGS)

IFLAGS	    = -I. -I$(MBARI_VW)/h -I$(VW)/target/h -I$(MICRO)/h

LDFLAGS     = -r

VW_LIBS       = $(VW)/target/config/tib-mv172/reset162

LIBS          =	$(MBARI_VW)/timers/timerWrap \
		$(MBARI_VW)/sio32Drv-new/telemDrv \
		$(MBARI_VW)/sio32Proto/sio32Server.o \
		$(MBARI_VW)/sio32Proto/sio32Client.o \
                $(DM_DIR)/vw5.3/datamgr \
		$(MBARI_VW)/dmUtils/dmCheck.o \
		$(MBARI_VW)/tiburon/heartbeat.o \
		$(MBARI_VW)/idleCpu/idleCpu.o \
		$(MBARI_VW)/tiburon/consoleStatus.o \
		$(MBARI_VW)/tiburon/hourLog.o \
		$(MBARI_VW)/thruster/moog.o \
		$(MBARI_VW)/vbSystem/vbMotor \
                $(MBARI_VW)/micro/microCmd.o \
                $(MBARI_VW)/micro/microDm.o  \
                $(MBARI_VW)/micro/microTask.o \
		$(MBARI_VW)/filters/medianFilter.o \
		$(MBARI_VW)/ibc/lib/ibcLib \
		$(MBARI_VW)/ibc/ers/ersDcon \
		$(MBARI_VW)/ibc/power/busCap.o \
		$(MBARI_VW)/ibc/power/pwr_ibc_a.o \
		$(MBARI_VW)/ibc/power/pwr_ibc_b.o \
		$(MBARI_VW)/ibc/lighting/lightingDcon \
		$(MBARI_VW)/ibc/sonar/sonarDcon \
		$(MBARI_VW)/ibc/camera/cameraDcon \
		$(MBARI_VW)/acMicro/acMicro \
		$(MBARI_VW)/adv/advDistanceLog \
		$(MBARI_VW)/sio32Diag/sio32Diag.o \
		$(MBARI_VW)/telemDiag/telemDiag.o \
		$(MBARI_VW)/camera/port_camera/portCamera \
		$(MBARI_VW)/camera/stbd_camera/stbdCamera \
		$(MBARI_VW)/panTilt/panTilt \
		$(MBARI_VW)/kalman/state/state.o

SRCS	    = fakeld.c

CC_SRCS     = startup.cc

OBJS	    = $(SRCS:.c=.o) $(CC_SRCS:.cc=.o)

all:	    
	    make rovInit-midwater
	    make rovInit-generic	

rovInit-midwater:   startup.cc $(OBJS) $(LIBS) $(MAKEFILE) \
	    $(MBARI_VW)/toolsleds/midwater/midWaterApp

	    $(CCPP) $(CFLAGS) $(IFLAGS) -DBUILD_MIDWATER_SLED \
	    startup.cc -o startup.o

	    $(LD) $(LDFLAGS) $(OBJS) $(VW_LIBS) $(LIBS) \
	    $(MBARI_VW)/toolsleds/midwater/midWaterApp -o rovInit-midwater
	    $(STRIP) -S rovInit-midwater

rovInit-generic:    startup.cc $(OBJS) $(LIBS) $(MAKEFILE) \
	    $(MBARI_VW)/toolsleds/generic/toolsledDcon

	    $(CCPP) $(CFLAGS) $(IFLAGS) -DBUILD_GENERIC_SLED \
	    startup.cc -o startup.o

	    $(LD) $(LDFLAGS) $(OBJS) $(VW_LIBS) $(LIBS) \
	    $(MBARI_VW)/toolsleds/generic/toolsledDcon -o rovInit-generic
	    $(STRIP) -S rovInit-generic

##########################################################################
# Do not modify anything below this line unless absolutely necessary

%.d: %.c
	    @echo Generating dependencies for $?
	    @$(CC) -M $(CFLAGS) $? > $@

%.d: %.cc
	    @echo Generating dependencies for $?
	    @$(CCPP) -M $(CCFLAGS) $? > $@

%.o:: %.c
	    $(CC) $(CFLAGS) $< -o $@	

%.o:: %.cc
	    $(CC) $(CCFLAGS) $< -o $@

%:%.c
	    echo $(@F)
	    - cd $(@D); dosout
	    cd $(@D); make

%:.cc
	    echo $(@F)
	    - cd $(@D); dosout
	    cd $(@D); make


DEST	    = .

INSTALL     = install

MAKEFILE    = Makefile

include       $(SRCS:.c=.d) $(CC_SRCS:.cc=.d)

depend:	

echo:;        @echo $(PROGRAM) from $(SRCS) $(CC_SRCS)

clean:
	      rm -f $(PROGRAM) $(OBJS) $(OBJS:.o=.d) $(LIBS)

get_release:


put_release:

##########################################################################