作者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/m.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