【问题标题】:Makefile to generate a binary file for each source fileMakefile 为每个源文件生成一个二进制文件
【发布时间】:2022-01-14 19:59:44
【问题描述】:

我的项目中有以下结构。

  • /
    • src/
    • bin/
    • 生成文件

在 src 目录下会有多个 src 文件(每个都有一个 main 函数)。我需要编写makefile,这样当我运行时 make program1 它应该在 src 文件夹中搜索 program1.c 并将可执行文件编译为 bin 文件夹中的 program1*。

我遇到了这个问题How can Makefile use separate directories for source code and binaries? 但是,似乎我需要手动将所有程序名称输入到 PROG 变量中。 我只需要使用 make 提供二进制名称,它应该为相应的 src 文件进行编译?

【问题讨论】:

    标签: makefile build automation gnu-make


    【解决方案1】:

    好的,在对我的 Makefile 进行了一些实验之后。我终于找到了解决问题的方法。

    当前构建系统

       CC = gcc
       CFLAGS = -g -Wall
       SRC = ./src/
       BIN = ./bin/
    
       %: $(SRC)%.c
           $(CC) $(CFLAGS) $< -o $(BIN)$@
       
       .PHONY: clean
       
       clean: 
           rm $(BIN)* 
    

    【讨论】:

      猜你喜欢
      • 2019-04-06
      • 1970-01-01
      • 1970-01-01
      • 2014-05-15
      • 1970-01-01
      • 2015-01-25
      • 1970-01-01
      • 2011-11-30
      • 2015-02-11
      相关资源
      最近更新 更多