使用Makefiles编译不同目录下的C程序

标签 c linux makefile

我对编译分布在不同源文件夹下的 C 代码有疑问。 我的项目结构如下

root directory---> Project
sub-directory--> include => add.h sub.h
sub-directory--> source => add.c sub.c
sub-directory--> src => main.c crc.c spi.c

我如何编写一个简单的 makefile 来编译和链接不同目录中的源代码以创建一个可执行文件?

最佳答案

您可以在 Makefile 中列出所有源文件的路径:

SOURCES=\
    src/main.c \
    src/crc.c \
    src/spi.c \
    sources/add.c \
    sources/sub.c

关于使用Makefiles编译不同目录下的C程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28668935/

相关文章:

c# - 在 C 系列中,在一个循环中,为什​​么 "less than or equal to"比 "less than"符号更受欢迎?

c - 我需要为我估算一项全新技术的时间(德州仪器的 MSP430 微处理器)

linux - SVN blame - 网络连接意外关闭

linux - 在 awk 命令中使用 '\n' 作为字段分隔符

c++ - 如何设置 Makefile 以使用 Visual-Studio 风格的输出目录进行构建?

C - sprintf() 影响数组声明

c - 为什么我们需要在 block 宏周围加上括号?

c++ - 为什么这个简单的 makefile 不在更改时重建源代码?

c++ - 根据进程 ID 确定进程是否存在

c++ - Makefile 操作系统检测和 ifeq 未被触发