Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

После долгих мучений с этим делом - конфликтов между разными sh/make/... - я остановился (+)

Отправлено ReAl 26 июля 2007 г. 10:52
В ответ на: winavr и makefile отправлено <font color=gray>ыфефт</font> 26 июля 2007 г. 00:16

на том, что поставил в путях первым msys/mingw (всё равно мне и gcc/win32 нужен) и sh.exe, make.exe берутся ихние, причём без указания SHELL, make cfv берёт первый из PATH. WinAVR из путей выгрызаю/не даю прописывать, внутри avr-gcc.mak, включаемого во все проекты

GCCPATH=$(AVRGCC)/bin

ifeq (,$(findstring ;,$(PATH)))
PATH := $(subst :,,/$(GCCPATH)):$(PATH)
else
PATH := $(subst /,\,$(GCCPATH));$(PATH)
endif

export PATH

Т.е. от интересующей версии avr-gcc (WinAVR или сборка Klen) беру только $(AVRGCC)/bin, из которого тоже всё вызывается по PATH, так как задано всё без путей.


CC := avr-gcc
AS := avr-gcc -x assembler-with-cpp

Танцы с $(subst связаны с тем, что некоторые порты make преобразуют переменную PATH к "типа юниксовому" представлению только перед вызовом дочерних процессов, внутри себя, т.е. при обработке makefile, пользуются "виндовым". Другие - уже на старте, до начала обработки makefile уже преобразуют к "юниксовому". Я когда-то написал этот фрагмент и забыл о проблеме.



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 654:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru