
Makefile
酸菜鱼的鱼
Linux rtos 驱动应用开发 本博客主要用于工作学习的总结和备份,欢迎大家留言评论交流,谢谢
展开
-
go语言编译的Makefile的示例文件
go vet 静态检查 go test 运行单元测试 go fmt 格式化 go build 编译 go run 运行BINARY="example"VERSION=1.0.0BUILD=`date +%FT%T%z`PACKAGES=`go list ./... | grep -v /vendor/`VETPACKAGES=`go list ./... | grep ...转载 2020-03-09 20:47:46 · 1074 阅读 · 0 评论 -
树莓派Raspberry PI 编译内核模块(KO)文件
这里需要注意一下,官方的镜像,分为2019-09-26-raspbian-buster,2019-09-26-raspbian-buster-full,2019-09-26-raspbian-buster-lite这三个版本。笔者先用的是lite版本的,但是一直不成功,驱动编译不了,会一直报错,详细如下说明。使用2019-09-26-raspbian-buster-full版本的镜像,能够顺利的编...原创 2019-10-31 19:10:46 · 3004 阅读 · 0 评论 -
C语言代码编译的makefile模板
#compilerCC := gcc#generate target fileTARGET := main.o#source file pathSUBDIRS := ./SUBDIRS += demo/aa/SUBDIRS += bb/SUBDIRS += cc/#header file pathINCLUDES := -I ./INCLUDES += -I ./demo/aa...原创 2019-06-18 19:27:19 · 935 阅读 · 0 评论 -
Linux中内核模块的单独编译以及makefile的模板介绍
Linux内核模块在编译的时候可以通过命令编译:make -C 内核源码绝对路径 M=模块源码文件所在的绝对路径 modules 此命令的解释:1)进入到内核源码目录2)读取内核源码目录的Makefile3)执行内核源码Makefile中的 modules 目标4)根据 modules 目标的命令编译M所指向的文件路径 Makefile指定 的 C文件如:ARM板的内核...原创 2019-06-25 22:05:22 · 3967 阅读 · 1 评论 -
linux中make工具在帮助了解代码工程编译规则及过程的使用方法
现在很多代码,包括linux内核源代码都是以makefile文件来组织代码包的编译规则和编译过程的。那么当我们拿到一个新的代码包时后,如果想了解这份代码各个文件的编译过程,通过阅读各个目录下的makefile固然可行,但是难免会太过于繁琐,尤其在一些大一点的工程中。通过make中一些make选项可以有效的提供一些辅助信息,帮助我们了解整个代码工程的编译流程。一般情况下,在拿到新的代码的时候可以...翻译 2019-05-11 10:09:21 · 650 阅读 · 0 评论 -
rv1108 SDK中添加wpa_supplicant的方法
step1:将wpa_supplicant的相关代码放置于extern目录下面。step2:在文件config/pack_rootfs.mk中添加如下脚本信息: 94 ifeq ($(RV_TARGET_WPA_SUPPLICANT),y) 95 ROOTFS_FINAL_SBINS += wpa_cli wpa_supplicant 96 endifstep3:在文...原创 2019-04-19 17:26:19 · 433 阅读 · 0 评论 -
Makefile中的include和-include以及sinclude的区别
include作用是包含其他的Makefile文件或者.mk文件。从而可以使用包含文件中的变量。-include是指定编译器,即使没有这个文件也照常编译,不报错。编译继续进行。sinclude和-include的效果一样...原创 2019-04-12 19:43:29 · 2235 阅读 · 0 评论 -
makefile中=,:=,?=,+=的差异
= 是基本的赋值方式:= 覆盖之前的值?=如果没有赋值就赋予等号后面的值+= 添加后面的值,并不覆盖原有的值原创 2019-04-12 19:40:44 · 1850 阅读 · 0 评论 -
makefile中常用的自动变量的说明
由于经常看到makefile中的这些变量,特此总结一下。系统常用的自动变量有很多,这些自动变量只能在规则中使用,主要有以下几个:$@ :规则中的目标$< :规则中地一个依赖条件$^:规则中所有的依赖条件比如:target:a.c b.c c.c gcc $^ -o $@ //等价于gcc a.c b.c c.c -o target...原创 2019-03-23 14:53:52 · 796 阅读 · 0 评论 -
Linux内核中添加驱动模块到menuconfig中
Linux中驱动模块的加载有两种方法:1.编译成.ko文件在内核启动后,动态的加载到内核中。2.在内核编译的时候同时编译驱动模块。现主要介绍第二种方案:希望将内核驱动加载到内核模块中,需要在menuconfig菜单中选择配置。首先在kernel/drivers/char/目录下新建一个目录用以存放自己驱动模块的源文件。源文件存放好了之后,还需要添加并修改相应的Kconfig和M...原创 2018-12-15 16:24:36 · 2655 阅读 · 0 评论 -
Makefile 时出现错误missing separator. Stop.解决方法
使用make命令时,可能会出现如下的储物信息爆出: missing separator. Stop.在相应的行前tab键,很多时候可能是加了空格键原创 2018-11-09 11:52:11 · 5731 阅读 · 1 评论 -
bash: ./main.o: cannot execute binary file: Exec format error解决方法
在linux中使用make编译文件后执行./main.o,出现了bash: ./main.o: cannot execute binary file: Exec format error的错误。解决方法:将malefile中的TARGET := main.o改为:TARGET := test.o然后在make后,执行./test.o。完全ok.原因分析:因为在...原创 2019-04-19 11:49:41 · 19986 阅读 · 0 评论 -
make: *** No rule to make target 'testphy/testphy.c', needed by 'testphy/testphy.o'. Stop.解决方法
使用makefile出现如下问题时make: *** No rule to make target 'testphy/testphy.c', needed by 'testphy/testphy.o'. Stop.分析:此错误信息一般出现在规则的目标找不到对应的依赖所导致的,所以首先就查看相应规则的目标和依赖,是否都存在。解决方法:查看malefile中发现将相应的.cpp文件写...原创 2019-04-19 11:48:36 · 4265 阅读 · 0 评论 -
Makefile中行首加上@的作用,消除make时在终端的一些打印信息
Makefile文件中放置@符号的作用是在make时不将这一行打印出来,因为在Makefile的默认中make时会打印这一行的字符串。测试如下:例如:在gcc –o test.o test.c这一行之前没有添加@时,执行make后:在终端有相应的打印信息。 -----------------------------------------------------------------------...原创 2018-02-28 11:04:38 · 2225 阅读 · 2 评论