Перейти к содержанию
    

Сборка проекта с помощью makefile в Windows

Здравствуйте!

Попытался собрать проект verilog-ethernet, взятый на Github у Alex Forencich. Собирается проект с помощью программы make. Программу make взял из состава пакета GnuWin32. Версия 3.81.

В консоли перешел в папку с примером для конкретной отладочной платы:

cd example/DE2-115/fpga/

При попытке собрать получил такое сообщение:

make
cd fpga && make
make[1]: Entering directory `D:/verilog-ethernet-master/example/DE2-115/fpga/fpga'
make[1]: *** Нет правила для сборки цели `fpga.sof', требуемой для `fpga'.  Останов.
make[1]: Leaving directory `D:/verilog-ethernet-master/example/DE2-115/fpga/fpga'
make: *** [fpga] Ошибка 2

Чем вызвано такое сообщение?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 часов назад, andrew_b сказал:

make -d

Изучайте.

Посмотрел. В логе встретил вот что:

This program built for i386-pc-mingw32
Reading makefiles...
Reading makefile `makefile'...
Reading makefile `../common/quartus.mk' (search path) (no ~ expansion)...
Reading makefile `../config.mk' (search path) (don't care) (no ~ expansion)...
Updating makefiles....
 Considering target file `../config.mk'.
  File `../config.mk' does not exist.

Видимо, проблема в том, что нет файла config.mk

Но где же его взять?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрел в уже созданных issues. Нашел вот что:

image.thumb.png.9be58c404552200cababa3b1f52635ed.png

 

Как выполнение makefile может зависеть от операционной системы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, srf55 сказал:

Как выполнение makefile может зависеть от операционной системы?

Не знаю, появились ли symlinkи в виндовсах после 7, но на 7 и раньше проект, содержащий symlinkи в исходниках нуждался в копировании файлов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Сергей Борщ сказал:

Не знаю, появились ли symlinkи в виндовсах после 7, но на 7 и раньше проект, содержащий symlinkи в исходниках нуждался в копировании файлов.

 У меня Windows 10. Проверил - символьные ссылки работают.

Спойлер

C:\eth>dir /AL /S

 Содержимое папки C:\eth\example\520N_MX\fpga_10g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\ADM_PCIE_9V3\fpga_10g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\ADM_PCIE_9V3\fpga_25g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\Arty\fpga\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\ATLYS\fpga\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\AU200\fpga_10g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\AU250\fpga_10g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\AU280\fpga_10g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\AU50\fpga_10g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\C10LP\fpga\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\DE2-115\fpga\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\DE5-Net\fpga\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\ExaNIC_X10\fpga\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\ExaNIC_X25\fpga_10g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\fb2CG\fpga_10g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\HTG9200\fpga_10g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\HXT100G\fpga\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\HXT100G\fpga_cxpt16\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\KC705\fpga_gmii\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\KC705\fpga_rgmii\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\KC705\fpga_sgmii\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\ML605\fpga_gmii\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\ML605\fpga_rgmii\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\ML605\fpga_sgmii\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\NetFPGA_SUME\fpga\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\NexysVideo\fpga\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\RV901T\fpga\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\S10DX_DK\fpga_10g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\S10MX_DK\fpga_10g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\VCU108\fpga_10g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\VCU108\fpga_1g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\VCU118\fpga_10g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\VCU118\fpga_1g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\VCU118\fpga_25g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\VCU1525\fpga_10g\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\ZCU102\fpga\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\example\ZCU106\fpga\lib

08.06.2023  19:00    <SYMLINK>      eth [../../../../]
               1 файлов              0 байт

 Содержимое папки C:\eth\lib\axis

08.06.2023  19:00    <SYMLINK>      README [README.md]
               1 файлов              0 байт

 Содержимое папки C:\eth\tb

08.06.2023  19:00    <SYMLINK>      axis_ep.py [../lib/axis/tb/axis_ep.py]
               1 файлов              0 байт

 Содержимое папки C:\eth\tb\axis_baser_rx_64

08.06.2023  19:00    <SYMLINK>      baser.py [../baser.py]
               1 файлов              0 байт

 Содержимое папки C:\eth\tb\axis_baser_tx_64

08.06.2023  19:00    <SYMLINK>      baser.py [../baser.py]
               1 файлов              0 байт

 Содержимое папки C:\eth\tb\eth_mac_phy_10g

08.06.2023  19:00    <SYMLINK>      baser.py [../baser.py]
               1 файлов              0 байт

 Содержимое папки C:\eth\tb\eth_mac_phy_10g_fifo

