如何通常获取ar的所有.o文件

时间:2014-10-21 21:37:34

标签: c++ makefile

我有一个包含一些子文件夹\子单元的源代码树。每个子文件夹中都有 makefile 。目标文件将由这些子文件夹makefile 创建,目标文件将被放在顶层的 obj文件夹中。

顶层的 makefile 会从 obj文件夹中的所有可用对象文件生成 .a文件

我想通过让顶级 makefile 自动找出该obj文件夹中的所有目标文件来最小化添加新cpp文件时的更改。

我尝试过以下但没有运气:

OBJ_LIST=$(wildcard ${OBJ_DIR}/*.o)

任何人都可以帮助我?

1 个答案:

答案 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文件