我有一个包含一些子文件夹\子单元的源代码树。每个子文件夹中都有 makefile 。目标文件将由这些子文件夹makefile 创建,目标文件将被放在顶层的 obj文件夹中。
顶层的 makefile 会从 obj文件夹中的所有可用对象文件生成 .a文件。
我想通过让顶级 makefile 自动找出该obj文件夹中的所有目标文件来最小化添加新cpp文件时的更改。
我尝试过以下但没有运气:
OBJ_LIST=$(wildcard ${OBJ_DIR}/*.o)
任何人都可以帮助我?
答案 0 :(得分:0)
这是我用来生成* .a文件的Makefile
NAME = zzz.a
SRC = xxx.c \
yyy.c
OBJ = $(SRC:.c=.o)
CC = gcc
CFLAGS = -W -Wall -Wextra -O2
RM = rm -f
all: $(NAME)
$(NAME): $(OBJ)
ar rc $(NAME) $(OBJ)
ranlib $(NAME)
clean:
$(RM) $(OBJ)
fclean:
$(RM) $(OBJ) $(NAME)
re: fclean all
.PHONY: all clean fclean re
$(SRC:.c = .o)用于操作项目中包含的所有* .o文件