Имя файла совпадает с именем цели Makefile

Я искал другие ответы, но они не соответствуют моему вопросу точно..

У меня есть цель, а также файл с тем же именем (в одной из папок, добавленных в VPATH). Вот так..

rajesh : hello.elf
    ld <some Options> hello1.o hello2.o rajesh.o

%.o : %.c
    cc <some options> -o $@ $<

Он хорошо строит файл.elf. Но затем он также пытается снова создать целевой файл "rajesh", и он принимает некоторое внутреннее правило и пытается создать файл "rajesh" из файла "rajesh.c". И терпит неудачу. Несмотря на то, что он уже создал правильную цель, немного неприятно видеть сообщение об ошибке. Любые советы?

Благодарю вас

1 ответ

Ваш Makefile немного странный. Есть ли hello.elf существовать, прежде чем делать? Если нет, может быть, вам нужно правило, подобное:

hello.elf: dep1 dep2
    cmd <option> dep1 dep2 ...

Если вам нужна независимая от файла цель, просто используйте .PHONY,

.PHONY: rajesh

Затем make не будет пытаться проверить файл с именем rajesh,

Другие вопросы по тегам