Makefile第四讲:include 引用其它makefile文件

main.cpp

#include "classes/fun.h"
int main() {
    Test::display("Hello makefile");
    return 0;
}

classes/fun.h

#include <iostream>
using namespace std;

class Test {
public:
    void static display(const char *);
};

classes/fun.cpp

#include "fun.h"
void Test::display(const char *str) {
    cout <<str <<endl;
}

classes/makefile

test.o:classes/fun.cpp
    g++ -c classes/fun.cpp -o test.o

makefile

test: test.o main.o
    g++ test.o main.o -o test

main.o:main.cpp
    g++ -c main.cpp -o main.o

include classes/makefile

clean:
    rm main.o test.o test

include classes/makefile中的include关键字就是引用其它的makefile,值得注意的是,在被引用的makefile文件中的代码,它的路径是相对于引用的makefile文件的路径(注意到test.o:classes/fun.cpp),思考一下:我可以把include classes/makefile这句写在开头吗?答案当然是不能,至于为什么,在Makefile第一讲:一个简单的Makefile

时间: 2024-08-01 22:00:59

Makefile第四讲:include 引用其它makefile文件的相关文章

跟我一起写 Makefile(四)

书写规则---- 规则包含两个部分,一个是依赖关系,一个是生成目标的方法. 在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么.一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终的目标.如果第一条规则中的目标有很多个,那么,第一个目标会成为最终的目标.make所完成的也就是这个目标. 好了,还是让我们来看一看如何书写规则. 一.规则举例

【 MAKEFILE 编程基础之四】详解MAKEFILE 函数的语法与使用!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/gcc-makefile/771.html 使用函数: 在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能.make所支持的函数也不算很多,不过已经足够我们的操作了.函数调用后,函数的返回值可以当做变量来使用. 一.函数的调用语法 函数调用,很像变量的使用,也是以"$"来标识的,其语法如下: $

【 MAKEFILE 编程基础之一】详细介绍MAKEFILE概念和其机制用途;

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/gcc-makefile/766.html   概述: 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂.这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HT

【 MAKEFILE 编程基础之三】详解 MAKEFILE 变量的定义规则使用!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/gcc-makefile/770.html 使用变量: 在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方.其与C/C++所不同的是,你可以在Makefile中改变其值.在Makefile中,变量可以使用在"目标","依

BrnShop开源网上商城第四讲:自定义插件

原文:BrnShop开源网上商城第四讲:自定义插件 重要通知:BrnShop企业版NOSQL设计(基于Redis)已经开源!源码内置于最新版的BrnShop中,感兴趣的园友可以去下载来看看.官网地址:www.brnshop.com. 好了现在进入今天的正题:自定义插件.上一讲中我们已经阐述了BrnShop插件的工作机制,现在我们详细介绍下如何自定义插件.首先BrnShop的插件从功能上分为三类,分别是: 开放授权插件(OAuth) 支付插件 配送插件 对应的接口文件(注:位于BrnShop.Co

面向对象程序设计上机练习四(变量引用)

面向对象程序设计上机练习四(变量引用) Time Limit: 1000MS Memory Limit: 65536KB Problem Description 将变量的引用作为函数形参,实现2个int型数据交换. Input 输入2个int型整数. Output 输出2个整数交换前后的值. Example Input 88 66 Example Output 88 66 66 88 Code realization #include <iostream> using namespace st

《ArcGIS Engine+C#实例开发教程》第四讲 状态栏信息的添加与实现

原文:<ArcGIS Engine+C#实例开发教程>第四讲 状态栏信息的添加与实现 摘要:在上一讲中,我们完成了 MapControl 和PageLayoutControl两种视图的同步工作,本讲我们将完成状态栏信息的添加与实现.应用程序的状态栏一般用来显示程序的当前状态,当前所使用的工具. GIS应用程序一般也在状态栏显示当前光标的坐标.比例尺等信息.学习完本讲内容,您将学会状态栏编程的基本方法,并且能够在我们的程序的状态栏中添加且显示以下信息:当前所用工具信息.当前比例尺.当前坐标.  

LFCS 系列第四讲:对存储设备分区、格式化文件系统和配置交换分区

LFCS 系列第四讲:对存储设备分区.格式化文件系统和配置交换分区 去年八月份,Linux 基金会发起了 LFCS(Linux 基金会认证系统管理员Linux Foundation Certified Sysadmin)认证,给所有系统管理员一个展现自己的机会.通过基础考试后,他们可以胜任在 Linux 上的整体运维工作:包括系统支持.一流水平的诊断和监控以及在必要之时向其他支持团队提交帮助请求等. LFCS 系列第四讲 需要注意的是,Linux 基金会认证是非常严格的,通过与否完全要看个人能力

Javascript基础与面向对象基础~第四讲 Javascript中的类对象

今天来说JS中如何实现类(class),事实上本应该昨天晚上写的,可我失言了,在些说一声"抱歉"!JS中的类是JS面向对象的基础,也是我最拿手的东西,你写的代码能否提高一个层次,一般是从这点上看出来的. 占占对类的定义: 类是对现实中的事物的抽象,一个类一般由属性和方法构成,属性是一些固定的信息,而方法是类的某种行为,类往往用来抽象一些复杂的对象,类与类这间可以进行继承,一般通过JS的function实现,JS中的类对象是实现JS面向对象的基础. 占占对结构体的定义: 一个结构体也是对