Зависимости Makefile с регулярным выражением - PullRequest
0 голосов
/ 24 августа 2010

У меня есть список имен файлов RPM (например, «package-1.0»), которые будут зависимостями цели make, но некоторые из них имеют архитектуру x86_64, а другие - i386.что мне сделать, чтобы соответствовать им?Мне нужно что-то вроде:

target: $(addsuffix .[i386|x86_64].rpm,$(shell cat packages_file))

, но это не сработает.Я мог бы использовать:

target: $(addsuffix .*.rpm,$(shell cat packages_file))

, но это не будет соответствовать другой цели в Makefile (package-1.0. *. Rpm будет существовать редко, это вызовет другую цель, которая фактически сгенерирует этот файл, но с* это не работает).

какие-либо предложения?

РЕДАКТИРОВАТЬ:

делая это более понятным: я хочу, чтобы цель ниже была выполнена(отобразите «yay!»), если существует один из файлов x.txt, y.txt или z.txt.

target: [x|y|z].txt
    @echo yay!

1 Ответ

0 голосов
/ 25 августа 2010

Обработка регулярных выражений занимает первое место в моем списке пожеланий для Make.Вот кладжа:

RPM = $(wildcard x.txt y.txt z.txt)

ifeq ($(RPM),)
# What do you want to do if these files don't exist?
else
target: $(RPM)
    @echo yay! (I see $^)
endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...