Вы действительно не хотите или не нуждаетесь в Makefile
для этого. На Unix любой текстовый файл, содержащий код на интерпретируемом языке, может быть скриптом. Шебанг должен быть самой первой строкой самого файла скрипта, а затем файл должен быть выполнен исполняемым с chmod
, как вы уже знаете.
Дальнейшее редактирование файла обычно сохраняет эти черты ( очевидно, не связывайтесь со строкой shebang во время редактирования), поэтому их нужно добавлять только один раз.
Распространенная ошибка новичка - редактирование файла на Windows, что может сохранить файл в неправильной кодировке.
В любом случае, вот простой Makefile
, который удовлетворяет вашим требованиям:
python_program: python_program.py
python ./$< >$@
chmod +x $@
Вот тот, который явно добавляет шебанг в новый файл:
python_program: python_program.py
printf '#!/usr/bin/env python\n' >$@
python ./$< >>$@
chmod +x $@
Оба они предполагают, что python_program.py
печатает свой собственный источник на стандартный вывод.