zoukankan      html  css  js  c++  java
  • 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, 源文件

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

    [root@localhost 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"
    [root@localhost 1-makefile]#head *.cpp
    ==> command.cpp <==
    
    ==> display.cpp <==
    
    ==> files.cpp <==
    
    ==> insert.cpp <==
    
    ==> kde.cpp <==
    
    ==> main.cpp <==
    #include <stdio.h>
    
    int main()
    {
        printf("Hello World
    ");
        return 0;
    }
    
    ==> search.cpp <==
    
    ==> utils.cpp <==
    [root@localhost 1-makefile]#

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

    [root@localhost 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

    [root@localhost 1-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 1-makefile]#./edit 
    Hello World

    6,执行清理

    [root@localhost 1-makefile]#make clean
    rm edit main.o kde.o command.o display.o insert.o search.o files.o utils.o -rf
  • 相关阅读:
    人人开源框架学习笔记
    Gitea安装笔记
    使用sdk方式获取微信的用户信息
    重写java类的equals()和hashCode方法
    Mysql 实现分页功能
    位运算应用和解析
    java代码POST方式请求SOAP
    java实现文件拷贝
    动态创建线程(多线程)处理大量数据
    ActiveMQ监听者接收信息
  • 原文地址:https://www.cnblogs.com/jacklikedogs/p/4125361.html
Copyright © 2011-2022 走看看