include ../../config.mak

VPATH=$(SRC_PATH)/Plugins/codec_pack

# NOTE: -I.. is needed to include config.h
CFLAGS= $(OPTFLAGS) -Wall -I.. -I$(SRC_PATH)/include

ifeq ($(DEBUGBUILD), yes)
CFLAGS+=-g
LDFLAGS+=-g
endif

NEED_LOCAL_LIB="no"
LOCAL_LIB=../../bin/gcc
LINKLIBS= -lm4systems

#common obj
OBJS=codec_pack.o jpeg_in.o

#faad config
ifeq ($(CONFIG_FAAD), no)
else
OBJS+=faad_dec.o
LINKLIBS+= -lfaad
CFLAGS+=-DM4_BUILD_FAAD
#local faad lib
ifeq ($(CONFIG_FAAD), local)
NEED_LOCAL_LIB="yes"
CFLAGS+= -I../../extra_lib/include/faad
endif
endif

#xvid config
ifeq ($(CONFIG_XVID), no)
else
OBJS+=xvid_dec.o
LINKLIBS+= -lxvidcore
CFLAGS+=-DM4_BUILD_XVID
#local xvid lib
ifeq ($(CONFIG_XVID), local)
NEED_LOCAL_LIB="yes"
CFLAGS+= -I../../extra_lib/include/xvid
endif
endif

#mad config
ifeq ($(CONFIG_MAD), no)
else
OBJS+=mad_dec.o
LINKLIBS+= -lmad
CFLAGS+=-DM4_BUILD_MAD
#local mad lib
ifeq ($(CONFIG_MAD), local)
NEED_LOCAL_LIB="yes"
CFLAGS+= -I../../extra_lib/include/mad
endif
endif

#png config
ifeq ($(CONFIG_PNG), no)
else
OBJS+=png_dec.o
LINKLIBS+= -lpng -lz
CFLAGS+=-DM4_BUILD_PNG
#local png lib
ifeq ($(CONFIG_PNG), local)
NEED_LOCAL_LIB="yes"
CFLAGS+= -I../../extra_lib/include/png
endif
endif

#jpeg config
ifeq ($(CONFIG_JPEG), no)
else
OBJS+=jpeg_dec.o
LINKLIBS+= -ljpeg
CFLAGS+=-DM4_BUILD_JPEG
#local png lib
ifeq ($(CONFIG_JPEG), local)
NEED_LOCAL_LIB="yes"
CFLAGS+= -I../../extra_lib/include/jpeg
endif
endif

#big-endian config (needed for PNG dec)
ifeq ($(IS_BIGENDIAN), yes)
CFLAGS+=-DM4_BIG_ENDIAN
endif

#add local lib path
ifeq ($(NEED_LOCAL_LIB), "yes")
LOCAL_LIB+=-L../../extra_lib/lib/gcc
endif



SRCS := $(OBJS:.o=.c) 

ifeq ($(CONFIG_WIN32),yes)
LIB=codec_pack.dll
LDFLAGS+=-export-symbols codec_pack.def 
else
LIB=codec_pack.so
endif

all: $(LIB)


$(LIB): $(OBJS)
	$(CC) $(SHFLAGS) $(LDFLAGS) -o ../../bin/gcc/$@ $(OBJS) $(EXTRALIBS) -L$(LOCAL_LIB) $(LINKLIBS)


%.o: %.c
	$(CC) $(CFLAGS) -c -o $@ $< 


clean: 
	rm -f $(OBJS) ../../bin/gcc/$(LIB)

dep: depend

depend:
	rm -f .depend	
	$(CC) -MM $(CFLAGS) $(SRCS) 1>.depend

distclean: clean
	rm -f Makefile.bak .depend



# include dependency files if they exist
#
ifneq ($(wildcard .depend),)
include .depend
endif
