LIB = ../lib/libuser.a

CFLAGS= -c ${OPTIMIZEFLAG} ${C_OPT} -D${MACH_OS} \
        -I../../include -I${IRIS_ROOT}/include

CXXFLAGS= -c ${OPTIMIZEFLAG} ${CC_OPT} -D${MACH_OS} \
        -I../../include -I${IRIS_ROOT}/include
CCFLAGS = ${CXXFLAGS}

CFLAGS_OPT= -c ${OPTIMIZEFLAG} ${C_OPT} -D${MACH_OS} \
	-I../../include -I${IRIS_ROOT}/include

CFLAGS_NOOPT= -c ${DEBUGFLAG} ${C_OPT} -D${MACH_OS} \
	-I../../include -I${IRIS_ROOT}/include

CPPMSG= -DMESSAGE_ONLY -I../../include -I${IRIS_ROOT}/include

all:	${LIB} test_c test_run iris_signal107.cat

messages.usg : messages.msg
	${MKMSGUSG}

iris_signal107.cat : messages.usg
	rm -f iris_signal107.cat*
	gencat iris_signal107.cat messages.usg
	chmod 664 iris_signal107.cat*

USER_C_SRCS =   angle.c \
		AngleNames.c \
		byteops.c \
		c_cmd_lookup.c \
		compress.c \
		DataConvert.c \
		DataNames.c \
		data_types.c \
		dft.c \
		dspcustom.c \
		EarthCurve.c \
		error_report.c \
		fambiguous_range.c \
		fileops.c \
		fnyquist_vel.c \
		KiloCount.c \
		lowmath.c \
		mapio.c \
		msgque.c \
		process.c \
		ProjectionNames.c \
		rtvec.c \
		schedule.c \
		semaphore.c \
		shmem.c \
		sig_subs.c \
		SocketConnect.c \
		SocketIo.c \
		SocketSupport.c \
		sphere.c \
		str_subs.c \
		swap.c \
		TimeNames.c \
		timesubs.c \
		ttyio.c \
		UdpSupport.c \
		unlevelize.c \
		username.c \
	 	help.c

byteops.o    : byteops.c    ; ${CC} ${CFLAGS_OPT} byteops.c
compress.o   : compress.c   ; ${CC} ${CFLAGS_OPT} compress.c
data_types.o : data_types.c ; ${CC} ${CFLAGS_OPT} data_types.c
dft.o        : dft.c        ; ${CC} ${CFLAGS_OPT} dft.c
unlevelize.o : unlevelize.c ; ${CC} ${CFLAGS_OPT} unlevelize.c

USER_C_OBJS = ${USER_C_SRCS:.c=.o}

TEST_C_SRCS = test_c.c
TEST_C_OBJS = ${TEST_C_SRCS:.c=.o}

MKDEPEND_CSRCS = ${USER_C_SRCS} ${TEST_C_SRCS}
depend:; ${MKDEPEND} ; makedepend -a -o.usg -- ${CFLAGS} -- messages.msg

${LIB} : ${USER_C_OBJS}
		rm -f ${LIB}
		ar -rscv ${LIB} ${USER_C_OBJS}
		rootchmod 664 ${LIB}

install: all
	cp iris_signal107.cat* ${IRIS_NLS}

LDFLAGS = -L../lib  -L${IRIS_ROOT}/libs/lib

LLIBS= -luser -lm ${LSEARCH_BSD}

test_c:	${TEST_C_OBJS} ${LIB}
	${CXX} ${LD_OPT} ${TEST_C_OBJS} ${LDFLAGS} ${LLIBS} -o test_c

test_run:	test_c
		test_c ; touch test_run

test2: test2.o ${LIB}
	${CXX} ${LD_OPT} test2.o ${LDFLAGS} ${LLIBS} -o test2
	rootchown operator test2 ; rootchmod 6775 test2
	./test2

trtvec: rtvec.c
	${CC} ${CFLAGS_NOOPT} -DSELFTEST -o trtvec.o rtvec.c
	${CC} ${LD_OPT} trtvec.o ${LDFLAGS} ${LLIBS} -o trtvec

prtvec: trtvec
	rm -f trtvec.dat ; ./trtvec > trtvec.dat
	echo 'set grid ;' \
	     'plot "trtvec.dat" using 1:2 title "All Data" with points ps 2,' \
	     '     "trtvec.dat" using 1:3 title "Drop One" with points ps 1,' \
	     '     "trtvec.dat" using 1:4 title "Drop Two" with points ps 0,' \
	     '     "trtvec.dat" using 1:5 title "Original" with points pt 3 ps 3 ;' \
	     'pause 1200 "Hit ^C to exit "' | gnuplot

cleanexe:;	rm -f test_c test_run core trtvec trtvec.dat
clean:		cleanexe
		rm -f *.o *.usg *.cat*
# DO NOT DELETE

