omadrm/drmengine/group/CryptoPrep.flm
changeset 87 c938d010410d
parent 46 78de010160a8
equal deleted inserted replaced
84:b09186059647 87:c938d010410d
    11 # Contributors:
    11 # Contributors:
    12 #
    12 #
    13 # Description: DRM Crypto Library build configuration
    13 # Description: DRM Crypto Library build configuration
    14 #
    14 #
    15 
    15 
    16 CREATABLEPATH:=$(EXTENSION_ROOT)/../drmengine/drmcrypto/build
    16 ifeq ($(_CRYPTOPREP_FLM_),)
    17 CLEANTARGETS:=$(CREATABLEPATH)/cmlacrypto.cpp $(CREATABLEPATH)/omacrypto.cpp
    17 # first instance of this FLM
    18 
    18 _CRYPTOPREP_FLM_:= 1
    19 crypto_files:=$(wildcard $(EXTENSION_ROOT)/../drmengine/drmcrypto/CMLA/*.cpp)
       
    20 
    19 
    21 
    20 
    22 GUARD:=done_$(call sanitise,$(CLEANTARGETS))
    21 # NB: abspath doesn't like Windows drive letters
    23 ifeq ($($(GUARD)),)
    22 CRYPTO_SOURCE_DRIVE:=$(firstword $(subst :, ,$(EXTENSION_ROOT)))
    24 $(GUARD):=1
    23 ifeq ($(CRYPTO_SOURCE_DRIVE),$(EXTENSION_ROOT))
       
    24 CRYPTO_ROOT:=$(abspath $(EXTENSION_ROOT)/../drmengine/drmcrypto))
       
    25 else
       
    26 CRYPTO_SOURCE_REST:=$(subst $(CRYPTO_SOURCE_DRIVE):, ,$(EXTENSION_ROOT)/../drmengine/drmcrypto)
       
    27 CRYPTO_ABSPATH:=$(abspath $(CRYPTO_SOURCE_REST))
    25 
    28 
    26 BITMAP :: $(CREATABLEPATH)
    29 #Ensure that drive letter appears in absolute path once and only once.
       
    30 ifeq (,$(findstring $(CRYPTO_SOURCE_DRIVE):,$(CRYPTO_ABSPATH)))
       
    31 CRYPTO_ROOT:=$(CRYPTO_SOURCE_DRIVE):$(CRYPTO_ABSPATH)
       
    32 else
       
    33 CRYPTO_ROOT:=$(CRYPTO_ABSPATH)
       
    34 endif
       
    35 
       
    36 endif
       
    37 
       
    38 CREATABLEPATH:=$(CRYPTO_ROOT)/build
       
    39 
       
    40 crypto_files:=$(wildcard $(CRYPTO_ROOT)/CMLA/*.cpp)
    27 
    41 
    28 ifeq ($(crypto_files),)
    42 ifeq ($(crypto_files),)
    29 	$(GNUCP) $(CREATABLEPATH)/../stub/CmlaCryptoStub.cpp $(CREATABLEPATH)/cmlacrypto.cpp
    43 CMLA_CRYPTO_SOURCE:=$(CRYPTO_ROOT)/stub/CmlaCryptoStub.cpp
    30 else
    44 else
    31 	$(GNUCP) $(CREATABLEPATH)/../CMLA/CmlaCrypto.cpp $(CREATABLEPATH)/cmlacrypto.cpp
    45 CMLA_CRYPTO_SOURCE:=$(CRYPTO_ROOT)/CMLA/CmlaCrypto.cpp
    32 endif
    46 endif
    33 	$(GNUCP) $(CREATABLEPATH)/../src/OmaCrypto.cpp $(CREATABLEPATH)/omacrypto.cpp
    47 CLEANTARGETS:=$(CREATABLEPATH)/cmlacrypto.cpp
    34 	$(GNUCHMOD) u+w $(CREATABLEPATH)/cmlacrypto.cpp
    48 
    35 	$(GNUCHMOD) u+w $(CREATABLEPATH)/omacrypto.cpp
    49 define drmcryptoprep
       
    50 
       
    51 BITMAP:: $(CLEANTARGETS)
       
    52 	$(call startrule,drmcryptoprep) \
       
    53 	echo created $(CLEANTARGETS) \
       
    54 	$(call endrule,drmcryptoprep)
       
    55 
       
    56 
       
    57 $(CLEANTARGETS): $(CMLA_CRYPTO_SOURCE)
       
    58 	$(call startrule,drmcryptoprep) \
       
    59 	$(GNUCP) $$< $$@ && \
       
    60 	$(GNUCHMOD) u+w $$@ \
       
    61 	$(call endrule,drmcryptoprep)
       
    62 
       
    63 endef
    36 
    64 
    37 # Create dirs
    65 # Create dirs
    38 $(call makepath,$(CREATABLEPATH))
    66 $(call makepath,$(CREATABLEPATH))
    39 
    67 $(eval $(call drmcryptoprep))
    40 ## Clean up
    68 ## Clean up
    41 $(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS)))
    69 $(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS)))
    42 
    70 
    43 ## What
    71 ## What
    44 $(eval $(call whatmacro,$(CLEANTARGETS)))
    72 $(eval $(call whatmacro,$(CLEANTARGETS)))
    45 
    73 
       
    74 $(info <debug>$(PLATFORM) $(CFG), selecting $(CMLA_CRYPTO_SOURCE)</debug>)
    46 
    75 
    47 else
    76 else
    48 $(info <debug>$(PLATFORM) $(CFG), up-to-date $(CLEANTARGETS)</debug>)
    77 $(info <debug>$(PLATFORM) $(CFG), already handled $(CMLA_CRYPTO_SOURCE)</debug>)
       
    78 # FLM already included - don't duplicate the targets
    49 
    79 
    50 endif
    80 endif