ifneq '$(filter -DEM86XX_MODE=EM86XX_MODEID_STANDALONE, $(RMCFLAGS))' ''

ifneq '$(filter -DEM86XX_CHIP=EM86XX_CHIPID_TANGO2,$(RMCFLAGS))' ''

CROSS      := mipsel-linux-
RMPLATFORM := RMPLATFORMID_TANGO2
RMCFLAGS   += -mips32r2 -Wa,-mips32r2
lib_ext    := so

else  # CHIPID_TANGO2

CROSS      := arm-elf-
RMPLATFORM := RMPLATFORMID_JASPERMAMBO
RMCFLAGS   += -DLLAD_DIRECT -D__arm__
LDFLAGS    += -Wl,-elf2flt="-s32768"
lib_ext    := a

endif # CHIPID_TANGO2

export CROSS
export RMPLATFORM

else  # MODEID_STANDALONE
ifneq '$(filter -DEM86XX_MODE=EM86XX_MODEID_WITHHOST,$(RMCFLAGS))' ''

ifndef RMPLATFORM
RMPLATFORM := RMPLATFORMID_PCLINUX
export RMPLATFORM
endif
LINKER  := g++
lib_ext := so

else  # MODEID_WITHHOST

$(error EM86XX_MODE is not set in RMCFLAGS: refer to emhwlib/include/emhwlib_modes.h)

endif # MODEID_WITHHOST
endif # MODEID_STANDALONE

COMPILKIND += withoutdbg
RMCFLAGS +=                      \
    -DMAMBO=1                    \
    -DRMVDEMUX_LOCAL_RMOBJECT=1  \
    -DBASIC_MPEG4_FRAMEWORK=1    \
    -DBASIC_DETECTOR_FRAMEWORK=1 \
    -DWITH_RM_FILE_JPEG=1        \
    -D_FILE_OFFSET_BITS=64

.PHONY: all
all:

libdcc     := libdcc.$(lib_ext)
libdcc_lib := ../MRUA_src/dcc/src/$(libdcc)
$(libdcc): $(libdcc_lib)

libsamples     := libsamples.$(lib_ext)
libsamples_lib := ../MRUA_src/samples/libsamples/$(libsamples)
$(libsamples): $(libsamples_lib)

libsamples_t     := libsamples_t.$(lib_ext)
libsamples_t_lib := ../MRUA_src/samples/libsamples_t/$(libsamples_t)
$(libsamples_t): $(libsamples_t_lib)

librmmonitoring     := librmmonitoring.$(lib_ext)
librmmonitoring_lib := ../MRUA_src/librmmonitoring/src/$(librmmonitoring)
$(librmmonitoring): $(librmmonitoring_lib)

librmjpeg     := librmjpeg.$(lib_ext)
librmjpeg_lib := ../MRUA_src/rmlibjpeg/src/$(librmjpeg)
$(librmjpeg): $(librmjpeg_lib)

librmpng     := librmpng.$(lib_ext)
librmpng_lib := ../MRUA_src/rmlibpng/src/$(librmpng)
$(librmpng): $(librmpng_lib)

librmungif     := librmungif.$(lib_ext)
librmungif_lib := ../MRUA_src/rmlibungif/src/$(librmungif)
$(librmungif): $(librmungif_lib)

librmzlib     := librmzlib.$(lib_ext)
librmzlib_lib := ../MRUA_src/rmzlib/src/$(librmzlib)
$(librmzlib): $(librmzlib_lib)

librmhttp     := librmhttp.$(lib_ext)
librmhttp_lib := ../MRUA_src/rmlibhttp/src/$(librmhttp)
$(librmhttp): $(librmhttp_lib)

librmcw     := librmcw.$(lib_ext)
librmcw_lib := ../MRUA_src/rmlibcw/src_linux/$(librmcw)
$(librmcw): $(librmcw_lib)

librmpthreadw     := librmpthreadw.$(lib_ext)
librmpthreadw_lib := ../MRUA_src/librmpthreadw/$(librmpthreadw)
$(librmpthreadw): $(librmpthreadw_lib)

librmrtk     := librmrtk86.$(lib_ext)
librmrtk_lib := ../MRUA_src/rmrtk/src_86/$(librmrtk)
$(librmrtk): $(librmrtk_lib)

librmcore     := librmcore.$(lib_ext)
librmcore_lib := ../MRUA_src/rmcore/src/$(librmcore)
$(librmcore): $(librmcore_lib)

librmdemuxwritekeyapi := librmdemuxwritekeyapi.$(lib_ext)
librmdemuxwritekeyapi_lib := ../MRUA_src/rmdemuxwritekey/$(librmdemuxwritekeyapi)
$(librmdemuxwritekeyapi): $(librmdemuxwritekeyapi_lib)

librmremote     := librmremote.$(lib_ext)
librmremote_lib := ../MRUA_src/rmremoteapi/externalapi/$(librmremote)
$(librmremote): $(librmremote_lib)

librmasfdemux     := librmasfdemux.$(lib_ext)
librmasfdemux_lib := ../MRUA_src/rmasfdemux/src/$(librmasfdemux)
$(librmasfdemux): $(librmasfdemux_lib)

