# $Header: Makefile,v 2.2 96/05/15 11:15:19 bobh Exp $
# Makefile for User Interface for Motor Test
# Author:   Bob Herlien
# Project:  Tiburon
# Version:  $Revision: 2.2 $
# Created:  05/04/92
#

.SUFFIXES :	.uid .uil

## rules

.s.o :
	@rm -f $@
	$(AS) -o $<

.c.o :
	@rm -f $@
	$(CC) $(CFLAGS) $<

.uil.uid :
	@rm -f $@
	$(UIL) -o $*.uid $<

## files and directories

PROGRAM		= motortest
SYSINC		= /usr/include
LIBDIR		= /usr/lib
TARGETDIR	= $(VW)/mbari/gui
DM		= /usr/tiburon/dm/unix
MICRO           = /usr/tiburon/micro
MAKEFILE	= Makefile
ARCHIVE		= motortest.tar
INCLUDES	= rov.h rdmif.h ibc.h
SOURCES		= motortest.c ibc.c ibcData.c rdmif.c
OBJECTS		= $(SOURCES:.c=.o)
RESOURCE	= Rov

XC		= /usr/tiburon/unix/gui/widgets/Xc

ALLFILES	= $(MAKEFILE) $(INCLUDES) $(SOURCES) $(RESOURCE)

## tools
CC		= cc
LD		= cc
RM		= rm -f
PRINT		= pr
UIL		= uil

## flags

INCLUDEFLAGS	= -I$(SYSINC)/Motif1.2 -I$(XC) -I$(SYSINC)/X11R5 -I$/usr/tiburon/dm/all \
		  -I$(MICRO)/h -I$(VW)target/h -I$(MBARI_VW)/h -I$(DM)
DEBUGFLAG	= -g
DEFINES		= -D_HPUX_SOURCE -DSYSV -DMALLOC_0_RETURNS_NULL
CFLAGS		= -c -Aa $(DEBUGFLAG) $(INCLUDEFLAGS) $(DEFINES)
LDFLAGS 	= -L$(LIBDIR)/Motif1.2 -L$(LIBDIR)/X11R5 -L$(VW)//mbari_development/X11/lib
XC_LIBS		= -L$(XC) -lXc -lXext
MOTIF_LIBS	= -lXm
#XLIBS		= -lXt -lX11 -lM -lc -lPW
XLIBS		= -lXt -lX11 -lM 
DMLIBS		= $(DM)/libdm.a
LIBS		= $(MOTIF_LIBS) $(XC_LIBS) $(XLIBS) $(DMLIBS)

## actions

default : $(PROGRAM)

$(ARCHIVE).gz: $(ALLFILES)
	  $(RM) $(ARCHIVE) $(ARCHIVE).gz
	  tar crvf $(ARCHIVE) $(ALLFILES)
	  gzip $(ARCHIVE)

tar	: $(ARCHIVE).gz

rel1:
	  ci -q -u$(REV) $(MAKEFILE) $(INCLUDES) $(CSOURCES:motortest.c=) \
	  $(UILS) $(RESOURCE)

release :
	  rcs -l $(RCSFILES)
	  ci -f -u$(REV) rov.c
	  @echo "Ignore ci warnings that unchanged file checkins are aborted"
	  make rel1 REV=`rlog rov.c | awk '$$1 == "head:" {print $$2}'`
	  rcs -u $(RCSFILES)
	  chmod -w $(RCSFILES)
	 
clean	:
	  $(RM) *.o


## dependencies

$(OBJECTS): rov.h rdmif.h ibc.h

ibc.o: ibc.c rov.h rdmif.h ibc.h alarm.h

ibcData.o: ibcData.c rov.h rdmif.h ibc.h alarm.h 

rdmif.o:     rdmif.c rdmif.h
	$(CC) -I$(SYSINC) $(CFLAGS) -I$(DM) $<

$(PROGRAM) : $(OBJECTS) $(DMLIBS)
	     -$(RM) $(PROGRAM)
	     $(LD) -o $(PROGRAM) $(OBJECTS) $(LDFLAGS) $(LIBS)
