Мануал по установке утилиты tmake в MotoMAGX SDK

Часто так бывает, что есть некоторый набор исходных файлов, но нет ни Makefile, ни сборочного скрипта configure, так необходимых для сборки проекта. Конечно, Ъ-луниксоиды скажут, что Makefile нужно писать самим вручную, но у меня не так много на это времени, поэтому я предлагаю воспользоваться такой вот удобной утилитой.



Для начала скажу, что этот способ тестировался на том SDK, установка которого описана в этом посте, установить tmake в другие SDK можно будет по аналогии. Я не думаю, что у знающих людей возникнут какие-то вопросы с этим.

Сперва качаем следующий архив. Далее в дистрибутиве GNU/Linux переходим в ту директорию, где установлен SDK. У меня это каталог /opt/toolchains/motomagx/arm-eabi2. По этому пути (в корень SDK) кидаем директорию tmakelib/ из скачанного архива по ссылке выше. Два скрипта, написанных на Perl, кидаем в каталог bin/ в корне SDK. В скрипте подгрузки SDK (в том, которым вы устанавливаете переменные окружения. Если следовали пунктам из этого поста, то он у вас в /home/z6 и называется setenv-z6.sh) добавляем строку, можно в конец скрипта:

Всё, tmake установлен! Можно его проверить, для начала подгружаем переменные окружения SDK:

Затем переходим в директорию с исходными файлами и выполняем следующие команды (они должны выполниться без ошибок, обратите внимание на пути):

Последней командой должен создаться стандартный Makefile, который нужно немножко поправить. Мой Makefile получился приблизительно таким:

Если вы хотите собрать SDL-приложение, то правим верхнюю часть Makefile таким образом:

Обращаем внимание на CFLAGS и CXXFLAGS, какие флаги препроцессора туда поставить для корректной сборки, можно посмотреть в самих исходниках. Например, -DGP2X, -DDINGOO и другие для определённой платформы или параметров. Флаги -march=armv6j -mtune=arm1136jf-s -mfpu=vfp -Os — это оптимизация под наш процессор (ARM11), спасибо за нахождение параметров Ant-ON‘у и XVilka. Флаги -O3 или -O2 являются более общими оптимизациями компилятора, однако бывает такое, что с этими флагами программа или игра просто не запускаются. Мне сказали, что это как-то связано с хаками в компиляторе GCC от MontaVista.

Если вы хотите собрать Qt-приложение, то обрезаем наш дефолтный Makefile до строчки ########### Files и вставляем следующую конструкцию, расположенную ниже. Спасибо Ant-ON‘у за неё:

Далее правим переменную TOOLPREFIX, обычно это:

А затем редактируем блок EZX-ZN5.


Собственно, на этом всё. Спасибо большое Neomoto, за то, что напомнил мне про tmake.

Manuals, MotoMAGX

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *