android comilation availlable (only for ARMv9)

This commit is contained in:
Edouard Dupin 2012-08-09 18:38:28 +02:00
parent f4a1e15bad
commit 3a40dc9fee
7 changed files with 37 additions and 47 deletions

View File

@ -11,19 +11,12 @@ TARGET_ARCH = ARM
CROSS = $(PROJECT_NDK)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-
$(info ------------------------------------------------------------------------)
$(info Project name : $(PROJECT_NAME))
$(info Project Vendor : $(PROJECT_VENDOR))
$(info Build date : $(BUILD_TIME) )
$(info Tag : $(PROJECT_VERSION_TAG) )
$(info ------------------------------------------------------------------------)
$(info (sh) Create folder : $(JAVA_FOLDER)/ & $(EWOL_JAVA_FOLDER))
#$(info (sh) Create folder : $(JAVA_FOLDER)/ & $(EWOL_JAVA_FOLDER))
$(shell mkdir -p $(JAVA_FOLDER)/)
$(shell mkdir -p $(EWOL_JAVA_FOLDER)/)
$(info (sh) copy the java Files & Replace __XXX__ element with project properties)
tmp=$(shell cp -v $(EWOL_FOLDER)/Java/PROJECT_NAME.java $(JAVA_FOLDER)/$(PROJECT_NAME).java)
#$(info (sh) copy the java Files & Replace __XXX__ element with project properties)
tmp=$(shell cp $(EWOL_FOLDER)/Java/PROJECT_NAME.java $(JAVA_FOLDER)/$(PROJECT_NAME).java)
tmp+=$(shell sed -i "s|__PROJECT_VENDOR__|$(PROJECT_VENDOR)|" $(JAVA_FOLDER)/$(PROJECT_NAME).java)
tmp+=$(shell sed -i "s|__PROJECT_NAME__|$(PROJECT_NAME)|" $(JAVA_FOLDER)/$(PROJECT_NAME).java)
tmp+=$(shell sed -i "s|__PROJECT_PACKAGE__|$(PROJECT_PACKAGE)|" $(JAVA_FOLDER)/$(PROJECT_NAME).java)
@ -34,43 +27,37 @@ tmp+=$(shell cp $(EWOL_FOLDER)/Java/interfaceSurfaceView.java $(EWOL_JAVA_FOLDER
tmp+=$(shell cp $(EWOL_FOLDER)/Java/interfaceAudio.java $(EWOL_JAVA_FOLDER)/)
$(info $(tmp))
$(info (sh) copy the cpp for jni File : $(EWOL_FOLDER)/Java/ewolAndroidAbstraction.cpp)
tmp=$(shell cp -v $(EWOL_FOLDER)/Java/ewolAndroidAbstraction.cpp jni/)
#$(info (sh) copy the cpp for jni File : $(EWOL_FOLDER)/Java/ewolAndroidAbstraction.cpp)
tmp=$(shell cp $(EWOL_FOLDER)/Java/ewolAndroidAbstraction.cpp jni/)
tmp+=$(shell sed -i "s|__PROJECT_VENDOR__|$(PROJECT_VENDOR)|" jni/ewolAndroidAbstraction.cpp)
tmp+=$(shell sed -i "s|__PROJECT_NAME__|$(PROJECT_NAME)|" jni/ewolAndroidAbstraction.cpp)
tmp+=$(shell sed -i "s|__PROJECT_PACKAGE__|$(PROJECT_PACKAGE)|" jni/ewolAndroidAbstraction.cpp)
$(info $(tmp))
# C include folder
TARGET_GLOBAL_C_INCLUDES+=-I$(PROJECT_NDK)/sources/cxx-stl/gabi++/include
# C++ include folder
TARGET_GLOBAL_C_INCLUDES=-I$(PROJECT_NDK)/sources/cxx-stl/stlport/stlport
TARGET_GLOBAL_C_INCLUDES+=-I$(PROJECT_NDK)/platforms/android-14/arch-arm/usr/include
ANDROID_BOARD_ID = 14
TARGET_GLOBAL_C_INCLUDES+=-I$(PROJECT_NDK)/platforms/android-$(ANDROID_BOARD_ID)/arch-arm/usr/include
TARGET_GLOBAL_LDLIBS_SHARED = --sysroot=$(PROJECT_NDK)/platforms/android-$(ANDROID_BOARD_ID)/arch-arm
$(info ------------------------------------------------------------------------)
include $(EWOL_FOLDER)/Build/coreLinux/main.mk
$(info " (ant) build java code")
PATH:=$(PROJECT_SDK)/tools/:$(PROJECT_SDK)/platform-tools/:$(PATH) ant -Dsdk.dir=$(PROJECT_SDK) debug)
$(info " (sh) Clear previous sources ")
#$(shell rm -rf src jni/ewolAndroidAbstraction.cpp)
TARGET_GLOBAL_LDLIBS_SHARED = --sysroot=$(PROJECT_NDK)/platforms/android-14/arch-arm \
$(PROJECT_NDK)/sources/cxx-stl/gnu-libstdc++/libs/armeabi/libgnustl_static.a \
$(PROJECT_NDK)/sources/cxx-stl/gnu-libstdc++/libs/armeabi/libsupc++.a \
-lstdc++ \
$(PROJECT_NDK)/platforms/android-14/arch-arm/usr/lib/libstdc++.a
java : all
@mkdir -p libs/armeabi/
# note : this change the lib name ...
cp ./out_$(TARGET_OS)/$(BUILD_DIRECTORY_MODE)/obj/usr/lib/$(PROJECT_PACKAGE).so libs/armeabi/lib$(PROJECT_PACKAGE).so
@echo " (ant) build java code"
PATH=$(PROJECT_SDK)/tools/:$(PROJECT_SDK)/platform-tools/:$(PATH) ant -Dsdk.dir=$(PROJECT_SDK) debug
@echo " (sh) Clear previous sources "
@rm -rf src jni/ewolAndroidAbstraction.cpp
install: java
@echo "------------------------------------------------------------------------"
@echo ' INSTALL : ./bin/$(PROJECT_NAME)-debug.apk'
@echo "------------------------------------------------------------------------"
@# $(PROJECT_SDK)/platform-tools/adb kill-server
@# install application
sudo $(PROJECT_SDK)/platform-tools/adb install -r ./bin/$(PROJECT_NAME)-debug.apk
#install: all
# @echo "------------------------------------------------------------------------"
# @echo ' INSTALL : ./bin/$(PROJECT_NAME)-debug.apk'
# @echo "------------------------------------------------------------------------"
# @# $(PROJECT_SDK)/platform-tools/adb kill-server
# @# install application
# sudo $(PROJECT_SDK)/platform-tools/adb install -r ./bin/$(PROJECT_NAME)-debug.apk
#
#clean:
# @echo "------------------------------------------------------------------------"
# @echo ' CLEANING : bin libs gen obj'

View File

@ -296,10 +296,12 @@ module-get-build-dir = \
$(TARGET_OUT_BUILD)/$1
module-get-build-filename = \
$(if $(__modules.$1.MODULE_FILENAME), $(TARGET_OUT_BUILD)/$1/$(__modules.$1.MODULE_FILENAME) )
$(info build of $1) \
$(TARGET_OUT_BUILD)/$1/$(__modules.$1.MODULE_FILENAME)
module-get-staging-filename = \
$(if $(__modules.$1.MODULE_FILENAME), $(TARGET_OUT_STAGING)/$(__modules.$1.DESTDIR)/$(__modules.$1.MODULE_FILENAME) )
$(info staging of $1 ==> $(__modules.$1.MODULE_FILENAME)) \
$(TARGET_OUT_STAGING)/$(__modules.$1.DESTDIR)/$(__modules.$1.MODULE_FILENAME)
###############################################################################
## Generate autoconf.h file from config file.
@ -417,10 +419,7 @@ define transform-o-to-shared-lib
@mkdir -p $(dir $@)
@echo "SharedLib: $(PRIVATE_MODULE) ==> $(call path-from-top,$@)"
$(call check-pwd-is-top-dir)
@#$(info PRIVATE_ALL_SHARED_LIBRARIES = $(PRIVATE_ALL_SHARED_LIBRARIES))
@#$(info PRIVATE_ALL_STATIC_LIBRARIES = $(PRIVATE_ALL_STATIC_LIBRARIES))
$(Q)
$(GXX) \
$(Q)$(GXX) \
$(TARGET_GLOBAL_LDFLAGS_SHARED) \
-Wl,-Map -Wl,$(basename $@).map \
-shared \

View File

@ -9,7 +9,7 @@
LOCAL_MODULE_CLASS := EXECUTABLE
LOCAL_DESTDIR := usr/bin
ifndef LOCAL_MODULE_FILENAME
ifeq ("$(LOCAL_MODULE_FILENAME)","")
LOCAL_MODULE_FILENAME := $(LOCAL_MODULE)$(TARGET_EXE_SUFFIX)
endif

View File

@ -110,16 +110,20 @@ LOCAL_SHARED_LIBRARIES += \
# Get path
all_shared_libraries := \
$(foreach lib,$(LOCAL_SHARED_LIBRARIES), \
$(info shlib=$(lib)) \
$(call module-get-staging-filename,$(lib)))
all_static_libraries := \
$(foreach lib,$(LOCAL_STATIC_LIBRARIES), \
$(info statlib=$(lib)) \
$(call module-get-staging-filename,$(lib)))
all_whole_static_libraries := \
$(foreach lib,$(LOCAL_WHOLE_STATIC_LIBRARIES), \
$(info whstaticlib=$(lib)) \
$(call module-get-staging-filename,$(lib)))
all_external_libraries := \
$(foreach lib,$(LOCAL_EXTERNAL_LIBRARIES), \
$(info extlib=$(lib)) \
$(TARGET_OUT_BUILD)/$(lib)/$(lib).done)
# all_libraries is used for the dependencies.

View File

@ -9,7 +9,7 @@
LOCAL_MODULE_CLASS := SHARED_LIBRARY
LOCAL_DESTDIR := usr/lib
ifndef LOCAL_MODULE_FILENAME
ifeq ("$(LOCAL_MODULE_FILENAME)","")
LOCAL_MODULE_FILENAME := $(LOCAL_MODULE)$(TARGET_SHARED_LIB_SUFFIX)
endif

View File

@ -9,7 +9,7 @@
LOCAL_MODULE_CLASS := STATIC_LIBRARY
LOCAL_DESTDIR := usr/lib
ifndef LOCAL_MODULE_FILENAME
ifeq ("$(LOCAL_MODULE_FILENAME)","")
LOCAL_MODULE_FILENAME := $(LOCAL_MODULE)$(TARGET_STATIC_LIB_SUFFIX)
endif

View File

@ -9,9 +9,9 @@ ifeq ("$(TARGET_OS)","Android")
COMMON_FLAGS_WARNINGS := -DANDROID -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ \
-fpic -ffunction-sections -funwind-tables -fstack-protector \
-Wno-psabi -march=armv5te -mtune=xscale -msoft-float -fno-exceptions -mthumb \
-fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -MMD -MP -MF -D_STLP_USE_SIMPLE_NODE_ALLOC
-fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -MMD -MP -MF
GCC_FLAGS_WARNINGS :=
GXX_FLAGS_WARNINGS := -fno-rtti -Wa,--noexecstack
GXX_FLAGS_WARNINGS := -fno-rtti -Wa,--noexecstack
else
COMMON_FLAGS_WARNINGS :=
GCC_FLAGS_WARNINGS :=