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

INCDIR		+= -I$(TOP)/include/h263/encoder
LIBS		= -lbitOut -lcommon -ldisplay -lX11 -lXext -lXmu -lm

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

NAME		= h263encoder
LIBNAME		= lib$(NAME).a
BINNAME		= H263Encoder
#VIS		= vis.il

# who needs xil???
XILLIBS		= $(XLIBDIR) \
		-R/opt/SUNWits/Graphics-sw/xil/lib \
		-L/opt/SUNWits/Graphics-sw/xil/lib -lxil

CFLAGS		+= -DMEASURE_PSNR -DWITHOUT_GRABBER


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

SRCS		= \
	fdct.c \
	h263enc.c \
	h263mux.c \
	idct.c

OBJS		= \
	fdct.o \
	h263enc.o \
	h263mux.o \
	idct.o



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


all: $(BINNAME)

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

$(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)/libbitOut.a
$(BINNAME): $(TOP)/lib/$(ARCH)/libcommon.a
$(BINNAME): $(TOP)/lib/$(ARCH)/libdisplay.a


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

fdct.o: /usr/include/string.h /usr/include/sys/feature_tests.h
fdct.o: ../../../include/defs.h
h263enc.o: /usr/include/stdlib.h /usr/include/sys/feature_tests.h
h263enc.o: /usr/include/limits.h /usr/include/sys/isa_defs.h
h263enc.o: /usr/include/string.h ../../../include/defs.h
h263enc.o: ../../../include/structs.h ../../../include/Util.h
h263enc.o: /usr/include/malloc.h ../../../include/error.h
h263enc.o: /usr/include/stdio.h /usr/include/sys/va_list.h
h263enc.o: ../../../include/bitOut.h ../../../include/bitOut.p
h263enc.o: ../../../include/h263/encoder/h263encoder.h
h263enc.o: ../../../include/motion.h ../../../include/code.h
h263enc.o: ../../../include/h263encoder.p ../../../include/common.h
h263enc.o: ../../../include/common.p
h263mux.o: ../../../include/defs.h ../../../include/Util.h
h263mux.o: /usr/include/malloc.h ../../../include/error.h
h263mux.o: /usr/include/stdio.h /usr/include/sys/feature_tests.h
h263mux.o: /usr/include/sys/va_list.h /usr/include/stdlib.h
h263mux.o: ../../../include/bitOut.h ../../../include/bitOut.p
h263mux.o: ../../../include/code.h
h263mux.o: ../../../include/h263/encoder/h263encoder.h
h263mux.o: ../../../include/motion.h ../../../include/structs.h
h263mux.o: ../../../include/h263encoder.p
h263mux.o: ../../../include/h263/encoder/H263_mcbpcP.h
h263mux.o: ../../../include/h263/encoder/H263_mcbpcI.h
h263mux.o: ../../../include/h263/encoder/H263_modb.h
h263mux.o: ../../../include/h263/encoder/H263_cbpb.h
h263mux.o: ../../../include/h263/encoder/H263_cbpyP.h
h263mux.o: ../../../include/h263/encoder/H263_cbpyI.h
h263mux.o: ../../../include/H263_mvd.h
h263mux.o: ../../../include/h263/encoder/H263_intradc.h
h263mux.o: ../../../include/h263/encoder/H263_tcoef.h
h263mux.o: ../../../include/h263/encoder/H263_escrun.h
h263mux.o: ../../../include/h263/encoder/H263_esclevel.h
h263mux.o: ../../../include/common.h ../../../include/common.p
idct.o: /usr/include/math.h ../../../include/defs.h ../../../include/Util.h
idct.o: /usr/include/malloc.h ../../../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
main.o: /usr/include/stdlib.h /usr/include/sys/feature_tests.h
main.o: /usr/include/string.h /usr/include/sys/time.h
main.o: /usr/include/sys/types.h /usr/include/sys/isa_defs.h
main.o: /usr/include/sys/machtypes.h ../../../include/Util.h
main.o: /usr/include/malloc.h ../../../include/error.h /usr/include/stdio.h
main.o: /usr/include/sys/va_list.h ../../../include/defs.h
main.o: ../../../include/structs.h ../../../include/dispconf.h
main.o: ../../../include/options.h ../../../include/config.h
main.o: ../../../include/display.h /usr/openwin/include/X11/Xlib.h
main.o: /usr/openwin/include/X11/X.h /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/common.h ../../../include/code.h
main.o: ../../../include/motion.h ../../../include/bitOut.h
main.o: ../../../include/bitOut.p ../../../include/common.p
main.o: ../../../include/h263/encoder/h263encoder.h
main.o: ../../../include/h263encoder.p
