Ignore vndk-* subdirectories in the library absence check.

(cherry picked from commit 8222ce45dd0330d1699ba65e4673310f2fb5f836)

Test: m systemimage
Test: build_test on Forrest
Bug: 132289438
Merged-In: I059c9d0edb78e52838a25cef0472807847d77417
Change-Id: I57359dc9f1aa2230acd3252118aaf41f42b7a913
diff --git a/core/Makefile b/core/Makefile
index 84707bc..7228d57 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -2259,7 +2259,7 @@
 #   libprofile.so
 #   libsigchain.so  - cf_x86_phone-userdebug builds get this in system/lib/arm
 #   libtombstoned_client.so
-APEX_MODULE_LIBS= \
+APEX_MODULE_LIBS := \
   libadbconnection.so \
   libandroidicu.so \
   libandroidio.so \
@@ -2290,7 +2290,10 @@
 # on the native architecture.
 # TODO(b/130630776): Introduce a make variable for the appropriate directory
 # when native bridge is active.
-APEX_LIBS_ABSENCE_CHECK_EXCLUDE=lib/arm lib/arm64
+APEX_LIBS_ABSENCE_CHECK_EXCLUDE := lib/arm lib/arm64
+
+# Exclude vndk-sp-* subdirectories which contain prebuilts from older releases.
+APEX_LIBS_ABSENCE_CHECK_EXCLUDE += lib/vndk-% lib64/vndk-%
 
 # If the check below fails, some library has ended up in system/lib or
 # system/lib64 that is intended to only go into some APEX package. The likely
@@ -2318,7 +2321,7 @@
 $(hide) ( \
   cd $(TARGET_OUT) && \
   findres=$$(find lib* \
-    $(foreach dir,$(APEX_LIBS_ABSENCE_CHECK_EXCLUDE),-path $(dir) -prune -o) \
+    $(foreach dir,$(APEX_LIBS_ABSENCE_CHECK_EXCLUDE),-path "$(subst %,*,$(dir))" -prune -o) \
     -type f \( -false $(foreach lib,$(APEX_MODULE_LIBS),-o -name $(lib)) \) \
     -print) && \
   if [ -n "$$findres" ]; then \