diff -r c1bd57533c56 -r c38f396e1cd0 omadrm/drmengine/group/CryptoPrep.flm --- a/omadrm/drmengine/group/CryptoPrep.flm Wed Oct 13 14:51:23 2010 +0300 +++ b/omadrm/drmengine/group/CryptoPrep.flm Tue Oct 26 15:52:41 2010 +0100 @@ -13,26 +13,30 @@ # Description: DRM Crypto Library build configuration # -CREATABLEPATH:=$(EXTENSION_ROOT)/../drmengine/drmcrypto/build -CLEANTARGETS:=$(CREATABLEPATH)/cmlacrypto.cpp $(CREATABLEPATH)/omacrypto.cpp +ifeq ($(_CRYPTOPREP_FLM_),) +# first instance of this FLM +_CRYPTOPREP_FLM_:= 1 + + +# NB: abspath doesn't like Windows drive letters +CRYPTO_SOURCE_DRIVE:=$(firstword $(subst :, ,$(EXTENSION_ROOT))) +ifeq ($(CRYPTO_SOURCE_DRIVE),$(EXTENSION_ROOT)) +CREATABLEPATH:=$(abspath $(EXTENSION_ROOT)/../drmengine/drmcrypto/build)) +else +CRYPTO_ABSPATH:=$(abspath $(subst $(CRYPTO_SOURCE_DRIVE):,,$(EXTENSION_ROOT)/../drmengine/drmcrypto/build)) +CREATABLEPATH:=$(CRYPTO_SOURCE_DRIVE):$(CRYPTO_ABSPATH) +endif crypto_files:=$(wildcard $(EXTENSION_ROOT)/../drmengine/drmcrypto/CMLA/*.cpp) - -GUARD:=done_$(call sanitise,$(CLEANTARGETS)) -ifeq ($($(GUARD)),) -$(GUARD):=1 - -BITMAP :: $(CREATABLEPATH) +ifeq ($(crypto_files),) +CMLA_CRYPTO_SOURCE:=$(CREATABLEPATH)/../stub/CmlaCryptoStub.cpp +else +CMLA_CRYPTO_SOURCE:=$(CREATABLEPATH)/../CMLA/CmlaCrypto.cpp +endif -ifeq ($(crypto_files),) - $(GNUCP) $(CREATABLEPATH)/../stub/CmlaCryptoStub.cpp $(CREATABLEPATH)/cmlacrypto.cpp -else - $(GNUCP) $(CREATABLEPATH)/../CMLA/CmlaCrypto.cpp $(CREATABLEPATH)/cmlacrypto.cpp -endif - $(GNUCP) $(CREATABLEPATH)/../src/OmaCrypto.cpp $(CREATABLEPATH)/omacrypto.cpp - $(GNUCHMOD) u+w $(CREATABLEPATH)/cmlacrypto.cpp - $(GNUCHMOD) u+w $(CREATABLEPATH)/omacrypto.cpp +$(CREATABLEPATH)/cmlacrypto.cpp: $(CMLA_CRYPTO_SOURCE) + $(GNUCP) $< $@ # Create dirs $(call makepath,$(CREATABLEPATH)) @@ -40,11 +44,10 @@ ## Clean up $(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS))) -## What -$(eval $(call whatmacro,$(CLEANTARGETS))) - +$(info $(PLATFORM) $(CFG), selecting $(CMLA_CRYPTO_SOURCE)) else -$(info $(PLATFORM) $(CFG), up-to-date $(CLEANTARGETS)) +$(info $(PLATFORM) $(CFG), already handled $(CMLA_CRYPTO_SOURCE)) +# FLM already included - don't duplicate the targets endif