Aristarhys
Aristarhys

Reputation: 2122

Android.mk wilcard extra 'jni' in path?

I try to use wilcards in Android.mk with help of this answer https://stackoverflow.com/a/8459242/1039175
But get and error:

make: No rule to make target jni/jni/abyss_engine.c', needed byobj/local/armeabi/objs-debug/AbyssEngine/jni/abyss_engine.o' - this error means no source file found and it's natural because where no jni subfolder in jni folder

Where comes an extra jni in path and why? My source files just in jni folder without any subfolders, how to fix it?

My Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := AbyssEngine
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.c)
(abyss_engine.c asset_manager.c jni_bridge.c shader_manager.c input_manager.c works fine)
LOCAL_LDLIBS := -llog -lGLESv2
LOCAL_CFLAGS := -Werror
include $(BUILD_SHARED_LIBRARY)

Upvotes: 4

Views: 3056

Answers (2)

override
override

Reputation: 1

I use External Tools to complie file, and I met this problem in my project。

I change the Working directory Path and the problem is solved。

step1: Settings -> Tools -> External Tools -> NDK ->my build -> Working directory

step2:

my old Working directory path is :$ModuleFileDir$\src\main

I change it to : $ModuleFileDir$\src\main\jni

and It runs very well for me!

Upvotes: 0

Aristarhys
Aristarhys

Reputation: 2122

All thanks to a1 from android-ndk group

LOCAL_SRC_FILES=$(notdir $(wildcard $(LOCAL_PATH)/*.c)) 

http://groups.google.com/group/android-ndk/browse_thread/thread/9d4251e0900a31e6/4b792fc207e454c2#4b792fc207e454c2 - there is more useful info in his reply

Upvotes: 4

Related Questions