thanks Dan and Paulo...
i will look in to how i can make use of the genrule.... 
do you see any official man page for this... i am kind of lost in the 
google !

On Wednesday, December 15, 2021 at 1:19:48 AM UTC+5:30 [email protected] 
wrote:

> 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/e4f6fcbd-e58a-4f50-98a6-0775553871dan%40googlegroups.com.

Reply via email to