[問題] makefile 引入問題

看板Linux作者 (j5128709)時間4年前 (2020/04/07 23:27), 編輯推噓5(506)
留言11則, 3人參與, 4年前最新討論串1/2 (看更多)
小弟最近剛入門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://www.ptt.cc/bbs/Linux/M.1586273243.A.358.html

04/08 00:42, 4年前 , 1F
plus.mk 應該是 OBJ_C += plus.c 吧
04/08 00:42, 1F

04/08 00:43, 4年前 , 2F
怕展開時間點不對就 OBJ_C:=$(OBJ_C) plus.c
04/08 00:43, 2F

04/08 10:51, 4年前 , 3F
你是打 make -I../plus 嗎?
04/08 10:51, 3F

04/08 11:07, 4年前 , 4F
感謝Ben大解惑Q2, @gold大 我犯蠢了,我是在內容裡加上
04/08 11:07, 4F

04/08 11:08, 4年前 , 5F
-I
04/08 11:08, 5F

04/08 11:13, 4年前 , 6F
那有方法再內容新增路徑,而不是在輸入make時加入呢?
04/08 11:13, 6F

04/08 11:13, 4年前 , 7F
我目前成功有 vpath, 還有其他方法嘛? 再次感謝兩
04/08 11:13, 7F

04/08 11:40, 4年前 , 8F
翻一翻 make 的內建變數能不能控制 -I 吧
04/08 11:40, 8F

04/08 11:40, 4年前 , 9F
不然就直接寫 include ../plus/plus.mk
04/08 11:40, 9F

04/08 12:11, 4年前 , 10F
試試看 .INCLUDE_DIRS = ../plus
04/08 12:11, 10F

04/08 12:27, 4年前 , 11F
好像沒用,這個變數似乎是用來讀取的
04/08 12:27, 11F
文章代碼(AID): #1UZ9lRDO (Linux)
文章代碼(AID): #1UZ9lRDO (Linux)