##########################################################################
# Copyright (c) 1999 MBARI                              
# MBARI Proprietary Information. All rights reserved.   
##########################################################################
# Summary  : Makefile for building complete vehicle code tree
# Filename : Makefile
# Author   : Andrew Pearce
# Project  : 
# Version  : Version 1.0
# Created  : 12/06/99
# Modified : 12/06/99
# Archived :
##########################################################################
# Modification History:
# $Header: /usr/local/cvs/auv/altex/onboard/Makefile,v 1.40 2000/02/23 01:28:44 oreilly Exp $
#
##########################################################################

CC	    = cc
CCPP	    = cc
LD	    = cc
AR 	    = wlib
DEPEND_TOOL = /usr/auv/bin/makedepend

AUV_BIN_DIR = ../bin

DEBUG 	    = -g
EXCEPTION_HANDLING = -WC,-xs

## OPTIMIZE = -4 -Os
OPTIMIZE = 

## MAP_OUTPUT = -S -ms -M
MAP_OUTPUT =

CFLAGS	    = -c $(DEBUG) $(MAP_OUTPUT) $(OPTIMIZE) -D_QNX -DUNIX  
CPPFLAGS    = -c $(DEBUG) $(MAP_OUTPUT) $(OPTIMIZE) -D_QNX -DUNIX \
	         $(EXCEPTION_HANDLING)

INCLUDES    = -I.  \
	      -Iutils \
	      -Iframework \
	      -IDataLog \
	      -ItaskIF \
	      -I/usr/include           

CPPFLAGS = -c $(DEBUG) $(MAP_OUTPUT) $(OPTIMIZE) $(EXCEPTION_HANDLING) -D_QNX 

DIRS	    =   utils \
		framework \
		taskIF \
		DataLog \
		odyssey \
		ahrs \
		altimeter \
		BuoyLauncher \
		compass \
		crossbow \
		DropWeight \
		FuelCell \
		gps \
		LBL \
		kvh \
		MetraByte \
		OdysseyTailcone \
		parosci \
		psa916 \
		powerSystem \
		DepthSensor \
		DynamicControl \
		EventLog \
		ExternalComms \
		LayeredControl \
		Navigation \
		Simulator \
		seabird \
		Supervisor \
		SystemInterfaces \
		VehicleConfiguration \
		WorkSite \
		apps

all:		
		for subdir in $(DIRS); do \
		  cd $$subdir; \
		  if \
		    make all; \
		  then \
		    echo "make succeeded";\
		  else \
		    echo "make failed";\
		    exit; \
		  fi; \
		  cd ..; \
		done
		@echo "That's all folks!"

clean:
		for subdir in $(DIRS); do \
		  (cd $$subdir; make clean; echo ; cd ..); \
		done
		rm -f core $(OBJS) $(OBJS:.o=.d) *.lib *.yy *.tab.* 


update:
		for subdir in $(DIRS); do \
		  (cd $$subdir; cvs update; echo ; cd ..); \
		done

commit:
		for subdir in $(DIRS); do \
		  (cd $$subdir; cvs commit; echo ; cd ..); \
		done

install:
		for subdir in $(DIRS); do \
		  cd $$subdir; \
		  make install AUV_BIN_DIR=../bin; \
		  echo; \
		  cd ..; \
		done

release:
		for subdir in $(DIRS); do \
		  cd $$subdir; \
		  make install AUV_BIN_DIR=$(AUV_BIN_DIR); \
		  echo; \
		  cd ..; \
		done

##########################################################################
# Do not modify anything below this line unless absolutely necessary

.SUFFIXES:
.SUFFIXES:	.o .c .cc .d .idl

%.d: %.c
	    @echo Generating dependencies for $?
	    @$(DEPEND_TOOL) $(INCLUDES) $? -f $@

%.d: %.cc
	    @echo Generating dependencies for $?
	    @$(DEPEND_TOOL) $(INCLUDES) $? -f $@ 

%.o: %.c 
	    @$(CC) $(CFLAGS) $(INCLUDES) $< -o $@	
	    @echo
%.o: %.cc
	    @$(CCPP) $(CPPFLAGS) $(INCLUDES) $< -o $@
	    @echo

DEST	    = .

MAKEFILE    = Makefile

include       $(OBJS:.o=.d)

depend:	

##########################################################################
