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 \
	 	help.c \
		KiloCount.c \
		lowmath.c \
		mapio.c \
		msgque.c \
		process.c \
		ProjectionNames.c \
		rtvec.c \
		schedule.c \
		semaphore.c \
		shmem.c \
		sig_subs.c \
		sig_system.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 \
		VaxData.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: makefile.d

makefile.d:
	touch makefile.d
	makedepend -fmakefile.d -- ${CFLAGS} -- ${MKDEPEND_CSRCS} 
	makedepend -fmakefile.d -a -o.usg -- ${CFLAGS} -- messages.msg

${LIB} : ${USER_C_OBJS}
		rm -f ${LIB}
		$(AR) -rsc ${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

test_sphere:	test_sphere.o ${LIB}
	${CXX} ${LD_OPT} test_sphere.o ${LDFLAGS} ${LLIBS} -o test_sphere

trtvec: rtvec.c
	${CC} ${CFLAGS_NOOPT} -DSELFTEST -o trtvec.o rtvec.c
	${CXX} ${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* *.d *.d.bak

-include makefile.d
