帮忙解释下下面的makefile,谢谢
发布网友
发布时间:2022-07-16 08:55
我来回答
共1个回答
热心网友
时间:2024-12-05 12:23
这句是什么意思$(LIBO): CFLAGS += -fPIC, 为什么依赖文件是CFLAGS += -fPIC
不是跟在目标后面的就一定是依赖文件,这里是表示目标变量。就是在执行$(LIBO)目标时,把CFLAGS这个变量增加赋值 -fPIC
$(CC) -shared -o 这样可以生成动态库?
可以的,这个是标准语法,详见man gcc
$(CC) -Wall $(CFLAGS) $@.c -o $@ $(LIBS) 包含库的时候为什么不用 -l$(LIBS)
这种做法不规范,直接把库文件当做目标文件链接,但是也可以这么干。正规的使用-l的话,那也不是-l$(LIBS),应该是-lvtss_switch,并且要指定库路径-L./,动态库的引用命名是有规范的,前面的lib和后缀so都是要省略的。
你的疑问不仅仅是makefile语法,还涉及到编译和链接的语法,好好去看看英文文档吧。