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. Delphi是座宝山,有待挖掘

    Delphi是座宝山,有待挖掘1. VCL源码是座宝山,把纷繁复杂的Windows编程封装到短短几个类里,不超过8000行代码,还额外包括许多其它的技巧2. RTL是座宝山,方便程序员使用底层运算,不 ...

  2. DB2_SQL_常用知识点&实践

    DB2_SQL_常用知识点&实践 一.删除表中的数据(delete或truncate) 1 truncate table T_USER immediate; 说明:Truncate是一个能够快 ...

  3. Linux系统管道命令符

    管道命令符“|”的作用是将前一个命令的标准输出作为后一个命令的标准输入,格式为“命令A | 命令B” 以下实例中,通过grep命令搜索关键字“/sbin/nologin”在/etc/passwd中查找 ...

  4. eclipse 中使用tomcat

    最近写了个商品搜索模块,要做成tomcat服务,以前只关注算法,从来没有使用过tomcat,这次上网上查了些资料还搞定(小公司真是锻炼人啊,以前我从来不考虑这些服务问题). 1.tomcat 环境的搭 ...

  5. linux 僵死进程

    僵死进程简而言之就是:子进程退出时,父进程并未对其发出的SIGCHILD信号进行适当处理,导致子进程停留在僵死状态等待其父进程为其收尸,这个状态下的子进程就是僵死进程. 在fork()/execve( ...

  6. 二维码工具类 - QrcodeUtils.java

    二维码工具类,提供多种生成二维码.解析二维码的方法,包括中间logo的二维码等方法. 源码如下:(点击下载 - QrcodeUtils.java.MatrixToImageWriterEx.java. ...

  7. 每天一个小算法(Shell sort5)

    希尔排序的关键在于步长的选取. 希尔排序的复杂度比较复杂,主要跟步长的选择有关,大概是 O(n logn^2),一般认为就是介于 O(n^2) 和 O(n logn) 之间.最好步长比较复杂,一般第一 ...

  8. BZOJ 1016 星球大战starwar(逆向-并查集)

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1015 题意:给出一个图.每次删掉一个点,求删掉之后连通块个数. 思路:正着做不好做,我们 ...

  9. 总结Selenium自动化测试方法(三)WebDriver定位元素方法

    三.WebDriver定位元素 推荐使用的webdriver是firefox,因为他的firebug更能可以帮助定位页面元素使用 # create a new Firefox session cls. ...

  10. ural1238. Folding(记忆化)

    1238 这算模拟加记忆化吗 找bug找了2个多小时..记忆化部分好想 就是字符串处理部分挫了 一个个复制模拟 各种修改查找 #include <iostream> #include< ...