1,源文件依赖关系

                defs.h        command.h        buffer.h
main.cpp *
util.cpp *
kde.cpp * *
command.cpp * *
display.cpp * *
insert.cpp * *
search.cpp * *
files.cpp * * *

2, 源文件

因为这里只是想做一下简单测试,所以很多源文件的内容都是空的。

[root@localhost -makefile]#head *.h
==> buffer.h <==
#pragma once
#define BUFFER "BUFFER" ==> command.h <==
#pragma once
#define COMMAND "COMMAND" ==> defs.h <==
#pragma once
#define DEFS "DEFS"
[root@localhost -makefile]#head *.cpp
==> command.cpp <== ==> display.cpp <== ==> files.cpp <== ==> insert.cpp <== ==> kde.cpp <== ==> main.cpp <==
#include <stdio.h> int main()
{
printf("Hello World\n");
return ;
} ==> search.cpp <== ==> utils.cpp <==
[root@localhost -makefile]#

3,makefile 内容(最最原始的)

[root@localhost -makefile]#cat makefile
edit : main.o kde.o command.o display.o insert.o search.o utils.o files.o
g++ -o edit main.o kde.o command.o display.o insert.o search.o utils.o files.o main.o : main.cpp defs.h
g++ -c main.cpp
kde.o : kde.cpp defs.h command.h
g++ -c kde.cpp
command.o : command.cpp defs.h command.h
g++ -c command.cpp
display.o : display.cpp defs.h buffer.h
g++ -c display.cpp
insert.o : insert.cpp defs.h buffer.h
g++ -c insert.cpp
search.o : search.cpp defs.h buffer.h
g++ -c search.cpp
files.o : files.cpp defs.h buffer.h command.h
g++ -c files.cpp
utils.o : utils.cpp defs.h
g++ -c utils.cpp
clean :
rm edit main.o kde.o command.o display.o insert.o search.o files.o utils.o -rf

4,执行make

[root@localhost -makefile]#make clean
rm edit main.o kde.o command.o display.o insert.o search.o files.o utils.o -rf

5,运行结果

[root@localhost -makefile]#./edit
Hello World

6,执行清理

[root@localhost -makefile]#make clean
rm edit main.o kde.o command.o display.o insert.o search.o files.o utils.o -rf

makefile实例(2)-多个文件实例的更多相关文章

  1. linux makefile 编译多个.c文件 实例

    本例由 main.c  add.c sub.c add_sub.h 四个文件组成:编写Makefile执行程序 /******************************************* ...

  2. ORACLE配置tnsnames.ora文件实例

    ORACLE配置tnsnames.ora文件实例客户机为了和服务器连接,必须先和服务器上的监听进程联络.ORACLE通过tnsnames.ora文件中的连接描述符来说明连接信息.一般tnsnames. ...

  3. Java学习-011-创建文件实例及源代码

    此文源码主要为应用 Java 创建文件的源代码.若有不足之处,敬请大神指正,不胜感激! 创建文件的源代码如下所示: /** * @function 文件操作:创建文件.若文件不存在,则直接创建文件:若 ...

  4. PHP+ajaxForm异步带进度条上传文件实例

    在使用ajaxForm方法之前,首先需要安装form.js的插件,网上有: 一.首先说用法,ajaxForm可以接收0或1个参数,该参数可以是一个变量.一个对象或回调函数,这个对象主要有以下参数: v ...

  5. C#操作VFP的dbf数据库文件实例

    C#操作VFP的dbf数据库文件实例 新一篇: js获取网站跟路径 实例中分别使用Oledb和Odbc操作vfp数据库dbf文件,操作包括:读取,增删改. 已测试可直接使用,使用方法:下面代码分两个部 ...

  6. TensorFlow------读取CSV文件实例

    TensorFlow之读取CSV文件实例: import tensorflow as tf import os def csvread(filelist): ''' 读取CSV文件 :param fi ...

  7. C 语言实例 - 将字符串写入文件

    C 语言实例 - 将字符串写入文件 C 语言实例 C 语言实例 将字符串写入文件. 实例 #include <stdio.h> #include <stdlib.h> /* e ...

  8. HTTP的上传文件实例分析

    这个是http文件传输的一种格式,当时不知道这种格式,废弃. HTTP的上传文件实例分析 由于论坛不支持Word写文章发帖. 首先就是附件发送怎么搞,这个必须解决.论坛是php的.我用Chrome类浏 ...

  9. 原生PHP网页导出和导入excel文件实例

    原生PHP实现的网页导出和导入excel文件实例,包括上传也是用的原生.还可在exportExcel方法里设置字体等表格样式. 导出和导入表单代码: <p style="margin: ...

  10. jQuery ajax上传文件实例

    jQuery ajax上传文件实例 <form id="form" enctype="multipart/form-data"><input ...

随机推荐

  1. Java学习笔记之:Java Map集合

    一.介绍 通常来说,Map是一个由键值对组成的数据结构,且在集合中每个键是唯一的. 二.笔记 /** * Map:接口. 不是collection的子类 key -value 键值对 key唯一不能重 ...

  2. keil MDK中如何生成*.bin格式的文件

    在Realview MDK的集成开发环境中,默认情况下可以生成*.axf格式的调试文件和*.hex格式的可执行文件.虽然这两个格式的文件非常有利于ULINK2仿真器的下载和调试,但是ADS的用户更习惯 ...

  3. C++:构造函数默认的参数声明

    C++函数的默认参数指的是在函数声明或者定义时给形式参数指定默认值,从而在调用参数时可以少写参数,少掉的参数用默认值代替.LZ的Display()函数的代码看起来似乎是可以有s2和s3两个默认参数,那 ...

  4. iOS:核心动画之转场动画CATransition

    转场动画——CATransition CATransition是CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果.iOS比Mac OS X的转场动画效果少一点 U ...

  5. 大众点评开源分布式监控平台 CAT 深度剖析

    一.CAT介绍 CAT系统原型和理念来源于eBay的CAL的系统,CAT系统第一代设计者吴其敏在eBay工作长达十几年,对CAL系统有深刻的理解.CAT不仅增强了CAL系统核心模型,还添加了更丰富的报 ...

  6. 关于Linux操作系统下文件特殊权限的解释

    文件特殊权限的解释. -rwsr-xr-x = 4755 文件执行的时候,会以owner的身份来执行,就是setuid . 例如:-rwxr-xr-t 1 root wheel 0 7 9 18:24 ...

  7. 【公司要求】- RPC学习(一)

    HADOOP-IPC(这里说的是1.0.4版本) 是轻量级RPC,在hadoop中主要用于2方面 1.TaskTracker和JobTracker 通讯. 2.NameNode和DataNode通讯. ...

  8. 存根类STUB

    当我们创建一个指定各种方法集合的接口时,我们可以考虑使用"存根”STUB,“存根”就是用空方法体实现该接口中所有方法的类,这样我们就可以通过继承该“存根”创建一个实现该接口的类,这样一来,该 ...

  9. weblogic11g 节点管理器 nodemanager

    Weblogic 节点管理器  nodemanager 一.Weblogic  规划 : Server名称 端口 ip 备注 xyyadmin 7001 10.10.54.74 管理server ap ...

  10. linux scp命令参数及用法详解--linux远程复制拷贝命令使用实例【转】

    转自:http://blog.csdn.net/jiangkai_nju/article/details/7338177 一般情况,本地网络跟远程网络进行数据交抱,或者数据迁移,常用的有三种方法,一是 ...