TOP		= ../../..
include Machine.mk

INCDIR		+= -I$(TOP)/include/pyra/decoder -I$(TOP)/include/pyra

ifeq ($(ARCH),linux)
LIBS            = -lCodebooks -lHuffDecode \
                -lh263decoder -lcommon -lbitIn -lfilter \
                -ldisplay -ljittr -lX11 -lXext -lXmu -lm -lc $(NETLIBS)
else
LIBS            = -lCodebooks -lHuffDecode \
                -lh263decoder -lcommon -lbitIn -lfilter \
                -ldisplay -lurl -ljittr -lX11 -lXext -lXmu -lm $(NETLIBS)
endif
 

ifneq ($(WITHOUT_CHACODEC),TRUE)
	LIBS += -lchacodec
endif

NAME		= pyradecoder
LIBNAME		= lib$(NAME).a
BINNAME		= HPDecoder
#VIS		= vis.il

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

SRCS		= \
	pyradec.c \
	extVector.c \
	input.c \
	pyra.c \
	reconpyra.c

OBJS		= \
	pyradec.o \
	extVector.o \
	input.o \
	pyra.o \
	reconpyra.o


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


all: $(BINNAME)

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

$(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: $(BINNAME) $(LIBNAME)
	cp $(LIBNAME) $(TOP)/lib/$(ARCH)

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

complete:
	make proto
	make depend
	make install


$(BINNAME): $(TOP)/lib/$(ARCH)/libCodebooks.a
$(BINNAME): $(TOP)/lib/$(ARCH)/libHuffDecode.a
$(BINNAME): $(TOP)/lib/$(ARCH)/libh263decoder.a
$(BINNAME): $(TOP)/lib/$(ARCH)/libcommon.a
$(BINNAME): $(TOP)/lib/$(ARCH)/libbitIn.a
$(BINNAME): $(TOP)/lib/$(ARCH)/libfilter.a
$(BINNAME): $(TOP)/lib/$(ARCH)/libdisplay.a


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

pyradec.o: /usr/include/stdlib.h /usr/include/sys/feature_tests.h
pyradec.o: /usr/include/string.h ../../../include/Util.h
pyradec.o: /usr/include/malloc.h ../../../include/error.h
pyradec.o: /usr/include/stdio.h /usr/include/sys/va_list.h
pyradec.o: ../../../include/pyradecoder.h ../../../include/bitIn.h
pyradec.o: ../../../include/defs.h ../../../include/bitIn.p
pyradec.o: ../../../include/structs.h ../../../include/pyradecoder.p
pyradec.o: ../../../include/common.h ../../../include/code.h
pyradec.o: ../../../include/motion.h ../../../include/bitOut.h
pyradec.o: ../../../include/bitOut.p ../../../include/common.p
pyradec.o: ../../../include/filter.p ../../../include/pyra/Codebooks.p
pyradec.o: ../../../include/pyra/decoder/HuffDecode.p
pyradec.o: ../../../include/h263decoder.h ../../../include/h263decoder.p
extVector.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h
extVector.o: /usr/include/sys/va_list.h /usr/include/string.h
extVector.o: ../../../include/pyradecoder.h ../../../include/bitIn.h
extVector.o: ../../../include/defs.h ../../../include/bitIn.p
extVector.o: ../../../include/structs.h ../../../include/Util.h
extVector.o: /usr/include/malloc.h ../../../include/error.h
extVector.o: /usr/include/stdlib.h ../../../include/pyradecoder.p
extVector.o: ../../../include/pyra/decoder/HuffDecode.p
input.o: /usr/include/string.h /usr/include/sys/feature_tests.h
input.o: ../../../include/pyradecoder.h ../../../include/bitIn.h
input.o: /usr/include/stdio.h /usr/include/sys/va_list.h
input.o: ../../../include/defs.h ../../../include/bitIn.p
input.o: ../../../include/structs.h ../../../include/Util.h
input.o: /usr/include/malloc.h ../../../include/error.h /usr/include/stdlib.h
input.o: ../../../include/pyradecoder.p ../../../include/common.h
input.o: ../../../include/code.h ../../../include/motion.h
input.o: ../../../include/bitOut.h ../../../include/bitOut.p
input.o: ../../../include/common.p ../../../include/filter.p
pyra.o: /usr/include/assert.h /usr/include/stdlib.h
pyra.o: /usr/include/sys/feature_tests.h /usr/include/string.h
pyra.o: ../../../include/pyradecoder.h ../../../include/bitIn.h
pyra.o: /usr/include/stdio.h /usr/include/sys/va_list.h
pyra.o: ../../../include/defs.h ../../../include/bitIn.p
pyra.o: ../../../include/structs.h ../../../include/Util.h
pyra.o: /usr/include/malloc.h ../../../include/error.h
pyra.o: ../../../include/pyradecoder.p ../../../include/common.h
pyra.o: ../../../include/code.h ../../../include/motion.h
pyra.o: ../../../include/bitOut.h ../../../include/bitOut.p
pyra.o: ../../../include/common.p ../../../include/filter.p
reconpyra.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h
reconpyra.o: /usr/include/sys/va_list.h /usr/include/stdlib.h
reconpyra.o: ../../../include/pyradecoder.h ../../../include/bitIn.h
reconpyra.o: ../../../include/defs.h ../../../include/bitIn.p
reconpyra.o: ../../../include/structs.h ../../../include/Util.h
reconpyra.o: /usr/include/malloc.h ../../../include/error.h
reconpyra.o: ../../../include/pyradecoder.p ../../../include/common.h
reconpyra.o: ../../../include/code.h ../../../include/motion.h
reconpyra.o: ../../../include/bitOut.h ../../../include/bitOut.p
reconpyra.o: ../../../include/common.p
main.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h
main.o: /usr/include/sys/va_list.h /usr/include/stdlib.h /usr/include/ctype.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
main.o: /usr/include/sys/fcntl.h /usr/include/time.h /usr/include/sys/time.h
main.o: ../../../include/defs.h ../../../include/pyra/decoder/main.h
main.o: ../../../include/options.h ../../../include/Util.h
main.o: /usr/include/malloc.h ../../../include/error.h
main.o: ../../../include/config.h ../../../include/dispconf.h
main.o: ../../../include/openurl.h ../../../include/jittr/dstring.h
main.o: ../../../include/jittr/debug.h ../../../include/jittr/schedule.h
main.o: ../../../include/h263decoder.h ../../../include/structs.h
main.o: ../../../include/bitIn.h ../../../include/bitIn.p
main.o: ../../../include/h263decoder.p ../../../include/pyradecoder.h
main.o: ../../../include/pyradecoder.p ../../../include/common.h
main.o: ../../../include/code.h ../../../include/motion.h
main.o: ../../../include/bitOut.h ../../../include/bitOut.p
main.o: ../../../include/common.p ../../../include/display.h
main.o: /usr/openwin/include/X11/Xlib.h /usr/openwin/include/X11/X.h
main.o: /usr/openwin/include/X11/Xfuncproto.h
main.o: /usr/openwin/include/X11/Xosdefs.h /usr/include/stddef.h
main.o: /usr/openwin/include/X11/Xutil.h ../../../include/display.p
main.o: ../../../include/filter.p ../../../include/chacodec.h
main.o: ../../../include/chacodec.p
