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

INCDIR		+= -I$(TOP)/include/h263/decoder
LIBS		= -lbitIn -lcommon -ldisplay -lXt -lXext -lXmu -lX11

ifeq ($(ARCH),linux)
LIBS += -lc
endif

NAME		= h263decoder
LIBNAME		= lib$(NAME).a
BINNAME		= H263Decoder
#VIS		= vis.il

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

SRCS		= \
	getblk.c \
	getgob.c \
	gethdr.c \
	getvlc.c \
	h263dec.c \
	idct.c \
	input.c \
	reconh263.c \
	sac.c

OBJS		= \
	getblk.o \
	getgob.o \
	gethdr.o \
	getvlc.o \
	h263dec.o \
	idct.o \
	input.o \
	reconh263.o \
	sac.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)
	mv $(LIBNAME) $(TOP)/lib/$(ARCH)

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

complete:
	make proto
	make depend
	make install


$(BINNAME): $(TOP)/lib/$(ARCH)/libbitIn.a
$(BINNAME): $(TOP)/lib/$(ARCH)/libcommon.a
$(BINNAME): $(TOP)/lib/$(ARCH)/libdisplay.a


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

getblk.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h
getblk.o: /usr/include/sys/va_list.h /usr/include/stdlib.h
getblk.o: ../../../include/Util.h /usr/include/malloc.h
getblk.o: ../../../include/error.h ../../../include/h263decoder.h
getblk.o: ../../../include/defs.h ../../../include/structs.h
getblk.o: ../../../include/bitIn.h ../../../include/bitIn.p
getblk.o: ../../../include/h263decoder.p
getblk.o: ../../../include/h263/decoder/indices.h
getblk.o: ../../../include/h263/decoder/sactbls.h
getgob.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h
getgob.o: /usr/include/sys/va_list.h /usr/include/stdlib.h
getgob.o: /usr/include/string.h ../../../include/Util.h /usr/include/malloc.h
getgob.o: ../../../include/error.h ../../../include/h263decoder.h
getgob.o: ../../../include/defs.h ../../../include/structs.h
getgob.o: ../../../include/bitIn.h ../../../include/bitIn.p
getgob.o: ../../../include/h263decoder.p
getgob.o: ../../../include/h263/decoder/sactbls.h
getgob.o: ../../../include/h263/decoder/indices.h
gethdr.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h
gethdr.o: /usr/include/sys/va_list.h /usr/include/assert.h
gethdr.o: /usr/include/stdlib.h ../../../include/h263decoder.h
gethdr.o: ../../../include/defs.h ../../../include/structs.h
gethdr.o: ../../../include/bitIn.h ../../../include/bitIn.p
gethdr.o: ../../../include/Util.h /usr/include/malloc.h
gethdr.o: ../../../include/error.h ../../../include/h263decoder.p
getvlc.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h
getvlc.o: /usr/include/sys/va_list.h ../../../include/h263decoder.h
getvlc.o: ../../../include/defs.h ../../../include/structs.h
getvlc.o: ../../../include/bitIn.h ../../../include/bitIn.p
getvlc.o: ../../../include/Util.h /usr/include/malloc.h
getvlc.o: ../../../include/error.h /usr/include/stdlib.h
getvlc.o: ../../../include/h263decoder.p
getvlc.o: ../../../include/h263/decoder/getvlc.h
h263dec.o: /usr/include/stdlib.h /usr/include/sys/feature_tests.h
h263dec.o: /usr/include/string.h ../../../include/h263decoder.h
h263dec.o: /usr/include/stdio.h /usr/include/sys/va_list.h
h263dec.o: ../../../include/defs.h ../../../include/structs.h
h263dec.o: ../../../include/bitIn.h ../../../include/bitIn.p
h263dec.o: ../../../include/Util.h /usr/include/malloc.h
h263dec.o: ../../../include/error.h ../../../include/h263decoder.p
idct.o: ../../../include/Util.h /usr/include/malloc.h
idct.o: ../../../include/error.h /usr/include/stdio.h
idct.o: /usr/include/sys/feature_tests.h /usr/include/sys/va_list.h
idct.o: /usr/include/stdlib.h
input.o: /usr/include/assert.h /usr/include/stdio.h
input.o: /usr/include/sys/feature_tests.h /usr/include/sys/va_list.h
input.o: /usr/include/stdlib.h /usr/include/string.h
input.o: ../../../include/h263decoder.h ../../../include/defs.h
input.o: ../../../include/structs.h ../../../include/bitIn.h
input.o: ../../../include/bitIn.p ../../../include/Util.h
input.o: /usr/include/malloc.h ../../../include/error.h
input.o: ../../../include/h263decoder.p
reconh263.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h
reconh263.o: /usr/include/sys/va_list.h /usr/include/assert.h
reconh263.o: /usr/include/stdlib.h ../../../include/h263decoder.h
reconh263.o: ../../../include/defs.h ../../../include/structs.h
reconh263.o: ../../../include/bitIn.h ../../../include/bitIn.p
reconh263.o: ../../../include/Util.h /usr/include/malloc.h
reconh263.o: ../../../include/error.h ../../../include/h263decoder.p
reconh263.o: ../../../include/common.h ../../../include/code.h
reconh263.o: ../../../include/motion.h ../../../include/bitOut.h
reconh263.o: ../../../include/bitOut.p ../../../include/common.p
sac.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h
sac.o: /usr/include/sys/va_list.h /usr/include/string.h
sac.o: ../../../include/h263decoder.h ../../../include/defs.h
sac.o: ../../../include/structs.h ../../../include/bitIn.h
sac.o: ../../../include/bitIn.p ../../../include/Util.h /usr/include/malloc.h
sac.o: ../../../include/error.h /usr/include/stdlib.h
sac.o: ../../../include/h263decoder.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
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/time.h ../../../include/options.h
main.o: ../../../include/Util.h /usr/include/malloc.h
main.o: ../../../include/error.h ../../../include/config.h
main.o: ../../../include/dispconf.h ../../../include/h263decoder.h
main.o: ../../../include/defs.h ../../../include/structs.h
main.o: ../../../include/bitIn.h ../../../include/bitIn.p
main.o: ../../../include/h263decoder.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
