объяснений Это фрагмент примера Makefile кода статического правила:Makefile синтаксис статического правила
objects = foo.o bar.o
all: $(objects)
$(objects): %.o: %.c
$(CC) -c $(CFLAGS) $< -o [email protected]
что делает это означает, как:
target : %.o : %.c
ли это означает, что цель:% .o и% .o:% .c поясняют, что вся зависимость цели будет сгенерирована с помощью правила% .o, и рецепт применяется к этому, и все зависимости% .o будут сгенерированы по правилу% .c, а рецепт - применяется?
Пожалуйста, кто-то уточнить его:
1.Что является статическим правилом в Makefile объяснить синтаксис?
2. Рецепт применяется как к правилам% .o и% .c?
3.Is это конкатенация цели: $ (все) .o и $ (все) .o: $ (все) .c где все содержит все имена файлов без расширения?
Сэр !!!!!! Еще одно уточнение похоже на то, что я пишу: ** run: $ (objects):% .o:% .c **, тогда рецепт будет применяться и для ** run **. Как бы это сделало исполняемый файл ** **. –
Вы не можете написать 'run: $ (objects):% .o:% .c'. Это слишком много двоеточий. Статическое правило шаблона состоит из трех частей, разделенных двоеточиями: список имен целей, первый шаблон, который должен соответствовать каждому из имен целей, и необязательный второй шаблон, который подразумевает предварительное условие. Я не совсем понимаю ваш вопрос. – MadScientist