08.06.2023  19:00    <SYMLINK>      baser.py [../baser.py]
               1 файлов              0 байт

 Содержимое папки C:\eth\tb\eth_phy_10g

08.06.2023  19:00    <SYMLINK>      baser.py [../baser.py]
               1 файлов              0 байт

 Содержимое папки C:\eth\tb\xgmii_baser_dec_64

08.06.2023  19:00    <SYMLINK>      baser.py [../baser.py]
               1 файлов              0 байт

 Содержимое папки C:\eth\tb\xgmii_baser_enc_64

08.06.2023  19:00    <SYMLINK>      baser.py [../baser.py]
               1 файлов              0 байт

     Всего файлов:
              46 файлов              0 байт
               0 папок   6 190 931 968 байт свободно

C:\eth>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ИМХО. есть нюанс: символ TAB. для некоторых версий make это принципиальный вопрос. TAB или символом пробела делают "отступ" в правилах (командах). после строки "зависимостей". придушил бы красноглазых за это... три дня мозг черпал чайной ложечкой пингвин у меня.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, Alex77 said:

придушил бы красноглазых за это... три дня мозг черпал чайной ложечкой пингвин у меня.

«Смешались в кучу кони, люди». Адресуйте свои претензии проекту GNU. Вы же GNU make использовали, да?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

host windows. все makefile с пробелами. потом толи потребовалось использовать make (аля cygwin) от линукса в виндах, толи makefile от линукса. глюки были примерно аналогичны

Нет правила для сборки цели `fpga.sof'

пока не "узнал" что символ TAB ОБЯЗАТЕЛЕН для makefile и make (всё линукс версия).

было давно . лет 15 назад - может что и поменялось с тех пор.

пс: дурной тон использовать "управляющий символ"(к тому же невидимый для глазу) как часть "языка программирования"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 6/8/2023 at 8:12 PM, Сергей Борщ said:

Не знаю, появились ли symlinkи в виндовсах после 7

Я тут мимопроходил, но википедия говорит, что

Quote

Параметры безопасности по умолчанию в Windows Vista/Windows 7 запрещают администраторам без повышенных прав и всем тем, кто не является администраторами, создавать символические ссылки.
Начиная с Windows 10 Insiders, построенном на 14972, требование о повышенных правах администратора было убрано

Возможно, в этом была ваша проблема.

А сами по себе симлинки в NTFS давно есть. Симлинки на каталоги появились в win2000, на файлы - в winxp.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, esaulenka сказал:

Возможно, в этом была ваша проблема.

Возможно. Последняя виндовс, на которой я полноценно работал, была XP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может кто-нибудь, у кого есть установленный линукс и Quartus, попробует собрать этот проект?

Вдруг он и в линуксе не собирается.

Изменено пользователем srf55

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, srf55 сказал:

Может кто-нибудь, у кого есть установленный линукс и Quartus, попробует собрать этот проект?

Под линухом он собирается "из коробки":

Спойлер
$git clone https://github.com/alexforencich/verilog-ethernet.git yyy
Cloning into 'yyy'...
remote: Enumerating objects: 13523, done.
remote: Counting objects: 100% (1034/1034), done.
remote: Compressing objects: 100% (396/396), done.
remote: Total 13523 (delta 530), reused 988 (delta 506), pack-reused 12489
Receiving objects: 100% (13523/13523), 5.01 MiB | 7.17 MiB/s, done.
Resolving deltas: 100% (9670/9670), done.
$cd yyy/verilog-ethernet/example/DE2-115/fpga
$make 

[.........]
Info: Command: quartus_asm fpga
Info (115031): Writing out detailed assembly data for power analysis
Info (115030): Assembler is generating device programming files
Info: Quartus Prime Assembler was successful. 0 errors, 0 warnings
    Info: Peak virtual memory: 826 megabytes
    Info: Processing ended: Tue Jun 13 12:52:42 2023
    Info: Elapsed time: 00:00:04
    Info: Total CPU time (on all processors): 00:00:04
mkdir -p rev
EXT=sof; COUNT=100; \
while [ -e rev/fpga_rev$COUNT.$EXT ]; \
do let COUNT=COUNT+1; done; \
cp fpga.$EXT rev/fpga_rev$COUNT.$EXT; \
echo "Output: rev/fpga_rev$COUNT.$EXT";
Output: rev/fpga_rev100.sof
make[1]: Leaving directory '/home/username/projects/yyy/verilog-ethernet/example/DE2-115/fpga/fpga'

$cd ../../../../.. && rm -rf yyy

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...