build
Révision | cb7e45cf4ab506a74244f189c703659e148edf4c (tree) |
---|---|
l'heure | 2013-04-17 16:58:16 |
Auteur | Chih-Wei Huang <cwhuang@linu...> |
Commiter | Chih-Wei Huang |
Fix /system/app/$app.odex not updated issue
$(built_odex) depends on $(LOCAL_BUILT_MODULE) but doesn't have any build
recipe. It is built by the rules of $(LOCAL_BUILT_MODULE) that results in
a subtle bug: $(built_odex) is always newer than $(LOCAL_BUILT_MODULE)
if $(LOCAL_BUILT_MODULE) rebuilt. Therefore 'make' thinks the targets
(/system/app/$app.odex) depending on $(built_odex) don't need to be updated.
It seems an allegedly optimization bug of 'make'.
The simple fix is to explicitly add $(LOCAL_BUILT_MODULE) as a dependency
of $(installed_odex).
@@ -531,7 +531,7 @@ endif | ||
531 | 531 | ifdef LOCAL_DEX_PREOPT |
532 | 532 | installed_odex := $(basename $(LOCAL_INSTALLED_MODULE)).odex |
533 | 533 | built_odex := $(basename $(LOCAL_BUILT_MODULE)).odex |
534 | -$(installed_odex) : $(built_odex) | $(ACP) | |
534 | +$(installed_odex) : $(built_odex) $(LOCAL_BUILT_MODULE) | $(ACP) | |
535 | 535 | @echo "Install: $@" |
536 | 536 | $(copy-file-to-target) |
537 | 537 |