diff --git a/.gitignore b/.gitignore
index b155a93..79b7df8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -48,4 +48,3 @@
 /test/putsurface/putsurface
 /test/transcode/mpeg2transcode
 /test/vainfo/vainfo
-/va/va_version.h
diff --git a/CleanSpec.mk b/CleanSpec.mk
new file mode 100644
index 0000000..f89c9d3
--- /dev/null
+++ b/CleanSpec.mk
@@ -0,0 +1,53 @@
+# Copyright (C) 2016 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# If you don't need to do a full clean build but would like to touch
+# a file or delete some intermediate files, add a clean step to the end
+# of the list.  These steps will only be run once, if they haven't been
+# run before.
+#
+# E.g.:
+#     $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
+#     $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
+#
+# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
+# files that are missing or have been moved.
+#
+# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
+# Use $(OUT_DIR) to refer to the "out" directory.
+#
+# If you need to re-do something that's already mentioned, just copy
+# the command and add it to the bottom of the list.  E.g., if a change
+# that you made last week required touching a file and a change you
+# made today requires touching the same file, just copy the old
+# touch step and add it to the end of the list.
+#
+# ************************************************
+# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
+# ************************************************
+
+# For example:
+#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
+#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
+#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
+#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
+
+# This was a .gitignore'd generated file, but is now properly generated into the out directory
+# Make sure we don't have a stale local version.
+$(call add-clean-step, rm -f hardware/intel/common/libva/va/va_version.h)
+
+# ************************************************
+# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
+# ************************************************
diff --git a/va/Android.mk b/va/Android.mk
index c8af633..8012005 100755
--- a/va/Android.mk
+++ b/va/Android.mk
@@ -34,6 +34,11 @@
 
 include $(CLEAR_VARS)
 
+LOCAL_MODULE := libva
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+
+generated_sources_dir := $(call local-generated-sources-dir)
+
 LOCAL_SRC_FILES := \
 	va.c \
 	va_trace.c \
@@ -47,7 +52,7 @@
 	-DLOG_TAG=\"libva\" \
 	-DANDROID_ALOG
 
-LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/..
+LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/.. $(generated_sources_dir)
 
 LOCAL_C_INCLUDES := \
 	$(TARGET_OUT_HEADERS)/libva \
@@ -72,20 +77,23 @@
 
 LOCAL_COPY_HEADERS_TO := libva/va
 LOCAL_CFLAGS += -Werror
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE := libva
 
 LOCAL_SHARED_LIBRARIES := libdl libdrm libcutils liblog
 
-include $(BUILD_SHARED_LIBRARY)
-
-GEN := $(TARGET_OUT_HEADERS)/libva/va/va_version.h
+GEN := $(generated_sources_dir)/va/va_version.h
 $(GEN): SCRIPT := $(LOCAL_PATH)/../build/gen_version.sh
 $(GEN): PRIVATE_PATH := $(LOCAL_PATH)
 $(GEN): PRIVATE_CUSTOM_TOOL = /bin/bash $(SCRIPT) $(PRIVATE_PATH)/.. $(PRIVATE_PATH)/va_version.h.in > $@
 $(GEN): $(LOCAL_PATH)/va_version.h.in $(LOCAL_PATH)/../build/gen_version.sh $(LOCAL_PATH)/../configure.ac
 	$(transform-generated-source)
-all_copied_headers: $(GEN)
+LOCAL_GENERATED_SOURCES := $(GEN)
+
+include $(BUILD_SHARED_LIBRARY)
+
+my_header := $(TARGET_OUT_HEADERS)/libva/va/va_version.h
+ALL_COPIED_HEADERS.$(my_header).MAKEFILE += $(my_header)
+ALL_COPIED_HEADERS.$(my_header).SRC += $(GEN)
+ALL_COPIED_HEADERS += $(my_header)
 
 # For libva-android
 # =====================================================
