2. 阅读Makefile文件:all : libmy
2. 阅读Makefile文件:
all : libmys.so
SRC = f1.c f2.c f3.c
TGT = $(SRC:.c=.o)
%.o : %.c
cc -c $?
libmys.so : $(TGT)
cc -shared -o $@ $(TGT)
clean:
rm -f $(TGT)
回答以下问题:
(1) 此Makefile文件的主要功能是什么?
(2) 此Makefile文件包含多少个规则?它们分别是什么?
(3) 使用此Makefile文件可以生成目标文件f2.o吗?为什么?
答案
(1)生成共享库文件libmys.so;
(2) 4个。分别是:all,%.o,libmys.so和clean。
(3) 可以。因为规则%.o : %.c已经定义了*.o与*.c的关系和生成方法。