[ltt-dev] building ust for android/arm

Xing Fan xing.fan0302 at googlemail.com
Wed Apr 20 13:37:49 EDT 2011


I am building lttng ust-0.6 for android/Arm platform.

However, I have problems to build libust.so. The error msg is:  make: *** No
rule to make target `build/core/libust-initializer.c', needed by
`out/target/product/u8500/obj/SHARED_LIBRARIES/libust_intermediates/libust-initializer.o'.
Stop.

It is very strange that the compiler tries to pick up libust-initializer.c
from build/core folder, even though I have specified that the source file is
in my LOCAL_PATH;

Anyone has clue how to write a Android.mk for this?

/Stella



My Android.mk file looks like this:
===========================================================
include $(call all-subdir-makefiles)

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := libust
LOCAL_SRC_FILES := libust-initializer.c
LOCAL_C_INCLUDES += \
        $(LOCAL_PATH) \
        $(LOCAL_PATH)/include \
        external/userspace-rcu-0.4.6
include $(BUILD_SHARED_LIBRARY)
===============================================================


The Makefile.am looks like this
=========================================================================

ACLOCAL_AMFLAGS = -I config

# The order here is tricky. SUBDIRS applies both to compilation and
# installation. Programs depending on the libs must be built after
# libust and '.' (that contains the linker script). However, '.'
# must be installed after libust so it can overwrite libust.so with
# the linker script.
SUBDIRS = snprintf libustcomm libust . tests libustinstr-malloc libustd ustd
ustctl libustfork include doc

EXTRA_DIST = libust.ldscript.in libust-initializer.c
dist_bin_SCRIPTS = usttrace

ldscriptsdir = $(libdir)
ldscripts_DATA = libust.so libust-initializer.o

CLEANFILES = $(ldscripts_DATA) ./tests/libust-initializer.Po

libust.so: libust.ldscript.in
    $(SED) -e "s@\@FORMAT\@@$(LIBFORMAT)@" < $< > $@

# It is very important to compile the initializer with PIC otherwise we
# may get obscure errors when linking to shared libraries.
libust-initializer.o: libust-initializer.c
    $(CC) $(CFLAGS) -fno-strict-aliasing -fPIC -c -I$(top_srcdir)/include -o
$@ $<
===========================================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20110420/d27352ef/attachment-0003.htm>


More information about the lttng-dev mailing list