Як запустити makefile під windows

Не так давно я пересів на AtmelStudio6 з AVRStudio4. Є у мене класний програматор клон STK500. Який просто чудово працює з 4й версією. Ось і виходить, що пишу я тепер проги під 6й версією, а программатором користуюся з під 4ой. Незручно якось. Спробував підключити програматор до 6й. Працює через пень колоду. Те працює, то не працює. Вирішив я зробити новий, щоб працював по 6й версією і не пукає. Вирішив що це буде AVRISP mkII.

Нарив я проект LUFA. ТУТ
Скачав код, а там стирчить makefile. Самою прошивки там немає, щоб відразу залити в мікроконтролер. Значить треба запустити збірку makefile щоб народився hex файл. А як це зробити? Без поняття. А треба. Почав рити. Допоміг один товариш лінуксоїд. Разом з ним поколупався і нарили ось що.

2). Встановити прогу bc-1.06-2.exe. Звідси.

3). Вказати шлях для змінної PATH в XP 32bit,

Мінлива PATH знаходиться тут.
Комп'ютер / властивості / додатково / змінні середовища.

C: \ MinGW \ msys \ 1.0 \ bin;
C: \ Program Files \ GnuWin32 \ bin;
C: \ Program Files \ Atmel \ Atmel Toolchain \ AVR8 GCC \ Native \ 3.4.2.939 \ avr8-gnu-toolchain \ bin

Для WINDIWS_7 64bit
C: \ MinGW \ msys \ 1.0 \ bin;
C: \ Program Files (x86) \ GnuWin32 \ bin;
C: \ Program Files (x86) \ Atmel \ Atmel Toolchain \ AVR8 GCC \ Native \ 3.4.2.939 \ avr8-gnu-toolchain \ bin

Від операційної системи може залежати дуже багато чого: бібліотеки, компілятори і т. П. І makefile повинен враховувати ці відмінності. Якщо потрібна переносимість програми, то для складання многоплатформенного makefile часто використовуються GNU Autotools. Тоді makefile генерується на стороні користувача шляхом запуску скрипта configure.
Але тут був простіший випадок, проблема була лише в тому, що на windows взагалі не було утиліти make.

Дякую за лікнеп, можливо комусь нидь і стане в нагоді.
Якщо що, я автотулзамі вже більше десяти років користуюся.

Взагалі-то, це залежить від тулчейна, з яким збирали щось. А наскільки різні тулчейни під операційні системи - це інша справа

Ага, так про це я і говорю. Зокрема, на виндовс з коробки взагалі немає ніякого тулчейна.

Крім MinGW має сенс звернути увагу ще на Cygwin. Можна вибирати з темряви пакетів. Xserver теж можна поставити ...

MinGW - компілятор, збірка GCC під вінду. Cygwin - весь POSIX-шар для вінди (грубо кажучи, MSYS-максі), в тому числі містить і свій порт GCC під вінду. Як чисто компілятора під вінду зазвичай використовується MinGW (іноді і інші збірки, скажімо з Code :: Blocks зараз начебто йде TDM-GCC).
Xserver (точніше, X Window System) - графічна і віконна підсистема нікс.

та ще б дізнатися що означають всякі закарлючки в makefile $ @ $ ^ $ (CFLAGS) десь $ (фігурні дужки замість простих) ще буває @ srcdir @
якщо бути точним, то ці шматки я привів з файлу makefile.in (не знаю може розширення .in щось означає) так для компіляції мого проекту пропонується процедура з трьох дій
./ configure
make
make install

а щодо т.зв. змінних середовища типу PATH і т.п. зовсім не обов'язково лізти в налаштування ОС, можна написати батник типу
@echo off
set path = C: \ MinGW \ msys \ 1.0 \ bin; C: \ Program Files \ GnuWin32 \ bin; C: \ Program Files \ Atmel \ Atmel Toolchain \ AVR8 GCC \ Native \ 3.4.2.939 \ avr8-gnu-toolchain \ bin;% path%
make.exe% *
назвати можна make.bat або який-небудь інший make і покласти його в загальнодоступне місце наприклад в C: \ UTILS, який в свою чергу вже доданий в PATH це зручно в тому випадку якщо у вас встановлено кілька IDE наприклад у мене встановлений AVR Toolchain і Borland cpp builder і у кожного є свій make.exe лежить в папці bin і доступний через path що не зручно, але я просто консоллю не особливо користуюся для збірки, але взагалі цей AVR Toolchain дозволяє собі багато вольностей, наприклад поруч з make.exe лежить і dir.exe ... да там взагалі повний збірник в тому числі і лінуксових типу awk

якщо бути точним, то ці шматки я привів з файлу makefile.in (не знаю може розширення .in щось означає) Це не мейк, а заготовка для automake. Він викликається з configure і згенерує мейкфайл по цій заготівлі. Так що якщо я не помиляюся, частина наведених тобою закорючек відноситься саме до командами automake.
А взагалі, за нього документація є. Хоча я чув, що що make, що automake малос'едобние для ручного приготування тулзи.

make для невеликих проектів цілком можна готувати руками.

Схожі статті