一个简单的Makefile

原创 2012年03月22日 19:46:53

一个简易的小万能Makefile

target := hello
obj = $(patsubst *.c, *.o, $(wildcard *.c))
$(target): $(obj)
        gcc -o $(target) $(obj) 
clean:
        rm -r $(target) *.o
exp

#include <stdio.h>

int main(int argc, char *argv[])
{
        printf("Hello, world\n");

        return 0;
}
do

root@ubuntuServer:~/test# make
gcc -o hello  hello.c 
root@ubuntuServer:~/test# ./hello 
Hello, world
root@ubuntuServer:~/test# 
分析

target += hello
定义一个变量target,想要输出怎么样的可执行程序,替换hello就可以了。对于:=附加操作符,表明hello是立即变量

obj = $(patsubst *.c, *.o, $(wildcard *.c))
$(patsubst a, b, c)表示替换通配符,意思是说将c中的a替换成b;$(wildacrd *.c)是扩展通配符,即将当前目录下的所有.c文件的后缀换成.o

$(target): $(obj)
        gcc -o $(target) $(obj) 
这条是执行规则,生成可执行程序

最后一条伪指令用于清理

自己写一个简单通用的Makefile

一.makefile的作用           Makefile是用于自动编译和链接的,一个工程有很多文件组成,每一个文件的改变都会导致工程的重新链接,但是不是所有的文件都需要重新编译,Makefil...
  • u011913612
  • u011913612
  • 2016年08月03日 12:55
  • 1437

linux下编写的一个最简单的Makefile文件

Makefile核心要点: 1.会不会写makefile从侧面说明了一个人是否具备完成大型项目开发大型工程的能力 2.makefile是用来编译链接文件的,实现了自动化编译 3.与make指令搭...
  • lizhidefengzi
  • lizhidefengzi
  • 2017年04月03日 15:09
  • 1660

从简单实例开始,学会写Makefile(一)

作为一个刚刚从大学囚笼里走出的新人,进公司不久就遇到了一个不大不小的门槛——看不懂Makefile!虽然还不至于影响到项目进度,从别的地方拷贝一份过来稍加修改就可以用了,但是,对于咱们“程序猿”来说这...
  • wcl199274
  • wcl199274
  • 2014年09月08日 22:42
  • 1191

gcc的使用以及编写简易的Makefile

一、gcc的用法 gcc的编译流程:预处理---->编译--->汇编--->链接 1. 预处理(进行宏替换,生成.I的预处理文件): 预处理功能主要包括宏定义,文件包含,条件编译三部分。分别对应宏定义...
  • mi_rencontre
  • mi_rencontre
  • 2016年06月01日 21:34
  • 1034

快速实现工程makefile的简单通用模板

以前刚开始接触linux开发的时候,发现makefile真麻烦,我学C/C++开发已经花了不少时间了,现在还要花这个时间类搞这玩意,真是麻烦。真希望能出现一个模板,我只需要填下我需要编译的文件,以及相...
  • ErvinX
  • ErvinX
  • 2016年12月08日 19:43
  • 573

一个最简单的Makefile例子

原文地址:http://hi.baidu.com/hellosim/blog/item/42e78341b40c3e8db2b7dce3.html 转载请注明出处 1.hello.c #in...
  • u013713010
  • u013713010
  • 2015年05月25日 10:10
  • 3419

编写通用Makefile

近期在看韦东山的数码相框视频,有讲到怎么写一个通用的
  • ymangu
  • ymangu
  • 2014年04月06日 14:37
  • 1276

从小程序中看make和Makefile的简单使用

我们都知道程序在执行之前会有两个很重要的过程:编译和链接。当然我们在Windows平台的编译器中(像vs),它会自动帮我们生成最后的执行程序,如(xxx.exe);但是Linux下我们使用vim时,g...
  • qq_21550341
  • qq_21550341
  • 2016年06月11日 14:12
  • 1063

makefile的简单使用

最近在 github上看了一些小的开源代码,发现
  • bdss58
  • bdss58
  • 2014年11月01日 00:50
  • 770

从简入难makefile文件编写,Linux C++编程,简单vi命令

1.一个最基本的C++程序 2.第二个c++程序 3.第一个入门级别的简单的makefile 4.在makefile中定义变量。 ...
  • imxiangzi
  • imxiangzi
  • 2015年07月12日 00:07
  • 697
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个简单的Makefile
举报原因:
原因补充:

(最多只允许输入30个字)