【发布时间】:2021-04-09 18:56:37
【问题描述】:
根据共享库名称,我想自动确定要包含在 make 配方中的 SRCS。
SHARED_LIBS := libc.so \
libd.so
libc.so,SRCS := a.o \
b.o
libc.so,DEPS := -lc
libd.so,SRCS := e.o \
f.o
libd.so,DEPS := -lc
all: $(SHARED_LIBS)
.PHONY: all
%.o: %.c
$(CC) -c $^ -o $@
%.so: $($*.so,SRCS)
$(CC) $(CFLAGS) $(SFLAGS) -o $@ $^ $($*,DEPS)
【问题讨论】:
-
你能说得更具体一点吗?该makefile与问题有何关系?该 makefile 的预期结果是什么?
-
您似乎有一个特定的库命名约定;如果您告诉我们它是什么,也许我们可以为您提供建议。
-
基本上你在哪里看到 %.so 目前我需要使用 $(libc.so,SRCS) 或 $(libd.so,SRCS) 但我希望它能够根据共享自动抓取那些库名称。