# Change it here or specify it on the "make" commandline
#

# cc -DLINELENGTH=80 prog.c -o prog
# cc -DDEBUG should work also

include ../config.mk

CROSS_COMPILE   = arm-linux-

#cross compile
AR_ARM	    = $(CROSS_COMPILE)ar
AS_ARM      = $(CROSS_COMPILE)as
LD_ARM      = $(CROSS_COMPILE)ld
CC_ARM      = $(CROSS_COMPILE)gcc

#std compile
AR	= ar
AS      = as
LD      = ld
CC      = gcc

LIBS_ARM = -lpthread -lDynamoMiddlewareARM -lX11 -lm $(PAAPI_DIR)/user-level/paapilib.a
LIBS = -lpthread -lDynamoMiddleware -lm
LIBSLOCATIONS = -L./lib -L${ARM_X11}/lib

LINUXKERNELINCLUDEDIR		= $(LINUXKERNELSRC)/include
ARM_LINUXKERNELINCLUDEDIR	= ${ARM_LINUXKERNELSRC}/include

IFLAGS	= -I. -I$(LINUXKERNELINCLUDEDIR) -I${ARM_LINUXKERNELINCLUDEDIR}  -I${ARM_X11}/include -I$(PAAPI_DIR)/linux-ipaq-v0.6.1/kernel/include  -I$(PAAPI_DIR)/kernel-level/include -I$(PAAPI_DIR)/user-level 

CFLAGS_ARM  = -Os 
CFLAGS += -march=armv4
CFLAGS_ARM += $(IFLAGS)

GCC_ARM = $(CC_ARM) $(CFLAGS_ARM)

CFLAGS  = -g -Os
CFLAGS += $(IFLAGS)

GCC = $(CC) $(CFLAGS)

DEVICE = device
PLAYER = H263Player
PROXY = proxy
TRANSCODER = H263Transcoder
DEVICE_OBJS =${DEVICE}.o ${PLAYER}.o
PROXY_OBJS = ${PROXY}.o ${TRANSCODER}.o

# script starts here
all:device proxy

clean:
	(cd lib/libDynamoMiddleware; make clean)
	(rm -f *.o ${DEVICE} ${PROXY})
	
${DEVICE}:${DEVICE_OBJS} libraries
	${GCC_ARM} ${DEVICE_OBJS} -o ${DEVICE} ${LIBSLOCATIONS} ${LIBS_ARM}

${DEVICE}.o:${DEVICE}.c dyncommunication.h
	${GCC_ARM} ${DEVICE}.c -c

${PROXY}:${PROXY_OBJS} libraries
	${GCC} ${PROXY_OBJS} -o ${PROXY} ${LIBSLOCATIONS} ${LIBS}

${PROXY}.o:${PROXY}.c dyncommunication.h
	${GCC} ${PROXY}.c -c

${TRANSCODER}.o: api.h ${TRANSCODER}.c
	 ${GCC} -c ${TRANSCODER}.c 

${PLAYER}.o: api.h ${PLAYER}.c
	 ${GCC_ARM} -c -DDISPLAY ${PLAYER}.c

libraries:
	(cd lib/libDynamoMiddleware; make all)
