Передача значения переменной из консоли в make
Всем привет, подскажите пожалуйста возможно ли как-то из консоли передать значение переменной, заданной в Makefile?
У меня в php-проекте есть Makefile с такой командой:
create-file:
echo "текст в файле" > $EXPECTED_VALUE.php
Такой вариант не работает:
make create-file --expected-value=new_filename
UPD
Пример текста для записи в переменную в Makefile
VARIABLE="<?php
namespace App\Form\${CLASS_NAME};
use App\Form\${CLASS_NAME}\Request\${CLASS_NAME}CreateRequest;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class ${CLASS_NAME}Type extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('name', null, [
'label' => 'Название'
]);
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => ${CLASS_NAME}Request::class,
]);
}
}
"
Ответы (1 шт):
Автор решения: mkkik
→ Ссылка
Имя переменной надо записать в фигурных скобках:
create-file: echo "текст в файле" > ${EXPECTED_VALUE}.phpПередавайте как переменную окружения:
EXPECTED_VALUE=file_with_text make create-fileПроверка:
cat file_with_text.php
UPD
Alexey Ten подсказывает о возможности прямой передачи значений как аргументов:
make create-file EXPECTED_VALUE=file_with_text