Makefile的语法很多,编写起来也比较麻烦,日常工作中我们可能需要编写一些简单的测试程序,每次编写Makefile文件比较麻烦,本着拿来主义的原则,编写了一个通用的Makefile示例,供大家交流使用,支持路径的修改,支持改动增量编译。
例子中具体每行的含义,大家可以百度查一下,或者参考《跟我一起写 Makefile》看一下,本文仅仅是分享成品,不做详细阐述。

CC = gcc
CFLAGS = -g -Wall -std=c99
CLIBS = -lpthreadSRC_PATH = src
OBJ_PATH = obj
BIN_PATH = binTARGET = ${BIN_PATH}/test.binINCLUDE = $(wildcard $(SRC_PATH)/*.h)
SOURCES = $(wildcard $(SRC_PATH)/*.c)OBJECTS = $(patsubst $(SRC_PATH)/%.c,$(OBJ_PATH)/%.o, $(SOURCES))
DEPENDS = $(patsubst $(SRC_PATH)%.c,$(OBJ_PATH)/%.d, $(SOURCES))sinclude $(DEPENDS)$(TARGET) : $(OBJECTS)$(CC) $(CFLAGS) $^ -o $@ $(CLIBS)$(OBJ_PATH)/%.o : $(SRC_PATH)/%.c$(CC) $(CFLAGS) -c $< -o $@ -MMD -MF $(OBJ_PATH)/$*.d -MP@echoall : $(TARGET).PHONY : clean
clean:rm -rf $(OBJ_PATH)/*.d $(OBJ_PATH)/*.o $(TARGET)

本示例的代码目录如下,大家也可以通过修改Makefile文件里的变量进行修改。

.
├── bin
├── Makefile
├── obj
└── src├── main.c├── main.o

简单通用的Makefile编写例子相关推荐

  1. 简单Makefile编写教程

    Makefile编写 1. make和Makefile的介绍 1.1 make工具 利用make工具可以自动完成编译工作.这些工作包括: 如果仅仅修改了某几个源文件,则只重新编译这几个源文件: 如果某 ...

  2. 一个简单的makefile编写VCS仿真

    一个简单的makefile编写VCS仿真 1 VCS简介 VCS是编译型Verilog模拟器,它完全支持OVI标准的Verilog HDL语言.PLI和SDF. VCS具有行业中较高的模拟性能,其出色 ...

  3. c语言编译流程简单整理以及简单makefile编写

    c语言编译流程简单整理以及简单makefile编写 前言: 最近接触了makefile.为了学习makefile,就去了解了部分需要的知识,目前先简单的整理在这里. c语言编译过程 C语言在编译过程中 ...

  4. Makefile编写及一个简单的Makefile架构实现

    Makefile编写及一个简单的Makefile架构实现 Makefile常用命令 GCC/G++常用编译参数 简单Makefile框架实现 使用CMake构建项目 Makefile常用命令 make ...

  5. linux环境cpp/c文件的makefile编写(caffe举例)

    编译单个cpp文件 方法一.g++ 文件名.cpp,生成一个名为 "文件名.out" 的可执行文件 方法二.g++ -c 文件名.cpp -o 新文件名.o:生成一个被命名成 &q ...

  6. Makefile编写方法小结

    目录 1.基本写法 2. 带上clean 3. 加上特殊字符.通配符等进行简写 4. 避免重复的进一步简化 5. 加入编程思想的工程通用模板 1.基本写法 Makefile的编写方便了在linux下编 ...

  7. Linux下通用的Makefile

    Linux下通用的Makefile 我们在Linux环境下开发程序,少不了要自己编写Makefile,一个稍微大一些的工程下面都会包含很多.c/.cpp的源文件.如果我们用gcc/g++去一个一个编译 ...

  8. linux 生成和使用动态链接库和静态链接库的Makefile编写

    引用 Jesse Rei 的 linux 生成和使用动态链接库和静态链接库的Makefile编写 生成和使用动态链接库和静态链接库的Makefile编写 1. 概述 介绍linux下生成和使用动态链接 ...

  9. Linux C编程Makefile编写初步-转

    Linux C编程Makefile编写初步 假设我们有下面这样的一个程序,源代码如下:  /* main.c */  #include "mytool1.h"  #include  ...

  10. FFmpeg源代码简单分析:makefile

    ===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...

最新文章

  1. 新型内存攻击,专治制程提高的芯片
  2. urlencode urldecode
  3. how to collect staff from lovespace
  4. python怎样实现封装_python 封装底层实现原理
  5. ilistT 与listT 之间的相互转换
  6. SAP云平台上Redis dashboard提供的功能一览
  7. MySQL查询语句后面加上“\G”,提示 ERROR: No query specified
  8. Windows学习总结(20)——Win10 子系统Linux(Ubuntu 18.04)的安装与卸载
  9. 记一次工作中的小坑(关于celery)
  10. mysql5.7zib配置_mysql-5.7.13 解压版安装教程
  11. python中最基本的系列_Python中最基本的10个内容
  12. 冒泡排序和选择排序的实现与比较
  13. 【GoWeb编程】准备起飞
  14. Oracle Ravello的学习资料
  15. 这是 iPhone 6主板?包含 802.11ac WiFi、NFC 芯片
  16. 产品需求分析工具和方法
  17. 【ANSYS命令流】定义单元类型与实常数
  18. 域名信息备案管理系统php,如何查询域名备案号
  19. centos linux 查看ip,centos如何查看ip
  20. lisp方格网法计算土方量_方格网法计算土方量的步骤

热门文章

  1. 手写原笔迹电子签名的原理及实现方法
  2. React实现H5横屏电子签名板
  3. 智慧零售怎么做客流统计和客流分析?|图普客流统计系统
  4. python文字转语音的五种方式win32com,pyttsx3,百度api,可使用自己的声音
  5. Spring的Bean生命周期
  6. cad汉仪长仿宋体_hzcf.shx字体
  7. redis 中 epoll 模型 ~ 霓裳
  8. linux中telnet命令安装包,linux的telnet命令安装
  9. 为什么要分层?数据仓库分层架构深度讲解
  10. 山东大学高频电子线路综合实验 调幅通信机系统实验详解