OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6847|回复: 14

关于Makefile的问题?想不通是什么个情况

[复制链接]

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
发表于 2019-12-3 10:24:09 | 显示全部楼层 |阅读模式
1金钱
今天学习   第三季-----》系统移植篇
在观赏第二讲的时候,有些不明白
不知道可不可以放图

前奏:在.sh命令行中,输入的命令如图1所示,
我的理解是,第一行将ARCH和CROSS_COMPILE赋值,并执行distclean
第二行将ARCH和CROSS_COMPILE赋值,并执行mx6ull_14x14_ddr512_emmc_defconfig
第三行将ARCH和CROSS_COMPILE赋值,并执行-j12   
开始编译


图1

图1

问题来了:
左神说,这太麻烦,去makefile里面修改一下,如图2所示
加入了ARCH=.........和CROSS_COMPILE=.........
然后直接在命令行中执行make 就可以了


我不明白的是makefile中只修改了环境变量 ,
并没有加入  mx6ull_14x14_ddr512_emmc_defconfig
他是怎么执行了mx6ull_14x14_ddr512_emmc_defconfig这个的?

图2

图2


最佳答案

查看完整内容[请看2#楼]

人家说的只是增加了ARCH CROSS_COMPILE 你还得写如下脚本: make distclean make xxx_def_config make -j32 并不是你一个make就能搞定的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

1622

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6539
金钱
6539
注册时间
2015-8-25
在线时间
1024 小时
发表于 2019-12-3 10:24:10 | 显示全部楼层
人家说的只是增加了ARCH  CROSS_COMPILE
你还得写如下脚本:
make distclean
make xxx_def_config
make -j32
并不是你一个make就能搞定的
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

6

主题

1127

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1656
金钱
1656
注册时间
2019-8-15
在线时间
102 小时
发表于 2019-12-3 13:43:59 | 显示全部楼层
帮顶                              
成功没有捷径
回复

使用道具 举报

3

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2015-6-25
在线时间
23 小时
发表于 2019-12-3 13:53:42 | 显示全部楼层
一般是在Makefile文件中将ARCH和CROSS_COMPILE赋值;make menuconfig后会在内核目录下生成隐藏文件.config,再用需要的配置文件替换这个文件;最后make就行了。
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2019-12-3 18:10:50 | 显示全部楼层
我说的直接make是make后面要带命令的,是make distclean或者make mx6ull_14x14_ddr512_emmc_defconfig。不是说直接一个make命令,视频里面没说清楚。
回复

使用道具 举报

6

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
金钱
235
注册时间
2014-8-26
在线时间
54 小时
发表于 2019-12-3 20:38:58 | 显示全部楼层
190560296 发表于 2019-12-3 13:53
一般是在Makefile文件中将ARCH和CROSS_COMPILE赋值;make menuconfig后会在内核目录下生成隐藏文件.config ...

我那天找.config文件找了半天,总以为在哪个目录里面。后来才知道要用 ls -a 才能发现。。。
回复

使用道具 举报

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
 楼主| 发表于 2019-12-4 17:04:25 | 显示全部楼层
zuozhongkai 发表于 2019-12-3 18:10
我说的直接make是make后面要带命令的,是make distclean或者make mx6ull_14x14_ddr512_emmc_defconfig。不 ...

make   mx6ull_14x14_ddr512_emmc_defconfig,这条命令是配置文件吗?一直搞不懂这条命令是干嘛的
回复

使用道具 举报

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
 楼主| 发表于 2019-12-4 17:04:49 | 显示全部楼层
忙碌的小姚 发表于 2019-12-3 20:38
我那天找.config文件找了半天,总以为在哪个目录里面。后来才知道要用 ls -a 才能发现。。。

。是隐藏文件
回复

使用道具 举报

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
 楼主| 发表于 2019-12-4 17:05:18 | 显示全部楼层
190560296 发表于 2019-12-3 13:53
一般是在Makefile文件中将ARCH和CROSS_COMPILE赋值;make menuconfig后会在内核目录下生成隐藏文件.config ...

这个配置文件也没见编写啊
回复

使用道具 举报

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
 楼主| 发表于 2019-12-4 17:06:28 | 显示全部楼层
szczyb1314 发表于 2019-12-3 10:24
人家说的只是增加了ARCH  CROSS_COMPILE
你还得写如下脚本:
make distclean

嗯是的  我想问的没表达清楚
就是后面这个make命令是起什么作用的?
make distclean
make xxx_def_config
之前没见过这两个命令
回复

使用道具 举报

33

主题

1622

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6539
金钱
6539
注册时间
2015-8-25
在线时间
1024 小时
发表于 2019-12-4 19:32:29 | 显示全部楼层
make distclean #清理下工程,.config文件会被删除
make xxx_def_config #进行默认的配置,目的是生成新的.config文件
make -j32 #编译
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

3

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2015-6-25
在线时间
23 小时
发表于 2019-12-5 09:27:47 | 显示全部楼层
本帖最后由 190560296 于 2019-12-5 09:29 编辑
bingtangxueli 发表于 2019-12-4 17:05
这个配置文件也没见编写啊

这个文件是在make menuconfig后生成的配置文件。
回复

使用道具 举报

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
 楼主| 发表于 2019-12-6 11:08:03 | 显示全部楼层
szczyb1314 发表于 2019-12-4 19:32
make distclean #清理下工程,.config文件会被删除
make xxx_def_config #进行默认的配置,目的是生成新的 ...

谢谢谢谢  简略易懂
回复

使用道具 举报

9

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2019-7-23
在线时间
10 小时
 楼主| 发表于 2019-12-6 12:05:53 | 显示全部楼层
190560296 发表于 2019-12-5 09:27
这个文件是在make menuconfig后生成的配置文件。

enen嗯
回复

使用道具 举报

7

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1110
金钱
1110
注册时间
2019-5-6
在线时间
128 小时
发表于 2019-12-6 14:45:34 | 显示全部楼层
没事想不通就问;那个shell脚本就是多个make,执行后,你可以离开干别的毕竟编译有时需要时间较长,尤其内核。
一步一个脚印
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-23 04:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表