2014-10-21 3 views
2

У меня есть исходное дерево с несколькими поддонами .. Существует makefile в каждой вложенной папке. Объектные файлы создадут эти подкаталог makefile, и объектные файлы будут помещены в папку obj на верхнем уровне.Как получить все файлы .o для ar

Makefile на верхнем уровне будет генерировать .a файл из всех доступных объектных файлов в этой папке OBJ.

Я имею в виду, чтобы свести к минимуму изменения, когда новые CPP файлы добавляют пусть верхнем уровне Makefileавтоматически фигура из всех объектных файлов в этой папке OBJ.

Я попробовал следующее, но не повезло:

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

Кто-нибудь может мне помочь?

ответ

0

Вот Makefile я использую для создания * .a файл

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 файлы, которые содержатся в проекте

Смежные вопросы