##########################################################################
# Copyright 1999 MBARI                                             
##########################################################################
# Summary  : Makefile for utils subdirectory
# 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/utils/Makefile,v 1.26 2001/06/02 22:11:28 hthomas Exp $
#
##########################################################################

CC	    = cc
CCPP	    = cc
LD	    = cc
AR 	    = wlib
DEPEND_TOOL = makedepend

DEBUG 	    = -g
EXCEPTION_HANDLING = -WC,-xs

## OPTIMIZE = -4 -Os
OPTIMIZE = 

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

AUV_BIN_DIR = ../bin

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

INCLUDES    = -I.  \
	      -I .. \
	      -I../utils \
	      -I../taskIF \
	      -I../framework \
	      -I/usr/include 


LDFLAGS	    = -g
LIBPATH	    = 

LIBS        =   ../utils/utils.lib \
		../taskIF/taskInterfaces.lib 

OBJS 	    =	AngleAttribute.o \
		AngleData.o \
		Attribute.o \
		AttributeParser.o \
		Attributes.o \
		BooleanAttribute.o \
		CharData.o \
		Chebyshev.o \
		DataField.o \
		DataFieldFactory.o \
		DeviceUtils.o \
		DoubleData.o \
		FixedFieldStringMessage.o \
		FloatAttribute.o \
		FloatData.o \
		IntegerAttribute.o \
		IntegerData.o \
		Item.o \
		ItemList.o \
		Math.o \
		NavUtils.o \
		RealTimeClock.o \
		ShortData.o \
		StringAttribute.o \
		StringData.o \
		StringConverter.o \
		StringMessage.o \
		Syslog.o \
		SyslogUtils.o \
		System.o \
		Time.o \
		TimeTag.o \
		parseComplex.tab.o \
		parseComplex.yy.o \
		matherr.o \
		matrixMath.o

OBJS_TD =	td.o \
		Syslog.o \
		System.o 

TARGETS =	utils.lib semtest SyslogTest td 

all:		$(TARGETS)

parseComplex.tab.cc:	parseComplex.y
	yacc -b parseComplex -d -v parseComplex.y
	mv parseComplex.tab.c parseComplex.tab.cc

parseComplex.yy.cc:	parseComplex.l
	lex parseComplex.l
	mv lex.yy.c parseComplex.yy.cc


utils.lib: 	$(OBJS)
		$(AR) utils.lib +- $(OBJS)

stringTest:	stringTest.o $(OBJS)
	$(LD) $(LDFLAGS) stringTest.o $(OBJS) /usr/local/lib/gctpc/geolib.a -o $@

SyslogTest:	SyslogTest.o Syslog.o

td:		td.o $(LIBS)
	$(LD) $(LDFLAGS) $(OBJS_TD) $(LIBS) -o $@

install:	$(TARGETS)
		cp -f semtest	$(AUV_BIN_DIR)/. 
		cp -f td	$(AUV_BIN_DIR)/. 
		cp -f copybin	$(AUV_BIN_DIR)/. 
		cp -f copyconfig $(AUV_BIN_DIR)/. 
		cp -f mkSharedData $(AUV_BIN_DIR)/. 
		cp -f mkDriverOutput $(AUV_BIN_DIR)/. 

##########################################################################
# 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 $@.tmp
	    @mv $@.tmp $@

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

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

MAKEFILE    = Makefile

include     $(OBJS:.o=.d)

depend:	

clean:
	rm -f core *.o $(OBJS:.o=.d) *.lib *.yy *.tab.* $(TARGETS)

update:
	cvs update $(CC_SRCS) $MAKEFILE

commit:
	cvs commit $(CC_SRCS) $MAKEFILE

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









