2016-03-25 2 views
0

Мне нужно выразить правило шаблона, где зависимости для цели определены в имени переменной с шаблоном. Как я могу это выразить?Условные переменные для выражения зависимостей

myvar_image1:=a.o b.o c.o d.o 
myvar_image2:=f.o g.o h.o i.o j.o 

myimage-%: $(myvar_%) 
    ld -o [email protected] $(myvar_$*) 

Есть ли способ достичь этого?

+1

Почему вы не можете просто выражать зависимости обычно? То есть 'myimage-image_1: a.o b.o c.o d.o' и т. д. – user657267

ответ

0

Как я понимаю, одно решение заключается в следующем:

# For testing: 
# touch {a..e}.c 
# make all 
Sources = a.c b.c c.c d.c e.c 
# Now $(Objects) = a.o b.o ... 
Objects = $(Sources:.c=.o) 

%.o: %.c 
    @echo "Say hi from $< to [email protected]" 

all: $(Objects) 
    @echo Say hi $^ 

После того, как у вас есть источники, Makefile может создать правильное расширение объекта. Позже позвольте сделать, чтобы создать каждый объект с стилем шаблона: %.o: %.c

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