在平时使用中,可以使用以下的makefile来编译单独的代码

src = $(wildcard *.c)
obj = $(patsubst %.c, %.o, $(src))CC = gcc
CFLAGS = -Wall -gall:$(target)$(target):%:%.c$(CC) $< -o $@ $(CFLAGS).PHONY: clean all
clean:-rm -rf $(target)

使用方法就是make 后面跟文件名就可以单独编译该程序(不要加后缀.c)

更正:

上面的makefile无法实现make clean删除执行文件的原因是 代码错误。

以下是可以生成并且删除对应的文件

src = $(wildcard *.c)
target = $(patsubst %.c, %, $(src))CC = gcc
CFLAGS = -Wall -gall:$(target)$(target):%:%.c$(CC) $< -o $@ $(CFLAGS).PHONY: clean all
clean:-rm -rf $(target) test

转载于:https://www.cnblogs.com/wanghao-boke/p/11304964.html

Makefile(三)相关推荐

  1. 跟我一起写 Makefile(整理版)

                      跟我一起写 Makefile                     作者:陈皓           (博客地址:http://blog.csdn.net/haoe ...

  2. Linux C语言C++ makefile文件编写

    ps: 这里 不是很明白?尤其是 后面 三个变量,什么区别? $@ 代表目标 $^ 代表全部依赖 $< 第一个依赖 $? 第一个变化的依赖 makefile makefile 命名规则makef ...

  3. C语言 makefile

    命名规则: makefile Makefile 三要素 目标:依赖 规则命令 temp=main.o add.o sub.o #使用变量$(temp) main:$(temp)gcc -o main ...

  4. makefile 文件 (​ http://blog.csdn.net/ruglcc/article/details/7814546/ )

    makefile三要素:目标,依赖,命令 make -f makefilename   指定makefile文件 (makefile写多行命令时,使用换行符"\") 一.makef ...

  5. Makefile 书写

    文章转载自陈皓的<跟我一起写Makefile> Table of Contents 概述 关于程序的编译和链接 Makefile 介绍 一.Makefile的规则 二.一个示例 三.mak ...

  6. Make和Makefile

    文章目录 一.demo的目录结构 二.使用Makefile生成可执行文件 1.简单版本的Makefile 2.使用变量改进Makefile 3.使用自动变量继续改进Makefile 4.使用 %.o: ...

  7. Linux编写makefile详细教程

    Linux下编写 makefile 详细教程 近期在学习Linux下的C编程,买了一本叫<Linux环境下的C编程指南>读到makefile就越看越迷糊,可能是我的理解能不行. 于是goo ...

  8. Makefile文件:Makefile介绍

    本文介绍Makefile的一些基本概念以及简单的用法.本文所用的编译器是Hightec tricore v4.9.1.0. 文章目录 1 Makefile的作用 2 Makefile的规则 3 一个简 ...

  9. 跟我一起写 Makefile -- 陈皓

    跟我一起写 Makefile(一) 概述 关于程序的编译和链接 Makefile 介绍 一.Makefile的规则 二.一个示例 跟我一起写 Makefile(二) 三.make是如何工作的 四.ma ...

  10. 《跟我一起写 Makefile》--陈皓

    文章目录 一.概述 二.程序的编译和链接 三.Makefile 介绍 1.Makefile的规则 2.一个示例 3.make是如何工作的 4.makefile中使用变量 5.让make自动推导 6.另 ...

最新文章

  1. Are you missing a call to unregisterReceiver()?
  2. 137% YOLOv3加速、10倍搜索性能提升!百度飞桨推出模型压缩神器
  3. 雷军写代码水平如何?
  4. 详解结构体、类等内存字节对齐
  5. WinCE内核裁减(中文字体)及字库和内核的分离(转)
  6. Dataset之Pascal:Pascal竞赛及其Pascal VOC(VOC 2012、VOC 2007) 数据集的简介、下载、使用方法详细攻略
  7. 自考计算机及应用心得体会,自考中文专业的心得体会
  8. ant构建项目迁移到gradle_Gradle构建工具
  9. python getopt.getopt_python 参数格式化getopt
  10. mysql+代码备份,一个很简单的MYSQL数据库备份脚本代码
  11. mysql与php教程,php与Mysql
  12. 智能翻译软件—人人译视界 for Mac
  13. java8 转 java7,spnego.jar从Java 7切换到Java 8强制转换异常
  14. xampp的安装教程
  15. 计算机硬件系统基本组成
  16. Spring 最新漏洞修复
  17. Android 拨号盘应用源码分析
  18. 上海亚商投顾:沪指失守3200点 房地产板块逆市走强
  19. JAVA中台化与常用组件设计
  20. 处理Whitelabel Error Page

热门文章

  1. centos 6.5网卡dhcp不能获得网关
  2. 网址出现error.aspx?aspxerrorpath=404.htm?aspxerrorpath=的原因及解决办法转
  3. ftp put 550 Access is denied
  4. JavaScript 参考教程——写在前面
  5. python 线型_CCF 202006-1 线性分类器 python
  6. 图解 继电器模组接线图_交流接触器,继电器的知识你了解多少?(值得收藏)...
  7. C语言游戏传递小秘密,C语言的那些小秘密之链表
  8. linux 查看java cpu_Linux查看CPU和内存使用情况
  9. c#精彩编程200例百度云_永安市教育局被授予“人工智能编程教育试验区”
  10. c语言箭头指针的作用,C语言中,结构体成员变量的点和箭头