summaryrefslogtreecommitdiff
path: root/widget/android/bindings/Makefile.in
blob: ea66e6022b0c1f7651fd05d4968fe4e89f3ad2c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 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