请告诉我如何使用makefile构建包含src文件夹和include的项目。关于C.的项目 我在src文件夹中有三个文件:main.c test.c foo.c我有文件夹包含文件夹系统我有文件:test.h和foo.h 我想在main.c中写一下,例如#include,其中系统位于文件夹include中。
请举例说明makefile,因为我觉得很难理解。 谢谢你的回答!
答案 0 :(得分:1)
你没有给我们太多信息,所以我不得不猜测。假设foo.c
中有三个文件bar.c
,baz.c
和src/
。假设您的makefile位于父目录(也包含src/
和include/
)中,并且您希望在那里构建目标文件和可执行文件foo
。这应该足够了:
VPATH = src
CFLAGS += -Iinclude
foo: foo.o bar.o baz.o
$(CC) $^ -o $@
这是一个原始的makefile;一旦你对基础知识感到满意,就可以有更复杂的版本。
修改
在我们尝试跑步之前,我们必须学会走路。如果要编写可以处理复杂目录结构的makefile,则必须了解更简单的makefile。从与makefile相同的目录中的所有文件开始,包括源文件(foo.c
)和头文件(foo.h
)。然后你可以省略上面的makefile的前两行。 确保在创建src/
并需要VPATH = src
之前了解makefile ,然后在介绍include/
和CFLAGS += -Iinclude
之前了解这一点。如果您尝试跳过这些步骤,则无法在更复杂的情况下取得成功。