我真的无法进入makefile。在以前的项目中,我在Makefile中对所有编译任务进行了硬编码:
all: compile_a compile_b compile_c
compile_a:
${CC} ${CFLAGS} ${A_SRC} -o ${A_OUT}
等等。
但是由于最新的项目比以前的每个项目都有更多的文件,我想写更好的 make 任务,当然少字符作为 make 对我的眼睛不是很友好(这让他们很痛苦)!:-P
我想要的是:
- 一项统治他们的任务(只是
make projectname
或make all
,你知道吗?) - 每个 C 文件都要编译一个任务(我读过一些关于这种
%.o: %.c
语法的东西,但并没有真正明白) - 链接的一项任务(如何获取所有 .o 文件并将它们链接起来,而不需要对每个文件进行硬编码?)
- 一项清洁任务(哦,我可以做到!)
项目结构为:
bin (binary goes here!)
src
some
directories
are
here
我不知道我是否需要一个目标文件的目录,我把它们放进去./bin
,我认为这已经足够了,不是吗?
也许我只需要一个可以用简单的话解释的人!
编辑:正如有人指出的那样,没有真正的问题,所以这里是:
- 如何递归编译所有C文件
bin/(filename).o
- 如何
.o
在不知道文件名的情况下链接“bin/”中的所有文件
也许这有帮助。