Hi John,

All of the Android.mk files that define modules have that pattern one way or
another.  Some of them are a little more compilcated, and include other
files for lists of files, etc., and some do make tricks to define things
outside the normal patter, but the basic structure is as I said.

What did you end up with?  There have been a bunch of questions about this,
so your results might be helpful to others.

-joe




On Tue, Feb 10, 2009 at 11:04 PM, John Cola <jt...@marvell.com> wrote:

>
> I've fixed it myself!!!
> Thank to all list in this thread, help me alot!!
>
> On Feb 11, 11:54 am, John Cola <jt...@marvell.com> wrote:
> > Hi All
> > It is not because those Android.mk under "hardware\libhardware\
> > [name_of_project]\" are not required LOCAL_PATH := $(call my-dir)" and
> > "include $(CLEAR_VARS)".
> > But because "hardware\libhardware\Android.mk" has done the job
> > already!!
> > So for those Android in the subdir should not requir LOCAL_PATH := $
> > (call my-dir)" and "include $(CLEAR_VARS)" again!!
> > If I'm not correct, please tell me!
> >
> > BR
> > John
> > On Feb 11, 11:46 am, John Cola <jt...@marvell.com> wrote:
> >
> >
> >
> > > Hi Joe
> >
> > > I know many of the Android.mk need your suggestion 1 and 2.
> > > However, if you look into the Android.mk under hardware\libhardware\
> > > [name_of_project]\
> > > It is not required "LOCAL_PATH := $(call my-dir)" and "include $
> > > (CLEAR_VARS) ".
> > > Although I've tried to add it to the Android.mk, it occure error so I
> > > decided to follow the original released format!
> > > And for those *.a libraries should be LOCAL_STATIC_LIBRARIES. I just
> > > need to integrate the static libraries into the framework and use it.
> > > But I don't know how to edit in Android.mk.
> >
> > > BR
> > > John
> > > On Feb 11, 11:12 am, Joe Onorato <j...@android.com> wrote:
> >
> > > > Hi,
> >
> > > > 1. You need to have the LOCAL_PATH := $(call my-dir) as the first
> line in
> > > > the makefile.  Don't put this line in again after that.
> >
> > > > 2. At the beginning of the file, and after each of the include
> $(BUILD_*)
> > > > lines, except the last one, you need to have an include $(CLEAR_VARS)
> line.
> > > > So an Android.mk file looks like this:
> >
> > > > LOCAL_PATH := $(call my-dir)
> >
> > > > include $(CLEAR_VARS)
> > > > # Set some LOCAL_* variables
> > > > include $(BUILD_XXX)
> >
> > > > include $(CLEAR_VARS)
> > > > # Set some LOCAL_* variables
> > > > include $(BUILD_YYY)
> >
> > > > 3. If you are building a shared library, use the include
> > > > $(BUILD_SHARED_LIBRARY) at the end.  However, you need to say what
> that
> > > > library is called.  You do that by saying LOCAL_MODULE :=
> > > > lib<your-lib-name>.  I'm not sure which library you're trying to
> build in
> > > > your example, because you don't have a LOCAL_MODULE line, and I'm not
> even
> > > > sure if you're trying to build a shared library.
> >
> > > > This is the last time I am going to be posting to this thread.  After
> that,
> > > > you are all going into my killfile.  If you aren't going to read my
> posts,
> > > > I'm not going to spend time trying to help you.  If you have more
> questions,
> > > > feel free to ask, but if you clearly haven't read this email or any
> of the
> > > > other ones on this list, I will just ignore you.
> >
> > > > -joe
> >
> > > > On Tue, Feb 10, 2009 at 9:27 PM, John Cola <jt...@marvell.com>
> wrote:
> >
> > > > > Hi Ravi
> >
> > > > > I am working on gps porting and need 3'rd party's libraries.
> > > > > Here is the contents I modified from
> mydroid\hardware\libhardware\gps
> > > > > \Android.mk
> >
> > > > > ============================================================
> > > > > # Use hardware GPS implementation if available.
> > > > > #
> > > > > LOCAL_PREBUILT_LIBS :=  3rdpartygps1.a \
> > > > >                        3rdpartygps2.a \
> > > > >                        3rdpartygps3.a \
> > > > >                        3rdpartygps4.a
> > > > > include $(BUILD_MULTI_PREBUILT)
> >
> > > > > BOARD_GPS_LIBRARIES := 3rdpartygps1 3rdpartygps2.a 3rdpartygps3.a
> > > > > 3rdpartygps4.a
> >
> > > > > ifneq ($(BOARD_GPS_LIBRARIES),)
> > > > >  LOCAL_CFLAGS           += -DHAVE_GPS_HARDWARE
> > > > >  LOCAL_STATIC_LIBRARIES += $(BOARD_GPS_LIBRARIES)
> > > > > endif
> >
> > > > > # Use emulator GPS implementation if QEMU_HARDWARE is set.
> > > > > #
> > > > > USE_QEMU_GPS_HARDWARE := $(QEMU_HARDWARE)
> >
> > > > > ifeq ($(USE_QEMU_GPS_HARDWARE),true)
> > > > >    LOCAL_CFLAGS    += -DHAVE_QEMU_GPS_HARDWARE
> > > > >    LOCAL_SRC_FILES += gps/gps_qemu.c
> > > > > endif
> >
> > > > > LOCAL_SRC_FILES += gps/gps.cpp
> > > > > ============================================================
> >
> > > > > On Feb 10, 8:36 pm, rktb <yend...@pv.com> wrote:
> > > > > > Can you please post the exact contents of your makefile ?
> >
> > > > > > -Ravi
> >
> > > > > > On Feb 10, 2:00 am, John Cola <jt...@marvell.com> wrote:
> >
> > > > > > > Hi rktb
> > > > > > > I follow your method and encounter the following error
> > > > > > > Can you help me?
> >
> > > > > > > LOCAL_BUILT_MODULE and LOCAL_INSTALLED_MODULE must not be
> defined by
> > > > > > > component makefiles.  Stop.
> >
> > > > > > > My 3'rd party's libraries are *.a.
> >
> > > > > > > On Feb 9, 12:07 pm, rktb <yend...@pv.com> wrote:
> >
> > > > > > > > Here you go...I verified that this works.
> >
> > > > > > > > ******************************************
> > > > > > > > LOCAL_PATH := $(call my-dir)
> > > > > > > > MY_LOCAL_PATH := $(LOCAL_PATH)
> > > > > > > > include $(CLEAR_VARS)
> >
> > > > > > > > LOCAL_PREBUILT_LIBS := libabc.so
> >
> > > > > > > > include $(BUILD_MULTI_PREBUILT)
> >
> > > > > > > > LOCAL_PATH := $(MY_LOCAL_PATH)
> > > > > > > > include $(CLEAR_VARS)
> >
> > > > > > > > LOCAL_SRC_FILES := main.cpp
> > > > > > > > LOCAL_MODULE := mytest
> > > > > > > > LOCAL_SHARED_LIBRARIES := libabc
> >
> > > > > > > > include $(BUILD_EXECUTABLE)
> > > > > > > > ******************************************
> >
> > > > > > > > -Ravi
> >
> > > > > > > > On Feb 8, 9:39 pm, Girish <htgir...@gmail.com> wrote:
> >
> > > > > > > > > Hi all,
> >
> > > > > > > > > Replaced the same with LOCAL_PATH := $(call my-dir)
> >
> > > > > > > > > find: `build/core/clear_vars.mk,build/core': No such file
> or
> > > > > directory
> > > > > > > > > make: execvp: /bin/bash: Argument list too long
> > > > > > > > > target Strip: libdl (out/target/product/obj/lib/libdl.so)
> > > > > > > > > Install: out/host/linux-x86/bin/vm-tests
> > > > > > > > > make: *** No rule to make target `build/core/clear_vars.mk
> ,build/
> > > > > > > > > core', needed by `out/target/product/obj/EXECUTABLE
> >
> > > > > > > > > Anything to do with .so files ? main.c calls test.c and
> test.c
> > > > > calls
> > > > > > > > > apis deineds libs 3 libs which try to link with my
> executable..
> > > > > main.c
> > > > > > > > > contains the entry point (int main ())
> >
> > > > > > > > > The libs are generated using arm-linux-eabi and with
> glibc2.2.
> >
> > > > > > > > > Wht may be the issue ?
> >
> > > > > > > > > Regards- Hide quoted text -
> >
> > > > > > > > - Show quoted text -- Hide quoted text -
> >
> > > > > > - Show quoted text -- Hide quoted text -
> >
> > > > - Show quoted text -- Hide quoted text -
> >
> > > - Show quoted text -- Hide quoted text -
> >
> > - Show quoted text -
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"android-framework" group.
To post to this group, send email to android-framework@googlegroups.com
To unsubscribe from this group, send email to 
android-framework+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/android-framework?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to