Problem
I am building a module that has only a 32 bit flavor, that is going to be used by another module. The compilation results go to the intermediate folder: `obj32`. The other module fails to meet the dependencies because it searchers on the generic `obj` folder instead of the `obj32`.
Example
Lets say that there exists an aosp module `foo`, that includes in its makefile:
LOCAL_MULTILIB := 32
or
LOCAL_32_BIT_ONLY := true
A successful compilation of the module will place relevant intermediate files at:
out/host/<host-os>/obj32
For example, export_includes file for intermediates will be at:
out/host/<host-os>/obj32/SHARED_LIBRARIES/libfoo_intermediates/export_includes
And the library itself at:
out/host/<host-os>/obj32/lib/libfoo.so
In a separate module, called `bar`, I include `foo`, however, compilation fails as it searches for dependencies at:
out/host/<host-os>/obj
This folder is empty as everything related to `foo` was placed in `obj32` folder.
Question
How this can be solved? Is there a way to instruct `foo` to place output in the `obj` folder? Or is there a way to inform `bar` that `foo` is a 32 bits variant?
I also posted this question
here.
Cheers,
Paschalis