TOP		= ../..
include Machine.mk

INCDIR		+= -I$(TOP)/include -I.
LIBS		= -lbitIn -lurl -ljittr -lsocket -lnsl

NAME		= chacodec
LIBNAME		= lib$(NAME).a
BINNAME		= ChaCoder
BINNAME2	= ChaProt
#VIS		= vis.il


.c.o:
	$(CC) -c $(OPTFLAGS) $(CFLAGS) $(INCDIR) $<

SRCS		= \
	writeRTP.c \
	readRTP.c \
	chaenco.c \
	chadeco.c \
	galois.c


OBJS		= \
	writeRTP.o \
	readRTP.o \
	chaenco.o \
	chadeco.o \
	galois.o




CLEANOBJECTS	= $(BINNAME) $(LIBNAME) $(OBJS) main.o *~ core


all: $(LIBNAME) $(BINNAME) $(BINNAME2)

$(BINNAME): $(LIBNAME) main.o
	$(CC) $(OPTFLAGS) $(CFLAGS) $(LIBDIR) -o $(BINNAME) main.o $(OBJS) $(LIBS) $(NETLIBS)

$(BINNAME2): $(LIBNAME) chaprot.c
	$(CC) $(OPTFLAGS) $(INCDIR) $(LIBDIR) -o $(BINNAME2) chaprot.c -L. -lchacodec 

lib: $(LIBNAME)
	mv $(LIBNAME) $(TOP)/lib/$(ARCH)

$(LIBNAME): $(OBJS)
	rm -f $@
	ar cr $@ $(OBJS)
	$(RANLIB) $@

proto:
	$(CPROTO) -e -v $(INCDIR) $(CFLAGS) $(SRCS) > tmp.p
	mv tmp.p $(TOP)/include/$(NAME).p

clean::
	rm -f $(CLEANOBJECTS)
	rm -f *_pure_*.o 

depend:
	makedepend -- $(INCDIR) $(CFLAGS) -- $(SRCS) main.c

$(OBJS):    Machine.mk Makefile

main.o:	Machine.mk Makefile main.c

install-libs: $(LIBNAME) $(BINNAME)
	mv $(LIBNAME) $(TOP)/lib/$(ARCH)

install: $(LIBNAME) $(BINNAME) $(BINNAME2)
	mv $(LIBNAME) $(TOP)/lib/$(ARCH)
	mv $(BINNAME) $(TOP)/bin/$(ARCH)
	mv $(BINNAME2) $(TOP)/bin/$(ARCH)

complete:
	make proto
	make depend
	make install

$(BINNAME): $(TOP)/lib/$(ARCH)/libh263encoder.a
$(BINNAME): $(TOP)/lib/$(ARCH)/libCodebooks.a
$(BINNAME): $(TOP)/lib/$(ARCH)/libcommon.a
$(BINNAME): $(TOP)/lib/$(ARCH)/libfilter.a
$(BINNAME): $(TOP)/lib/$(ARCH)/libbitOut.a
$(BINNAME): $(TOP)/lib/$(ARCH)/libdisplay.a


# DO NOT DELETE THIS LINE -- make depend depends on it.

writeRTP.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h
writeRTP.o: /usr/include/sys/va_list.h /usr/include/stdlib.h
writeRTP.o: ../../include/defs.h ../../include/bitOut.h
writeRTP.o: ../../include/bitOut.p ../../include/chacodec.h
writeRTP.o: ../../include/chacodec.p
readRTP.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h
readRTP.o: /usr/include/sys/va_list.h /usr/include/stdlib.h
readRTP.o: ../../include/defs.h ../../include/bitOut.h ../../include/bitOut.p
readRTP.o: ../../include/chacodec.h ../../include/chacodec.p
chaenco.o: /usr/include/limits.h /usr/include/sys/feature_tests.h
chaenco.o: /usr/include/sys/isa_defs.h /usr/include/string.h
chaenco.o: ../../include/defs.h ../../include/Util.h /usr/include/malloc.h
chaenco.o: ../../include/error.h /usr/include/stdio.h
chaenco.o: /usr/include/sys/va_list.h /usr/include/stdlib.h
chaenco.o: ../../include/bitOut.h ../../include/bitOut.p
chaenco.o: ../../include/chacodec.h ../../include/chacodec.p codec.h galois.h
chadeco.o: /usr/include/stdlib.h /usr/include/sys/feature_tests.h
chadeco.o: /usr/include/string.h ../../include/defs.h ../../include/bitOut.h
chadeco.o: /usr/include/stdio.h /usr/include/sys/va_list.h
chadeco.o: ../../include/bitOut.p ../../include/chacodec.h
chadeco.o: ../../include/chacodec.p codec.h galois.h
galois.o: codec.h galois.h /usr/include/stdio.h
galois.o: /usr/include/sys/feature_tests.h /usr/include/sys/va_list.h
galois.o: /usr/include/stdlib.h /usr/include/string.h
main.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h
main.o: /usr/include/sys/va_list.h /usr/include/stdlib.h
main.o: /usr/include/unistd.h /usr/include/sys/types.h
main.o: /usr/include/sys/isa_defs.h /usr/include/sys/machtypes.h
main.o: /usr/include/sys/unistd.h /usr/include/string.h /usr/include/time.h
main.o: /usr/include/sys/fcntl.h internals.h ../../include/defs.h
main.o: ../../include/bitOut.h ../../include/bitOut.p
main.o: ../../include/chacodec.h ../../include/chacodec.p codec.h galois.h
main.o: ../../include/h263decoder.h ../../include/structs.h
main.o: ../../include/bitIn.h ../../include/bitIn.p ../../include/Util.h
main.o: /usr/include/malloc.h ../../include/error.h
main.o: ../../include/h263decoder.p ../../include/openurl.h
main.o: ../../include/jittr/dstring.h ../../include/jittr/debug.h
main.o: ../../include/jittr/schedule.h ../../include/common.h
main.o: ../../include/code.h ../../include/motion.h ../../include/common.p
