作者j5128709 (j5128709)
看板Linux
标题[问题] makefile 引入问题
时间Tue Apr 7 23:27:21 2020
小弟最近刚入门Linux
想尝试一些阶层式makefile管理
踢到铁板...来问两个蠢问题
环境: ubuntu 16.04
架构:
/home/xx/main
- main.c
- makefile
/home/xx/plus
- plus.c
- plus.mk
makefile内容为: plus.mk:
1: OBJ_C = main.c $(OBJ_C) += plus.c
2:
3: include plus.mk
4:
5: out: $(OBJ_C)
6: @echo $(OBJ_C)
7: gcc -c $^
make下去後,会说找不到 plus.mk,上网查了一下
使用
--include-dir=../plus or -I../plus
--include-dir=/home/xx/plus or -I/home/xx/plus
(上述的指令我都写在 include plus.mk上面)
上述四种都会失败,目前成功的是
直接在第3行 暴力写出"include ../plus/plus.mk"
Q1:想把路径拉出来,让第3行乾净的 include xx.mk
我指令使用错吗?
Q2:我假如成功引用plus.mk後
但是我的第6行 显示$(OBJ_C)这个变数时,只有main.c
我想问说,如何让plus.c 附加上去?
谢谢各位高手们...
看完小弟愚蠢的问题
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 125.231.42.3 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1586273243.A.358.html
1F:推 Bencrie: plus.mk 应该是 OBJ_C += plus.c 吧 04/08 00:42
2F:→ Bencrie: 怕展开时间点不对就 OBJ_C:=$(OBJ_C) plus.c 04/08 00:43
3F:推 Gold740716: 你是打 make -I../plus 吗? 04/08 10:51
4F:→ j5128709: 感谢Ben大解惑Q2, @gold大 我犯蠢了,我是在内容里加上 04/08 11:07
5F:→ j5128709: -I 04/08 11:08
6F:→ j5128709: 那有方法再内容新增路径,而不是在输入make时加入呢? 04/08 11:13
7F:→ j5128709: 我目前成功有 vpath, 还有其他方法嘛? 再次感谢两 04/08 11:13
8F:推 Gold740716: 翻一翻 make 的内建变数能不能控制 -I 吧 04/08 11:40
9F:→ Gold740716: 不然就直接写 include ../plus/plus.mk 04/08 11:40
10F:推 Gold740716: 试试看 .INCLUDE_DIRS = ../plus 04/08 12:11
11F:推 Gold740716: 好像没用,这个变数似乎是用来读取的 04/08 12:27