# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # Bug 1099345 - The SDK's lint code (used by the code generator) does not enjoy # concurrent access to a cache that it generates. .NOTPARALLEL: annotation_processor_jar_files := \ $(DEPTH)/build/annotationProcessors/annotationProcessors.jar \ $(ANDROID_TOOLS)/lib/lint.jar \ $(ANDROID_TOOLS)/lib/lint-checks.jar \ $(NULL) sdk_processor := \ $(JAVA) \ -Dcom.android.tools.lint.bindir='$(ANDROID_TOOLS)' \ -classpath $(subst $(NULL) ,:,$(strip $(annotation_processor_jar_files))) \ org.mozilla.gecko.annotationProcessors.SDKProcessor # For the benefit of readers: the following pattern rule says that, # for example, MediaCodec.cpp and MediaCodec.h can be produced from # MediaCodec-classes.txt. This formulation invokes the SDK processor # at most once. %.cpp %.h: $(ANDROID_SDK)/android.jar %-classes.txt $(annotation_processor_jar_files) $(sdk_processor) $(ANDROID_SDK)/android.jar $(srcdir)/$*-classes.txt $(CURDIR) $* 16