

CROSS=arm-merlin-linux-uclibc-

JIM_ENABLE_MSGQ=1

CFLAGS =  -O2 -g 
LDFLAGS += -lpthread

CC=gcc
CXX=g++
LD=ld

COMPILE_OPTS =		$(INCLUDES) -I. -O2 
C =			c
C_COMPILER =		$(CROSS)$(CC)
CFLAGS +=		$(COMPILE_OPTS)
C_FLAGS = $(CFLAGS)
CPP =			cpp
CPLUSPLUS_COMPILER =	$(CROSS)$(CXX)
CPLUSPLUS_FLAGS =	$(COMPILE_OPTS) $(CFLAGS) -Wall -DBSD=1 
CPLUSPLUS_FLAGS += $(CPPFLAGS) -fexceptions
OBJ =			o
LINK =			$(CROSS)$(CC) -o
LINK_OPTS =		-L. $(LDFLAGS)
CONSOLE_LINK_OPTS =	$(LINK_OPTS)
LIBRARY_LINK =		$(CROSS)$(LD) -o
LIBRARY_LINK_OPTS =	 -L.  -r -Bstatic
LIB_SUFFIX =		a
LIBS_FOR_CONSOLE_APPLICATION = $(CXXLIBS)
LIBS_FOR_GUI_APPLICATION = $(LIBS_FOR_CONSOLE_APPLICATION)
EXE =
STRIP = $(CROSS)strip
##### End of variables to change
LIBS = ./libbuffering.a

FFMPEG_PATH  	  = ../ffmpeg/ffmpeg-2009-02-23
FFMPEG_LITE_PATH  = ../ffmpeg/ffmpeg_lite

COMPILE_OPTS += -I$(FFMPEG_PATH)  #-Djim_test_dual_file


BUFFER_LIB_OBJS = buffering_api.o frameQueue.o QueueAr.o bufferQueue.o filebufferQueue.o avBuffering.o 

ifeq ($(JIM_ENABLE_MSGQ),1)
COMPILE_OPTS += -Djim_using_msgQ -I../../API/mainProg #-I../../API/tool/msgq
#BUFFER_LIB_OBJS += ../../API/tool/msgq/msgq.o
endif


#BUFFER_LIB_OBJS += $(FFMPEG_PATH)/libavformat/libavformat.a $(FFMPEG_PATH)/libavutil/libavutil.a

all: libbuffering.a libbuffering.so


.$(C).$(OBJ):
	$(CPLUSPLUS_COMPILER) -c $(C_FLAGS) $< 

.$(CPP).$(OBJ):
	$(CPLUSPLUS_COMPILER) -c $(CPLUSPLUS_FLAGS) $<


libbuffering.a: $(BUFFER_LIB_OBJS)
	$(LIBRARY_LINK)$@ $(LIBRARY_LINK_OPTS) $(BUFFER_LIB_OBJS)
	
libbuffering.so: $(BUFFER_LIB_OBJS)
	$(C_COMPILER) -shared -o $@  $(BUFFER_LIB_OBJS) -lffmpeg_lite -L$(FFMPEG_LITE_PATH)
	$(STRIP) $@

install: 
	cp -af ./libbuffering.so ${MYPATH}/rootfs/usr/lib/

clean:
	rm -f *.o *~ buf_sample *.elf2flt *.elf *.gdb *.a *.so

