ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2011年6月14日 星期二

Write additional rules on Android.mk

上篇,要在 Android.mk 加入某個 rule. 還挺麻煩˙




應用範例是

這樣:



因為用了某
大陸廠的 3g module,然後 usb-uart com port 的 access 說明又不清楚。

只好請他們提供 android 3g script,結果.. 他們就改了 hardware/ril 下的幾個檔。


因為是大陸廠商,所以修改後的 code 當然是不會給 (也還好,因為是 apache license)。


所以拿到的只是幾個 so.




這下就麻煩,要整合進 Android Makefile 里。

用 BUILD_PREBUILT - 結果這個不會建立 dependent ta
rget。
所以make system 會出現 no rule to make ***.so




在 build/core/ 里又找不到適合的 build rule。
所以只好自己寫在 Android.mk 里...

先從 build error 來看:


make: *** No rule to make target `out/target/product/stingy/obj/lib/libstingy.so',
needed by `out/target/product/stingy/obj/EXECUTABLES/rild_intermediates/LINKED/stingyd'
. Stop.

所以知道需要建立的 rule target 是



out/target/product/stingy/obj/lib/libstingy.so :
acp -e hardware/ril/stingy/libstingy.so out/targ
et/product/stingy/obj/lib/libstingy.so



要注意,使
用 Android.mk 中的 LOCAL_MODULE, TARGET_OUT 這些變數,在 #include (XXX) 後,會改變。
所以就直接寫出來..

繼續 make..
error 變成:
make: *** No rule to make target `out/target/product/stingy/system/lib/libstingy.so', needed by `out/target/product/stingy/system/bin/stingyd'. Stop. 所以要再加一個 target: out/target/product/stingy/obj/lib/libstingy.so : out/target/product/stingy/system/lib/libstingy.so : acp acp -e $(MODULE_SRC) $(TARGET_OUT_INTERMEDIATES)/lib/libstingy.so

沒有留言:

標籤

網誌存檔