angle.o: ../../include/sigtypes.h ../../include/signoarch.h
angle.o: ../../include/user_lib.h
AngleNames.o: ../../include/sigtypes.h ../../include/signoarch.h
AngleNames.o: ../../include/user_lib.h
byteops.o: ../../include/sigtypes.h ../../include/signoarch.h
byteops.o: ../../include/user_lib.h
c_cmd_lookup.o: ../../include/sigtypes.h ../../include/signoarch.h
c_cmd_lookup.o: ../../include/user_lib.h
compress.o: ../../include/sigtypes.h ../../include/signoarch.h
compress.o: ../../include/user_lib.h
DataConvert.o: ../../include/sigtypes.h ../../include/signoarch.h
DataConvert.o: ../../include/setup.h ../../include/user_lib.h
DataConvert.o: ../../include/dsp_lib.h
DataNames.o: ../../include/sigtypes.h ../../include/signoarch.h
DataNames.o: ../../include/headers.h ../../include/iris_task.h
DataNames.o: ../../include/setup.h ../../include/uf.h
DataNames.o: ../../include/user_lib.h ../../include/dsp_lib.h
data_types.o: ../../include/sigtypes.h ../../include/signoarch.h
data_types.o: ../../include/setup.h ../../include/user_lib.h
data_types.o: ../../include/dsp_lib.h
dft.o: ../../include/sigtypes.h ../../include/signoarch.h ../../include/dsp.h
dft.o: ../../include/user_lib.h ../../include/himath_lib.h
dspcustom.o: ../../include/sigtypes.h ../../include/signoarch.h
dspcustom.o: ../../include/dsp.h ../../include/rvp8.h
dspcustom.o: ../../include/user_lib.h
EarthCurve.o: ../../include/sigtypes.h ../../include/signoarch.h
EarthCurve.o: ../../include/user_lib.h
error_report.o: ../../include/sigtypes.h ../../include/signoarch.h
error_report.o: ../../include/user_lib.h
fambiguous_range.o: ../../include/sigtypes.h ../../include/signoarch.h
fambiguous_range.o: ../../include/user_lib.h
fileops.o: ../../include/sigtypes.h ../../include/signoarch.h
fileops.o: ../../include/user_lib.h
fnyquist_vel.o: ../../include/sigtypes.h ../../include/signoarch.h
fnyquist_vel.o: ../../include/dsp.h ../../include/user_lib.h
fnyquist_vel.o: ../../include/dsp_lib.h
KiloCount.o: ../../include/sigtypes.h ../../include/signoarch.h
KiloCount.o: ../../include/user_lib.h
lowmath.o: ../../include/sigtypes.h ../../include/signoarch.h
lowmath.o: ../../include/user_lib.h
mapio.o: ../../include/sigtypes.h ../../include/signoarch.h
mapio.o: ../../include/user_lib.h user_def.h
msgque.o: ../../include/sigtypes.h ../../include/signoarch.h
msgque.o: ../../include/user_lib.h
process.o: ../../include/sigtypes.h ../../include/signoarch.h
process.o: ../../include/user_lib.h
ProjectionNames.o: ../../include/sigtypes.h ../../include/signoarch.h
ProjectionNames.o: ../../include/projection.h ../../include/user_lib.h
rtvec.o: ../../include/sigtypes.h ../../include/signoarch.h
rtvec.o: ../../include/user_lib.h ../../include/himath_lib.h
schedule.o: ../../include/sigtypes.h ../../include/signoarch.h
schedule.o: ../../include/user_lib.h
semaphore.o: ../../include/sigtypes.h ../../include/signoarch.h
semaphore.o: ../../include/event_flags.h ../../include/user_lib.h
shmem.o: ../../include/sigtypes.h ../../include/signoarch.h
shmem.o: ../../include/user_lib.h
sig_subs.o: ../../include/sigtypes.h ../../include/signoarch.h
sig_subs.o: ../../include/user_lib.h user_def.h
SocketConnect.o: ../../include/sigtypes.h ../../include/signoarch.h
SocketConnect.o: ../../include/user_lib.h
SocketIo.o: ../../include/sigtypes.h ../../include/signoarch.h
SocketIo.o: ../../include/dsp_lib.h ../../include/user_lib.h
SocketSupport.o: ../../include/sigtypes.h ../../include/signoarch.h
SocketSupport.o: ../../include/user_lib.h
sphere.o: ../../include/sigtypes.h ../../include/signoarch.h
sphere.o: ../../include/user_lib.h
str_subs.o: ../../include/sigtypes.h ../../include/signoarch.h
str_subs.o: ../../include/user_lib.h
swap.o: ../../include/sigtypes.h ../../include/signoarch.h
swap.o: ../../include/user_lib.h
TimeNames.o: ../../include/sigtypes.h ../../include/signoarch.h
TimeNames.o: ../../include/user_lib.h
timesubs.o: ../../include/sigtypes.h ../../include/signoarch.h
timesubs.o: ../../include/user_lib.h
ttyio.o: ../../include/sigtypes.h ../../include/signoarch.h
ttyio.o: ../../include/user_lib.h
UdpSupport.o: ../../include/sigtypes.h ../../include/signoarch.h
UdpSupport.o: ../../include/user_lib.h
unlevelize.o: ../../include/sigtypes.h ../../include/signoarch.h
unlevelize.o: ../../include/user_lib.h
username.o: ../../include/sigtypes.h ../../include/signoarch.h
username.o: ../../include/user_lib.h
help.o: ../../include/sigtypes.h ../../include/signoarch.h
help.o: ../../include/user_lib.h
test_c.o: ../../include/sigtypes.h ../../include/signoarch.h
test_c.o: ../../include/projection.h ../../include/dsp.h
test_c.o: ../../include/setup.h ../../include/ascope.h

messages.usg: ../../include/user_lib.h
