【发布时间】:2015-12-28 23:03:45
【问题描述】:
我通过从三星和 AOSP 下载源代码并按照 README 文件中的说明运行 make,成功地为三星 Note 3 创建了映像。但现在我想修改一个设备驱动程序,并在图像中查看结果。这意味着我真的不想重新创建整个图像。而只是修改后的文件,即 /drivers/char/examples 目录。我尝试过“m”、“mm”和“mmm”,但出现以下错误:
sansari@ubuntu:~/WORKING_DIRECTORY$ m
m: command not found
sansari@ubuntu:~/WORKING_DIRECTORY$ mm
The program 'mm' is currently not installed. You can install it by typing:
sudo apt-get install multimail
我也尝试从示例目录运行 make,我得到:
sansari@ubuntu:~/WORKING_DIRECTORY/drivers/char/examples$ make
make --directory=src
make: *** src: No such file or directory. Stop.
make: *** [src] Error 2
这是我在这个目录中的内容以及 make 文件:
sansari@ubuntu:~/WORKING_DIRECTORY/drivers/char/examples$ ls
backup examples.c hello1.c Makefile
sansari@ubuntu:~/WORKING_DIRECTORY/drivers/char/examples$ more Makefile
lib_src := src
lib_headers := headers
.PHONY: all $(lib_src) $(lib_headers)
$(lib_src) :
$(MAKE) --directory=$@
$(lib_*): $(MAKE) --directory=$@
obj-$(CONFIG_TOS) += examples.o
我应该怎么做,当我更新 c 源文件时,我可以构建一个更新的图像来刷新我的手机并尝试查看结果?
我想知道如果我删除examples.ko,make会再次重建。问题是如果我只为 /examples 目录发出 make ,这会起作用吗?
谢谢, 肖恩
【问题讨论】:
-
'mm' 应该在当前目录中构建所有模块;它通过调用 build/envsetup.sh (elinux.org/Android_Build_System) 安装在您当前的 shell 环境中。为了使其正确构建,您可能还需要使用“午餐”或“早餐”(Cyanogenmod)命令设置您的目标平台
标签: android kernel gnu-make device-driver kbuild