librmcssinterface     := librmcssinterface.so
librmcssinterface_lib := ../MRUA_src/rmcss/$(librmcssinterface)
$(librmcssinterface): $(librmcssinterface_lib)

librmcprminterface     := librmcprminterface.so
librmcprminterface_lib := ../MRUA_src/rmcprm/src/$(librmcprminterface)
$(librmcprminterface): $(librmcprminterface_lib)

librmbluraycps     := librmbluraycps.so
librmbluraycps_lib := ../MRUA_src/rmbluraycps/src/$(librmbluraycps)
$(librmbluraycps): $(librmbluraycps_lib)

librmspdcapi     := librmspdcapi.so
librmspdcapi_lib := ../MRUA_src/rmspdcapi/src/$(librmspdcapi)
$(librmspdcapi): $(librmspdcapi_lib)

librmaacsapi     := librmaacsapi.so
librmaacsapi_lib := ../MRUA_src/rmaacsapi/src/$(librmaacsapi)
$(librmaacsapi): $(librmaacsapi_lib)

libgbus     := libgbus.$(lib_ext)
libgbus_lib := ../MRUA_src/gbuslib/src/$(libgbus)
$(libgbus): $(libgbus_lib)

librmppf     := librmppf.$(lib_ext)
librmppf_lib := ../MRUA_src/rmppf/src/$(librmppf)
$(librmppf): $(librmppf_lib)

librmdtcpinterface        := librmdtcpinterface.$(lib_ext)
librmdtcpinterface_lib    := ../MRUA_src/rmdtcpapi/src/$(librmdtcpinterface)
$(librmdtcpinterface)     : $(librmdtcpinterface_lib)

librmxpurtcapi     := librmxpurtcapi.so
librmxpurtcapi_lib := ../MRUA_src/rmxpurtcapi/src/$(librmxpurtcapi)
$(librmxpurtcapi): $(librmxpurtcapi_lib)

librmnagracsdapi     := librmnagracsdapi.so
librmnagracsdapi_lib := ../MRUA_src/rmnagracsdapi/src/$(librmnagracsdapi)
$(librmnagracsdapi): $(librmnagracsdapi_lib)

librmcapture     := librmcapture.$(lib_ext)
librmcapture_lib := ../MRUA_src/rmcapture/src/$(librmcapture)
$(librmcapture): $(librmcapture_lib)


libs := \
    $(libdcc_lib)		\
    $(libsamples_lib)		\
    $(libsamples_t_lib)         \
    $(librmmonitoring_lib)	\
    $(librmjpeg_lib)		\
    $(librmpng_lib)		\
    $(librmungif_lib)		\
    $(librmzlib_lib)		\
    $(librmhttp_lib)		\
    $(librmcw_lib)		\
    $(librmpthreadw_lib)	\
    $(librmrtk_lib)		\
    $(librmcore_lib)		\
    $(librmremote_lib)		\
    $(librmasfdemux_lib)
ifneq '$(filter -DEM86XX_CHIP=EM86XX_CHIPID_TANGO2, $(RMCFLAGS))' ''
libs += \
    $(librmppf_lib)		\
    $(librmcssinterface_lib)	\
    $(librmcprminterface_lib)	\
    $(librmbluraycps_lib)	\
    $(librmspdcapi_lib)		\
    $(librmaacsapi_lib)		\
    $(librmdtcpinterface_lib) 	\
    $(librmxpurtcapi_lib)	\
    $(librmnagracsdapi_lib)
ifneq '$(filter -DEM86XX_MODE=EM86XX_MODEID_STANDALONE, $(RMCFLAGS))' ''
libs += \
    $(librmdemuxwritekeyapi_lib)
endif
endif
libs += \
    $(libgbus_lib)
    
lib_targets  := $(notdir $(libs))
lib_clean    := $(lib_targets:%=%_clean)
lib_cleanall := $(libs:%=%_cleanall)

##
# Note: the dependency of target all on $(lib_list) was removed to resolve
# the request in bug #4102. It effectively renders the Makefile ineffectual
# (all the targets likely to be called by the Makefile system, 'all', 'clean'
# and 'cleanrelease' just do nothing, but the Makefile is still useful.
#all: $(lib_targets)

$(lib_targets):
	cp $< $@

$(libs): FORCE
	$(MAKE) -C $(@D)

.PHONY: $(lib_clean)
$(lib_clean):
	$(RM) $(subst _clean,,$@)

.PHONY: $(lib_cleanall)
$(lib_cleanall):
	$(MAKE) -C $(@D) cleanall

.PHONY: FORCE
FORCE:

.PHONY: clean
clean:

.PHONY: cleanall
cleanall: clean

##
# Note: because the all target does not build all the libs in this directory 
# (in order to address the request in bug #4102), the clean and cleanall
# targets cannot clean anything.
# As with the building of libraries, individual libraries can still be cleaned
# individually.
#clean: $(lib_clean)
#cleanall: $(lib_cleanall)

