January 11th, 2020

2018

Make Love

Одной из классических программ мира Unix/Linux является программа управления сложными проектами - make ("сделать"). При запуске ей указывают имя цели, которую надо достичь, а в специальном файле Makefile пишут последовательность команд, которые надо для этого выполнить.

В старой версии make было особое сообщение, которое выдавалось если в Makefile отсутствовали правила для достижения указанной цели. Сообщение выглядело так: make: don't know how to make %s. Stop., а вместо %s выдавалось имя цели.

Дело было в начале 1970-х в Калифорнии и многие программисты были хипарями. Очень скоро кто-то догадался набрать команду:

make love
и получить ответ
make: don't know how to make love. Stop.

После этого среди молодых программистов стало хорошим тоном вставлять в Makefile особое правило:
love:
    echo "not war!"

После чего программа make становилась пацифисткой:

make love
not war!

P.S.
В современном Linux сообщение пишется совсем не смешно: make: *** No rule to make target `love'. Stop., а зря.