makefile实例(2)-多个文件实例

1,源文件依赖关系

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

2, 源文件

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

[[email protected] 1-makefile]#head *.h
==> buffer.h <==
#pragma once
#define BUFFER "BUFFER"

==> command.h <==
#pragma once
#define  COMMAND "COMMAND"

==> defs.h <==
#pragma once
#define DEFS "DEFS"
[[email protected] 1-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 0;
}

==> search.cpp <==

==> utils.cpp <==
[[email protected] 1-makefile]#

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

[[email protected] 1-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

[[email protected] 1-makefile]#make clean
rm edit main.o kde.o command.o display.o insert.o search.o files.o utils.o -rf

5,运行结果

[[email protected] 1-makefile]#./edit
Hello World

6,执行清理

[[email protected] 1-makefile]#make clean
rm edit main.o kde.o command.o display.o insert.o search.o files.o utils.o -rf
时间: 11-25

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

php学习之道:php中soap的使用实例以及生成WSDL文件,提供自动生成WSDL文件的类库——SoapDiscovery.class.php类

1. web service普及: Webservice soap wsdl区别之个人见解 Web Service实现业务诉求:  Web Service是真正"办事"的那个,提供一种办事接口的统称. WSDL提供"能办的事的文档说明":  对要提供的服务的一种描述格式.我想帮你的忙,但是我要告诉你我都能干什么,以及干这些事情需要的参数类型. SOAP提供"请求"的规范:  向服务接口传递请求的格式,包括方法和参数等.你想让人家办事,总得告诉人家

HTTP的上传文件实例分析

HTTP的上传文件实例分析 由于论坛不支持Word写文章发帖. 首先就是附件发送怎么搞,这个必须解决.论坛是php的.我用Chrome类浏览器跟踪请求,但是上传的文件流怎么发过去没找到,估计流可能多或者什么的不好显示,只知道发送了文件名字.需要实际了解下post文件,不能只会后台或界面不了解前台数据处理和协议怎么传送数据. 图中:有些相关文章 HTTP请求中的form data和request payload的区别 AJAX POST请求中参数以form data和request payload

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

此文源码主要为应用 Java 创建文件的源代码.若有不足之处,敬请大神指正,不胜感激! 创建文件的源代码如下所示: 1 /** 2 * @function 文件操作:创建文件.若文件不存在,则直接创建文件:若文件存在且未被占用,则删除文件,并重新创建文件 3 * 4 * @author Aaron.ffp 5 * @version V1.0.0: autoUISelenium main.java.aaron.java.tools FileUtils.java createFile, 2015-2

ORACLE配置tnsnames.ora文件实例

ORACLE配置tnsnames.ora文件实例客户机为了和服务器连接,必须先和服务器上的监听进程联络.ORACLE通过tnsnames.ora文件中的连接描述符来说明连接信息.一般tnsnames.ora 是建立在客户机上的.如果是客户机/服务器结构,整个网络上只有一台机器安装了ORACLE数据库服务器,那么只需在每个要访问ORACLE服务器的客户机上定义该文件,在服务器上无需定义.但是,如果网络上有多台机器均安装了ORACLE数据库服务器,并且服务器之间有数据共享的要求,那么在每台服务器上都

利用mybatis-generator自动生成表实例类和映射文件

我们经常用到mybatis来进行程序代码级别对数据库的操作,然而需要编写大量的表实例类与映射文件,现在使用工具mybatis-generator就可实现上述文件的自动生成,下面简要介绍一下其使用方法. 1.创建工程 为了下载jar包比较方便,本人创建一个名为mybatis的maven工程来应用mybatis-generator. 2.修改pom.xml文件,下载依赖的jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" x

SAX解析XML文件实例代码

import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.s

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

在使用ajaxForm方法之前,首先需要安装form.js的插件,网上有: 一.首先说用法,ajaxForm可以接收0或1个参数,该参数可以是一个变量.一个对象或回调函数,这个对象主要有以下参数: var object= {                     url:url, //form提交数据的地址   type:type,   //form提交的方式(method:post/get)   target:target, //服务器返回的响应数据显示的元素(Id)号           

Java开发之I/O读取文件实例详解

在java开发或者android开发中,读取文件是不可避免的,以下对java开发中读取文件做了归纳和详解: 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. */ public static void readFileByBytes(String fileName) { File file = new File(fileN

《PNG文件格式》(三)PNG文件实例剖析

欢迎查看系列博客: <PNG文件格式>(一)PNG文件概述     <PNG文件格式>(二)PNG文件格式分析 <PNG文件格式>(三)PNG文件实例剖析(本篇) 摘自: 中文PNG格式说明:dev.gameres.com PNG文件格式白皮书:www.w3.org LZ77算法的JAVA实现:jazzlib.sourceforge.net LZ77算法的JAVA实现,包括J2ME版本:www.jcraft.com ===========================

C#操作XML文件实例汇总

针对XML文件的操作是C#程序设计中非常常见的功能.本文即以实例展示了C#操作XML文件的几个常见的示例.具体如下: 1.返回节点下标 public static XmlDocument getDoc(String path)//加载xml文档 { XmlDocument doc = new XmlDocument(); doc.Load(path); return doc; } /// <summary> /// 返回找到的节点下标 /// </summary> /// <