Re: [問題] 各自build出各自.c的執行檔Makefile
※ 引述《awaysu (阿偉蘇)》之銘言:
: 請教一下各位
: 目錄有aaa.c, bbb.c, ccc.c
: 請問我要各自build出各自的執行檔aaa, bbb, ccc
: Makefile要如何寫?
: 感謝!!
: 例如:
: SRC = aaa.c bbb.c ccc.c
: 是利用回圈之類的嗎?
: 感謝~
SRCS = $(shell ls *.c)
TARGETS = $(SRCS:.c=)
all: $(TARGETS)
$(TARGETS):
$(CC) -o $@ $@.c
還可以更精簡一些, 如下所示:
SRCS = $(shell ls *.c)
all: $(SRCS:.c=)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.249.207.134
※ 編輯: phterry 來自: 60.249.207.134 (08/27 19:29)
推
09/01 15:40, , 1F
09/01 15:40, 1F
用 wildcard function 也不錯, 這讓我想起另一個好用的 function, 叫做
patsubst, 可以用來置換字串, 因此, 如果資料夾底下有很多 .c 檔, 每一
個 .c 檔都要各自編譯成一個執行檔的話, Makefile 裡只需要下列這一行
就可以了:
all: $(patsubst %.c,%,$(wildcard *.c))
※ 編輯: phterry 來自: 60.249.207.134 (09/02 14:14)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):