LINUX.ORG.RU

Makefile

 


0

1

Здравствуйте Прошу помочь разобраться с символами используемыми в Makefile

#------------------------------------------------------------------------------

.c.o :
        $(CC)  -o $*.o $*.c -@O=list\$*.l -@E=log\$*.log

#------------------------------------------------------------------------------
Документ читал, но все же не понял $*: Строка имени целевого файла. Основанием обычно является имя файла без его суффикса. Его использование вне правил шаблона не рекомендуется. Файл с каким именем будет компилироваться и как понять остальные символы? Вот Makefile целиком

https://yadi.sk/d/Dioz38yAoZjgwA

Файл с каким именем будет компилироваться

это указывается другими правилами

Deleted
()

Ну хорошо. Подскажите пожалуйста -@O и -@E это что? Значок @ вроде означает что на экран не выводить. А O и E это параметры функции gcc или что другое?

Viktor2004
() автор топика
Ответ на: комментарий от Viktor2004

@ вроде означает что на экран не выводить

но только когда стоит в начале команды

это что?

К make это не имеет отношения. См. доку по запускаемой команде

Deleted
()

Ладно. Тогда попробую с другим вопросом разобраться Вот тут https://msdn.microsoft.com/ru-ru/library/7y32zxwh.aspx

рассказывается об использования директив с восклицательным знаком. Пробую запустить команду

!MESSAGE "AAA"

Выдает ошибку

C: Makefile:1: *** missing separator. Stop.

Почему не выводит сообщение?

Viktor2004
() автор топика
Ответ на: комментарий от Viktor2004

А ты можешь прочитать название форума? И не лезть с геймерскими вопросами к серьезным дядькам?

anonymous
()
Ответ на: комментарий от Viktor2004

Перепроверил директиву на Linux. Результат тот же

 viktor@debian:~$ sudo make
[sudo] пароль для viktor: 
Makefile:1: *** missing separator.  Останов.
viktor@debian:~$ 

Viktor2004
() автор топика
Ответ на: комментарий от Viktor2004

sudo

За каким [censored] здесь sudo?

Естественно, в линуксе это не заработает!

anonymous
()
Ответ на: комментарий от Viktor2004

Пройдись на винфак (быдлохабру, например). Там наверняка найдутся геймеры, которые смогут помочь в этом дурацком вопросе!

anonymous
()
Ответ на: комментарий от anonymous

Я не силен в слэнге. Что такое винфак или быдлохабр? Я на cyberforum задал этот вопрос, там тоже ответить не могут. И почему именно геймеры? Это ведь игроки. Извините за глупые вопросы, я на старости лет отстал от эпохи. Просто возникла необходимость разобрать один Makefile

Viktor2004
() автор топика
Ответ на: комментарий от Viktor2004

Здесь linux сообщество, другой реакции быть не могло), ваш makefile для windows.

Загружаетесь в винду, берете nmake из visual studio common tools и собираете там свой exe.

WoozyMasta
()
Ответ на: комментарий от WoozyMasta

Большое спасибо. Понял Это только на nmake работает.

Viktor2004
() автор топика
Ответ на: комментарий от Viktor2004

винфак

место, где водятся геймеры.

быдлохабр

синоним винфака (бывший habrahabr). Там тоже одни только геймеры и обитают.

cyberforum

годится, тот еще винфак.

там тоже ответить не могут

странно.

И почему именно геймеры?

Если человек превращает компьютер в игровую приставку, то он либо геймер, либо идиот. Я априори считаю людей все-таки умственно полноценными.

anonymous
()
3 декабря 2019 г.
Ответ на: комментарий от anonymous

И снова здравствуйте Теперь мне надо отобразить переменные уже в Debian Последовал вот этому совету https://tproger.ru/translations/useful-line-for-every-make-file/ В итоге получаю не то что хотел

[code=Bash] viktor@debian:~/mame-master$ make –eval=«print-%: ; @echo $=$($)» print-SILENT

GCC 8 detected

=

viktor@debian:~/mame-master$ [/code]

Почему у меня не отображается переменная SILENT

Viktor2004
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.