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 phc....@gmail.com 
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 <
> android-...@googlegroups.com> 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 <phc....@gmail.com> 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 abhay...@gmail.com 
>>> 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 android-...@googlegroups.com
>>> To unsubscribe from this group, send email to
>>> android-buildi...@googlegroups.com
>>> 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 android-buildi...@googlegroups.com.
>>> 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 android-...@googlegroups.com
>> To unsubscribe from this group, send email to
>> android-buildi...@googlegroups.com
>> 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 
>> android-buildi...@googlegroups.com.
>> 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 android-building@googlegroups.com
To unsubscribe from this group, send email to
android-building+unsubscr...@googlegroups.com
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 android-building+unsubscr...@googlegroups.com.
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