2011-01-13 12 views
5

Mam kilka plików źródłowych * .cpp i niektóre pliki asemblera ARM *, które chcę zainstalować i połączyć w moim pliku Android.mk (przez uruchomienie skryptu ndk-build).Android.mk - jak montować i łączyć pliki assemblera ARM

plik My Android.mk wygląda następująco:

LOCAL_PATH:= $(call my-dir) 
include $(CLEAR_VARS) 
LOCAL_ARM_MODE := arm 
LOCAL_MODULE := libTestJNI 
LOCAL_SRC_FILES := Test.cpp TestAS_gas4.s 
LOCAL_CFLAGS := -DHAVE_CONFIG_H -DFPM_ARM -ffast-math -O3 -DOPT_ARM 
LOCAL_LDLIBS += -llog 
include $(BUILD_SHARED_LIBRARY) 

Niestety * .s plik nie jest rozpoznawany. ndk-build mówi:

Gdbserver  : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver 
Gdbsetup  : libs/armeabi/gdb.setup 
make: *** No rule to make target `/cygdrive/c/projects/TestAS_gas4.s', needed by `/cygdrive/c/projects/obj/local/armeabi/objs-debug/libTestJNI/TestAS_gas4.o'. Stop. 

W "normalnym" pliku makefile musiałbym zmontować używając "as" w regule. Jak to zrobić w plikach Android.mk?

/Kim

Odpowiedz

5

Jest to kłopotliwe, ale problemem było to, że pliki * .s gdzie znajduje się w podkatalogu. Błąd "Brak reguły do ​​celu" jest w tym przypadku bardzo kiepskim opisem błędu.

/Kim

+0

nie pot zakłopotanie. Wszyscy robimy takie rzeczy od czasu do czasu. – wallyk

0

podpowiedź: przyrostków zmiana:

ln -fs %.s %.S.arm 
Powiązane problemy