xpi_built := $(build_dir)/$(install_rdf) \
$(build_dir)/$(chrome_manifest) \
$(chrome_jar_file) \
$(default_prefs)
xpi_built_no_dir := $(subst $(build_dir)/,,$(xpi_built))
$(xpi_file): $(build_dir) $(xpi_built)
@echo "Creating XPI file."
cd $(build_dir); $(ZIP) ../$(xpi_file) $(xpi_built_no_dir)
@echo "Creating XPI file. Done!"
$(build_dir)/%: %
cp -f $< [email protected]
$(build_dir):
@if [ ! -x $(build_dir) ]; \
then \
mkdir $(build_dir); \
fi
Может ли кто-нибудь объяснить мне эту часть файла makefile? Особый интересОбъяснение makefile
$(build_dir)/%: %
, а также$<
и[email protected]
директивы- две этикетки
$(build_dir)
существует, я думаю, как будут выполнены, но и в каком порядке?
@Beta Спасибо за подробное объяснение. Знаете ли вы какую-нибудь хорошую электронную книгу? – Pablo
@ Электронная книга Майкла? Lukáš Lalinský привел руководство GNUMake, которое является лучшей документацией, о которой я знаю. Есть также «Advanced Auto-Dependency Generation», который, ну, продвинутый и «Recursive Make считают вредным», популярная ссылка, с которой я не согласен. – Beta