一个简单的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示例

  • 2012年10月25日 22:38
  • 377KB
  • 下载

一个简单的makefile

  • 2010年10月27日 23:51
  • 808B
  • 下载

一个简单的Makefile示例

#以下通过一个简单的示例说明Makefile的基本语法,以#号开头的表示批注 #以下为变量定义 ASM := nasm CC := gcc LD := ld ASMFLAGS := -f elf CF...

一个简单的makefile制作教程

看了篇挺实用的makefile制作教程,由于原文是英文的,所以做了下简单翻译,供大家参考,不准确的地方请多包涵指正。 原文地址:http://www.cs.colby.edu/maxwell/cou...

一个最简单的Makefile例子(转)

原文地址:http://hi.baidu.com/hellosim/blog/item/42e78341b40c3e8db2b7dce3.html 转载请注明出处 1.hello.c #in...

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

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

一个最简单的Makefile例子

原文地址:http://hi.baidu.com/hellosim/blog/item/42e78341b40c3e8db2b7dce3.html 转载请注明出处 1.hello.c #in...

一个最简单的makefile例子

本来早就应该学Makefile了,只是我偷懒,现在才学呵呵^_^makefile的好处叫我说,老实说我也说不出什么之所以然来,但是可以肯定的是它是linux平台的软件工程师都要必备的知识^_^ 一、程...

(转载)一个最简单的makefile例子

本来早就应该学Makefile了,只是我偷懒,现在才学呵呵^_^makefile的好处叫我说,老实说我也说不出什么之所以然来,但是可以肯定的是它是linux平台的软件工程师都要必备的知识^_^ ...

一个简单的通用Makefile模板

供写小程序的时候使用 可以随意的修改文件名称 随意的增删文件、目录 随意的调整文件的目录层次 不编译某个.c文件时将其改个后缀名即可 不能有重复的文件名称   # kernel.digg...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个简单的Makefile
举报原因:
原因补充:

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