У данной цели может быть только один рецепт. Если вы объявите пустой рецепт, то вы теперь указали на эту цель, и этот рецепт не будет искать по неявным правилам. Также, если вы попытаетесь дать той же цели другой рецепт, тогда make будет жаловаться.
«Без рецепта» означает, что вы добавляете дополнительные предпосылки к существующей цели или, если вы не перечислите предварительные условия, вы просто сообщаете, что это цель, которую вы заинтересовали. не переопределяя любой поиск рецепта, который сделает, будет делать в другом месте.
Это определенно неверно, что вы всегда должны использовать тот или иной: тот, который вы используете, зависит от того, чего вы пытаетесь достичь.
Я не знаю, что вы имеете в виду, когда говорите победить свое назначение без правил, поэтому я не могу ответить на это ... чего вы пытаетесь достичь, когда говорите «нет правила»?
В моем нынешнем понимании я сказал:) Если я не ошибаюсь, это на вашем сайте о http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/, что я видел другой пример. В .d-файлах вы добавили автоматически созданное предварительное условие в качестве новой цели с ** без рецепта ** (и «% .d» с ** пустым рецептом **). Но на самом деле, в этом конкретном случае файлы '.h' не имеют никакого неявного правила. Но в других случаях, возможно, это вызовет какое-то неявное правило, которое я могу предотвратить с явным пустым рецептом? –
Конечно, может быть. Я не уверен, что понимаю этот вопрос. – MadScientist