Давайте предположим, что для этого вопроса мы используем GNU Make в Linux.
Как обычный сценарист сценариев оболочки, сценарии Makefile кажутся мне немного странными .
В любом случае, это основано на мнении, так что прямо к моему вопросу:
Я нашел способ для меня, чтобы писать Makefiles немного больше, как сценарии оболочки.
Это использование символа разрыва строки / продолжения: \
Пример начала моего Makefile:
DESTDIR ?=
PREFIX ?= /usr/local/bin
install_path := $(DESTDIR)$(PREFIX)
encrypt_script := encrypt-file-aes256
decrypt_script := decrypt-file-aes256
distrib_name := openssl-encryption
this_file := $(lastword $(MAKEFILE_LIST))
.PHONY: check
check: $(encrypt_script) $(decrypt_script)
@tput bold; tput setaf 3; echo Target: $@; echo; tput sgr0
@if [ -f SHA512SUM ]; then \
( sha512sum --check SHA512SUM && \
( tput bold; tput setaf 2; echo; echo "Ok. You may use 'sudo make install' or '(sudo) make install PREFIX=SomeDir' command now."; tput sgr0 ) || \
( tput bold; tput setaf 1; echo; echo "ERROR: Files hash sum mismatch!"; echo; tput sgr0; exit 1 ) \
) \
else \
$(MAKE) --file=$(this_file) SHA512SUM; \
fi
Полностью ли я пересек линию или это общее понятие?приемлемо?
Чтобы не ограничиваться мнением, пожалуйста, избегайте ваших личных предпочтений и цитируйте источники.
Вот только фрагмент кода.Вы можете найти весь Makefile без этих изменений здесь .