当前位置:  技术问答>linux和unix

帮忙解释下下面的makefile,谢谢

    来源: 互联网  发布时间:2017-04-03

    本文导语:  LIBS := libvtss_switch.so LIBO := vtss_switch.o vtss_switch_ext.o PROG := portmon portcfg vlancfg inject all: $(LIBS) $(PROG) $(LIBO): CFLAGS += -fPIC libvtss_switch.so: $(LIBO) $(CC) -shared -o $@ $^ $(PROG): %: %.c $(LIBS) $(CC) -Wall $(CFLAGS) $@.c ...

LIBS := libvtss_switch.so
LIBO := vtss_switch.o vtss_switch_ext.o
PROG := portmon portcfg vlancfg inject

all: $(LIBS) $(PROG)

$(LIBO): CFLAGS += -fPIC

libvtss_switch.so: $(LIBO)
$(CC) -shared -o $@ $^

$(PROG): %: %.c $(LIBS)
$(CC) -Wall $(CFLAGS) $@.c -o $@ $(LIBS)

这句是什么意思$(LIBO): CFLAGS += -fPIC, 为什么依赖文件是CFLAGS += -fPIC
$(CC) -shared -o 这样可以生成动态库?

$(CC) -Wall $(CFLAGS) $@.c -o $@ $(LIBS) 包含库的时候为什么不用 -l$(LIBS)

对makefile理解不是很深入,帮忙解释下,谢谢

|

$(CC) -shared -o 这样可以生成动态库?

是的

|
这句是什么意思$(LIBO): += -fPIC, 为什么依赖文件是CFLAGS += -fPIC

LIBO所依赖的编译选项CFLAGS 有-fPIC。
-fPIC
表示产生与位置无关的代码

|
The linker searches a standard list of directories for the library, which is actually a file named liblibrary.a.  The linker then uses this file as if it had been specified precisely by name.

所以用-l的话,就是-lvtss_switch
不是-llibvtss_switch.so

|
问题1, 见2楼。
问题2,你需要学习下Makefile的规则,$@是目标文件,这个不是链接动态库(不需要-l),而是要生成动态库.

    
 
 

您可能感兴趣的文章:

  • 初写MAKEFILE遇到问题,麻烦大家帮忙。
  • 新手求救,关于内核makefile,请帮忙!
  • 帮帮忙啊!关于用makefile编译?
  • 帮忙看makefile啊
  • 请大家帮忙看一下我的Makefile
  • makefile的出错,请帮忙看看
  • 帮忙看个makefile
  • 一个简单的MAKEFILE问题, 高手帮忙看一下.
  • 我刚开始学着写makefile文件,可是第一次就运行不过去,请大家帮忙看看
  • 一个看不懂的makefile 求帮忙
  • 帮忙解释一下makefile里的一个问题
  • 请大侠帮帮忙,我的makefile的内容在执行make的时候怎么不连续?
  • makefile 问题,望大侠们过来帮帮忙,小弟在线急等
  • 各位老兄帮忙了!写makefile进行编译程序时,找不到iostream map vector
  • 只有一行代码的Makefile文件,在执行make命令时出错。请帮忙看看 ,谢谢
  • 帮忙改一下Makefile
  • 帮忙看看makefile 中关于变量的条件赋值 的问题吧?不搞定我下周就死了
  • 一段makefile出错,请各位帮忙看看问题出在哪!
  • Makefile移植问题!请大家帮忙看看!
  • 【帮忙测试】——我的一个自动生成Makefile文件
  • ++++请帮忙提供学习LINUX(red hat 8)的好书,网络管理方面的,谢谢!!++++
  • 要实现下面的功能,谁有好的建议或经验?快帮忙看一下!
  • sh 里面ftp上传文件的代码。大侠帮忙看看下面的代码有什么问题
  • 各位师兄师姐再帮忙看看为什么下面的代码运行时出错?
  • 谁能根据下面的英文说明帮忙写一个算法?
  • 我是JAVA的一位初学者请各位师兄师姐帮忙看看下面的代码为什么会提示出错?
  • 我在装gcc时出现下面的问题,不知道如何解决,高手帮忙啊
  • 哪位老大帮忙看看下面的代码什么问题???
  • 找一下制作启动画面的方法?各位大侠帮忙看看!
  • win2k中putty到Vmware后,如何启动gnome-session,出现下面的错误,请帮忙解决,谢谢
  • 哪位大虾能帮忙将下面的sh程序写下注释啊,谢谢!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高手帮忙解释
  • 帮忙解释一下make的用法!
  • 不太理解protected的意思,请大虾帮忙解释一下。
  • 哈哈,新手上路,大家帮忙解释一下.
  • 那位大虾帮忙解释一下,为什么调用unix命令失败
  • 脚本接触的太少,能帮忙解释一下,这句话是干什么的吗?
  • 请帮忙解释一条shell语句
  • 帮忙解释一条shell命令
  • 帮忙解释下这两个减号的含义
  • 请帮忙解释以下脚本 我很着急 在线等着 谢谢
  • 请帮忙解释两个专业概念!
  • 请高手帮忙解释一下,insmod ./$module.ko || exit 1中的“||”是什么意思啊,多谢!
  • 请帮忙解释下一条shell语句
  • 帮忙解释一下一个AWK语句,谢谢
  • 一个关于shell的问题,麻烦帮忙解释一下
  • 请问这两个小问题谁能帮忙给解释一下。
  • 关于"symbol lookup error"问题的诡异现象,高手帮忙解释解释
  • 帮忙解释一下,下面几句make文件的意思吧,关键是@for是怎么回事
  • 这段话不太明白,谁能帮忙解释一下,我哪理解的不对?
  • 请大家帮忙解释一下几个关于JSP的概念
  • 努力努力再努力,帮忙帮忙来帮忙!
  • Makefile移植问题!请大家帮忙看看! iis7站长之家
  • 小问题,你一定能够帮忙!——菜鸟请求帮忙!!
  • 帮忙帮忙如何设置变量pathclass
  • 没人帮忙吗?我想用JAVA编一个像WINDOW中的画图软件,现在出现了如下问题,请各位老哥老姐帮帮忙
  • 帮帮忙!SCO OpenServer 5.0.5 的root用户口令丢了,怎么找回来啊,帮帮忙!!!!!!
  • 我用smartupload组件遇到问题了,请帮忙!!
  • webmail问题,请高手帮忙!!!谁会使用IMP 3.0????!!!
  • 脚本问题,帮忙
  • 求教求教,shell问题...各位大哥,帮忙下
  • 关于程序移植,请知道的帮忙,分会加的


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,