Makefile之深入浅出

什么是 make 呢?为什么需要 make 呢?在我们之前学习的 C 语言以及 C++ 语言中,我们在编译的时候只需要 gcc 或者
g++ 命令就可以完成源码的编译了。但是在嵌入式中一些大型的项目中,如内核的编译,动辄上万个源文件,我们还可能去一行一行的敲 gcc
命令吗?肯定不会了,这时我们便需要一个工具来进行代替了,此时便需要 makefile 了。

本系列博客内容是根据狄泰软件学院的《门徒计划》中的 makefile 相关内容总结而来。其中包含了 Makefile 语言的各种基础知识点和一些不常用的用法,方便日后进行复习。

欢迎大家一起来学习 makefile 语言,可以加我QQ:243343083。

原文地址:http://blog.51cto.com/12810168/2151688

时间: 2024-11-13 09:21:38

Makefile之深入浅出的相关文章

深入浅出Android makefile(1)--初探(转载)

转载:http://nfer-zhuang.iteye.com/blog/1752368 一.说明 android build system是一个非常庞大的系统,要编译Android工程.修改或新增Android模块都需要对这个编译系统有一定的了解.但是由于它实在是太庞大了,大家往往是不知道从哪里切入进去,对Android的编译系统进行一个系统的学习. 下面我们尝试从一个小模块逐步对android build system做一个深入剖析.选择的这个模块名字叫做acp ,源码位于build\too

深入浅出Android makefile(2)--LOCAL_PATH(转载)

转自:http://nfer-zhuang.iteye.com/blog/1752387 一.说明 上文我们对acp的Android.mk文件做了一个大致的描述,使得大家对Android.mk文件有了一个初步的认识,下面我们就重点分析下第一行: LOCAL_PATH:= $(call my-dir) 二.LOCAL_PATH 有人就问了,在本Android.mk中又没有使用到LOCAL_PATH,为什么先 要定义这么一个变量呢?为什么规定必须放在所有的include $(CLEAR_VARS)之

工程管理之makefile与自动创建makefile文件过程

(风雪之隅 http://www.laruence.com/2009/11/18/1154.html) Linux Makefile自动编译和链接使用的环境 想知道到Linux Makefile系统的真相么,想知道Linux Makefile系统中藏有的内在奥义么,只有我来给大家全面讲解介绍Linux Makefile系统作为Linux下的程序开发人员,大家一定都遇到过Linux Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Linux Mak

【APUE】Chapter16 Network IPC: Sockets & makefile写法学习

16.1 Introduction Chapter15讲的是同一个machine之间不同进程的通信,这一章内容是不同machine之间通过network通信,切入点是socket. 16.2 Socket Descriptors socket抽象上是一个communication endpoint,具体就是一个int型变量.生成socket的函数如下: int socket(int domain, int type, int protocol) 函数有点儿类似open,即打开一个socket d

Linux下Makefile的automake生成全攻略

作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了. 在本文中,将给大家介绍如何使用 autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序一样,只要使用“./configure”,“make”,“make instal”就可以把程序安装到Linux

使用automake、autoconf生成MakeFile文件

从helloworld入手 我们从大家最常使用的 例子程序helloworld开始. 下面的 过程如果简单地说来就是 : 新建三个文件: helloworld.c configure.in Makefile.am 然后执行: aclocal; autoconf; automake --add-missing; ./configure; make; ./helloworld 就可以看到Makefile被产生出来,而且可以将helloworld.c编译通过. 很简单吧,几条命令就可以做出一个符合惯例

Configure,Makefile.am, Makefile.in, Makefile

无论对于一个初学者还是一个资深的Linux程序员,编写Makefile文件都是一件很麻烦的事:再者,开发人员应该把主要的精力放在程序代码的编写上,而在Makefile文件花费太多的精力显然是不明智的:还有,对于不同的处理器架构,往往编译器不同,环境不同,特别是一些嵌入式系统中的各种程序的编译,于是移植问题也使Makefile文件编写趋于复杂,也显得这个问题很重要.对于这些问题Linux的高手们早已想到了,所以他们开发了一些能够自动生成Makefile文件的工具.他们就是下面这些工具: 〉GNU

linux makefile自动生成

一.Linux Makefile介绍 Linux Makefile是用于自动编译和链接的,一个工程有很多文件组成,每一个文件的改变都会导致工程的重新链接,但是不是所有的文件都需要重新编译,Linux Makefile中纪录有文件的信息,在make时会决定在链接的时候需要重新编译哪些文件. Linux Makefile的宗旨就是:让编译器知道要编译一个文件需要依赖其他的哪些文件.当那些依赖文件有了改变,编译器会自动的发现最终的生成文件已经过时,而重新编译相应的模块. Linux Makefile的

linux学习笔记(一) 使用automake生成Makefile

作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了. 在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序一样,只要使用“./configure”,“make”,“make instal”就可以把程序安装到Linux系