Hello,
The $(shell) inside you mk will for sure slow down your build as Dan
pointed out (sorry I forgot to mention this) I currently have a setup like
this and Im trying to refactor it,  still trying to find the best solution
for my use case.
Thanks,
Paul

On Mon, Dec 13, 2021, 8:41 PM 'Dan Willemsen' via Android Building <
[email protected]> wrote:

> Embedding build systems into one another is a very complicated issue, and
> requires deep knowledge of both build systems in order to keep all the
> functionality of both systems. Given that the Android build attempts to
> provide safe, fast incremental builds that work on any machine, it gets
> very difficult to preserve those features while calling out to another
> build system. If the scripts are simpler (bash/python script that reads a
> known set of inputs and writes to a know set of outputs, and doesn't use
> any other tools), then this doesn't get too difficult. But keep in mind
> that you do need to declare all inputs and outputs, and most tools you use
> need to be referenced by paths (and also be inputs), not in $PATH.
> Android.bp has the `genrule` concept that makes this easier.
>
> <this where i need to run the script so that bins will be generated for
>> Android build to pickup>
>>
>
> Keep in mind that we're not linearly executing Android.mk files -- that
> only happens in the first minute or two of the build to generate commands
> for what comes later. So you shouldn't actually be running the script
> there, but defining some Make logic to run your script later. You may be
> able to find references to Android.mk files using base_rules.mk and
> defining rules to build $(LOCAL_BUILT_MODULE), but you could also look into
> writing Android.bp files with genrules, which makes this simpler and adds
> some checks for common issues.
>
>
>> Have you tried using $(shell) ?
>> RESULT:= $(shell ($(LOCAL_PATH)/yourscript.sh))
>>
>
> Definitely don't do this, it will slow down every build as we serially
> execute every one of these every time (even if there's nothing to build).
>
> - Dan
>
> On Mon, Dec 13, 2021 at 2:49 PM Paulo Maia <[email protected]> wrote:
>
>> Have you tried using $(shell) ?
>> RESULT:= $(shell ($(LOCAL_PATH)/yourscript.sh))
>>
>> Also you I think you could put in buiod/core/app_prebuilt_internal.mk if
>> this is going to be repetitive.
>>
>> BR,
>> Paulo
>>
>> On Monday, November 8, 2021 at 2:14:48 PM UTC-8 [email protected] wrote:
>>
>>> Hi,
>>>
>>> I need to run a shell script so that the libs and bins will be generated
>>> beofre Android can pick them up.
>>>
>>> A structure of the makefile i am trying to comeup is below, not sure if
>>> this is really possible.. any inputs are appreciated.
>>>
>>> LOCAL_PATH := $(call my-dir)
>>>
>>> <this where i need to run the script so that bins will be generated for
>>> Android build to pickup>
>>>
>>> include $(CLEAR_VARS)
>>> LOCAL_MODULE        := my_modules
>>> LOCAL_MODULE_OWNER  := Me
>>> LOCAL_MODULE_TAGS   := optional
>>> LOCAL_SRC_FILES     := ./my_bin_001
>>> LOCAL_MODULE_PATH   := $(PRODUCT_OUT)/system/bin
>>> include $(BUILD_PREBUILT)
>>>
>>> i am not sure how can i add my build script which generates the
>>> my_bin_001
>>> there are several bins its generating and i cant really convert the
>>> shell script in to a Makefile for practical reasons.
>>>
>>> reagrds,
>>> abhay
>>>
>> --
>> --
>> You received this message because you are subscribed to the "Android
>> Building" mailing list.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/android-building?hl=en
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Android Building" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/android-building/2824e7a8-3745-45b7-9037-fc5c1eaf8930n%40googlegroups.com
>> <https://groups.google.com/d/msgid/android-building/2824e7a8-3745-45b7-9037-fc5c1eaf8930n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> --
> You received this message because you are subscribed to the "Android
> Building" mailing list.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-building?hl=en
>
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "Android Building" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/android-building/k5P_dxROmOg/unsubscribe
> .
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/android-building/CALQgHdmuC3RcAfmF6GvmQVEqGyemMHW-7K0ovbP1RkZkZam-fA%40mail.gmail.com
> <https://groups.google.com/d/msgid/android-building/CALQgHdmuC3RcAfmF6GvmQVEqGyemMHW-7K0ovbP1RkZkZam-fA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
-- 
You received this message because you are subscribed to the "Android Building" 
mailing list.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-building?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"Android Building" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/android-building/CAGD9sB9VcMbGqVJhbgH8zcyJm9MFpoH70-6-zyVt0ru2VAxXPQ%40mail.gmail.com.

Reply via email to