Android.mk에 LOCAL_MODULE_TAGS가 보통 optional로 되어 있다.
LOCAL_MODULE_TAGS := eng user
LOCAL_MODULE_TAGS := eng optional
LOCAL_MODULE_TAGS := user optional
LOCAL_MODULE_TAGS := optional
이 정도의 조합이 가능 할 것이다.
그런데 optional 이 옵션은 어떻게 적용되는 것일까?
device.mk에 PRODUCT_PACKAGES에 영향을 받는다.
물론 build 폴더에 mk 파일들에도 PRODUCT_PACKAGES가 있고 거기에 영향을 받는다.
optional은 LOCAL_MODULE의 내용이 PRODUCT_PACKAGES에 포함되어 있으면 빌드를 하겠다는 의미이다.
LOCAL_MODULE_TAGS := eng optional 이 경우 eng면 반드시 빌드 하고 user면 PRODUCT_PACKAGES에 포함되어 있으면 빌드 한다는 뜻이다.