Раздражающее сообщение "ничего не сделать для установки" - PullRequest
1 голос
/ 04 января 2012

Я не могу понять, почему make дает мне это.Я запускаю «make clean; make», затем «make install» и получаю «make: Ничего не поделаешь для` install '».сообщение.Вот моя цель установки:

$(phony install): $(OBJFILES)
    @$(shell cp $(OBJFILES) ../../)

Я изменил ее с использования «.PHONY: install» на «$ (phony install)», потому что я видел в сети кого-то, кто сказал, что это также способ сделать обманцели, и я был в тупике.Если честно, я довольно новичок в написании своих собственных Makefile, но это кажется достаточно простым.Я уверен, что упускаю что-то очевидное, и через секунду я буду чувствовать себя тупым.: P

Хорошо, странная вещь.Кажется, что make выполняет цель установки, но все еще говорит «ничего не поделаешь», это странно.Кроме того, если я делаю "make clean; make install", он просто отлично устанавливается и не выдает мне подобных сообщений.Таким образом, только когда объектные файлы нуждаются в перестройке, «установка» видит, что она должна быть запущена.Это не имеет смысла.Я должен иметь возможность запустить "make; make install"!

1 Ответ

1 голос
/ 04 января 2012

Вам не нужно использовать $(shell ...) внутри рецепта, вместо этого напишите команду как есть. Кроме того, я никогда не слышал о $(phony ...), и думаю, что он недействителен (попробуйте запустить Make с опцией --warn-undefined-variables).

.PHONY: install
install: $(OBJFILES)
    @cp $^ ../../
...