5.Makefile的原理及应用

1.概念

目标:目标顶格写,后面是冒号(冒号后面是依赖)
依赖:依赖是用来产生目标的原材料。
命令:命令前面一定是两个Tab,不能是定格,也不能说多个空格。命令就是要生成那个目标需要做的动作。

2.基本工作原理

其一,当我们执行 make xx 的时候,Makefile会自动执行xx这个目标下面的命令语句。
其二,当我们make xx的时候,是否执行命令是取决于依赖的。依赖如果成立就会执行命令,否则不执行。
其三,我们直接执行make 和make 第一个目标 效果是一样的。(第一个目标其实就是默认目标)

时间: 2024-10-20 08:10:29

5.Makefile的原理及应用的相关文章

linux网络编程----->项目管理工具----->Makefile

1. 背景 在linux下不管写C还是C++,文件少的时候我们可以通过单个编译成执行文件来完成,但文件多了,特别是一个文件因为调用了别一个文件的函数而需要包含编译时,那时单独编译就显得十分费劲了,这时候不得不得项目管理工具----->Makefile. Windows下由于有大量IDE(集成开发环境), 项目管理都可以通过IDE来自动完成,所以在开发上减去了项目管理上的麻烦. 2. 关于程序的编译和链接 一般来说,无论是C还是C++,首先要把源文件编译成中间代码文件,在Windows下也就是 .

Makefile实例

A stupid man think himself is clever. A clever think himself is stupid. Make基础 先上脚本: COMPILE = g++ FLAGS = -std=c++11 -g target = epollserver objs = client.o clientmanager.o main.o savetomysql.o threadable.o libs = -L -lpthread -L/usr/lib/x86_64-linu

构建工具的发展及Android Gradle快速上手

前话: 最近谷歌宣布官方不再维护Eclipse ADT了,之后将更加专注于Android Studio的功能和性能上的改进,早在2013年的Google IO大会上首次推出了Android Studio,当时刚出来的时候我就好奇的去下载体验了一下,想看一下新开发工具的优势在哪里,据官方介绍,最吸引我的一点就是使用Studio使用了Gradle编译系统,可以支持很灵活的定制需求,而我当时正在研究当成库使用的APK(就是现在的aar文件,不过当时还没有出身),刚好遇到了ADT编译系统的限制,所以当时

Android系统编译时遇到的几个.mk的疑惑。

在Android4.2的源码Build/prduct_config.mk里面遇到几个疑惑: # Convert a short name like "sooner" into the path to the product # file defining that product. # INTERNAL_PRODUCT := $(call resolve-short-product-name, $(TARGET_PRODUCT)) ifneq ($(current_product_ma

用C在GBA上写光线追踪(0)配置开发编译环境

前段时间用C#写了一个光线追踪程序,可以渲染圆球,平面这种基本图形,反射,光照,阴影,都大致尝试做了一下. ↑ C#实现的光线追踪     ↑ GBA上C实现的光线追踪 然而,在我打算继续深入优化的时候,我失去了我的好帮手强强电脑,换成了超极本.看来继续做技术密集型光线追踪是不行的了.就在这时,我看到了一些GBA的开发文章,我又刚好有一台GBA,于是我产生了一个大胆的想法——在GBA上实现光线追踪.GBA架构清晰简明,入手门槛低,而且还有一个官方的编程指南,很适合我这种人折腾. 旧版GBA 在写

udp通信的原理---makefile文件

由于UDP通信不需要事先建立连接,因此不需要TCP中的connect函数. 服务器端的步骤如下: 1. socket:      建立一个socket 2. bind:          将这个socket绑定在某个端口上(AF_INET) 3. recvfrom:  如果没有客户端发起请求,则会阻塞在这个函数里 4. close:        通信完成后关闭socket 客户端的步骤如下: 1. socket:      建立一个socket 2. sendto:     相服务器的某个端口

MakeFile文件是什么——内容、工作原理、作用、使用

MakeFile文件是什么?它里面包含什么内容.具有什么作用.怎么使用?下面就来具体说说. 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,makefile还是要懂.这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解 HTML的标识的含义.特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧

关于makefile的生成原理以及make相关命令的使用

一.生成configure过程中各文件之间的关系图 二.详细介绍 autoscan: 扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形. aclocal:根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏将configure.ac文件所需要的宏集中定义到文件 aclocal.m4中.aclocal是一个perl 脚本程序,它的定义是:"aclocal - create aclocal.m4

[Makefile] Makefile 及其工作原理

转自:https://www.linuxidc.com/Linux/2018-09/154071.htm 当你需要在一些源文件改变后运行或更新一个任务时,通常会用到 make 工具.make 工具需要读取一个 Makefile(或 makefile)文件,在该文件中定义了一系列需要执行的任务.你可以使用 make 来将源代码编译为可执行程序.大部分开源项目会使用 make 来实现最终的二进制文件的编译,然后使用 make install 命令来执行安装. 本文将通过一些基础和进阶的示例来展示 m