• 一个模块包含多目录和源文件,Makefile写法


    假设这样一种情况,一个内核模块有多个目录多个源文件组成,编译成模块是Makefile如何编写呢?

    我这边测试通过的一种方法介绍一下。假设该模块的组成方式如下:

    module--> a.c
               |
               -->b/
                    |
                    -->b1.c
                    -->b2.c


    也就是该模块源代码由a.c和目录b中的源文件b1.c和b2.c组成。

    如果编译这个模块的话,Makefile关键部分如下:

         obj-m += tesmodule.o
         tesmodule-y += a.o
         tesmodule-y += b/b1.o
         tesmodule-y += b/b2.o


    这样的组织方式可以将所有源文件编译到testmodule.o中,并生成模块文件。但是如果目录比较多,而且可能还有多级子目录的话呢,这种方式就有局限性了,不可能一一类出所有文件名的。

    记得内核源码的Makefile中是可以指定目录,并进入目录编译的,诸如下面这种形式:

         obj-m += tesmodule.o
         testmodule-objs := a.o b/


    但是Makefile回报错误,说b不是文件,而是目录。

    各位朋友帮忙分析一下

  • 相关阅读:
    JavaScript model案例
    JavaScript 正反选示例
    JavaScript onchange
    JavaScript mouse事件
    JavaScript history属性
    JavaScript event事件
    JavaScript class css样式 DOM Tree
    JavaScript 增加和删除标签
    自动生成代理类
    Microsoft NLayerApp案例理论与实践–DDD、分布式DDD及其分层
  • 原文地址:https://www.cnblogs.com/skyofbitbit/p/3680790.html
Copyright © 2020-2023  润新知