make (WinAVR vs MSYS)

Sep 01, 2004 33 Replies

Hi, All!



Может, кому-то будет полезно.



В процессе ковыряния со "стандартными" gcc-avr.mak и avreal.mak, включаемыми в makefile проекта, вылезла одна вещь. То дома всё хорошо, а на работе бяки, то наоборот. Оказалось, дома первым под руку попадается make из MSYS (я на него перелез вместо

formatting link
а на работе - из WinAVR. Собственно, с unxutils тоже проблем хватало, нужно было отслеживать, чтобы всё вызывалось из комплекта WinAVR (в частности, sed из unxutils не хотел работать с данной ему WinAVR-овским sh.exe командной строкой или что-то в этом духе).



Ну так вот, оказалось, что WinAVR-овский make при разборе makefile держит взятый из окружения PATH ещё в windows-стиле, и только перед отправкой его ниже конвертирует в unix-стиль. А MSYS-овский make сразу конвертирует в unix-стиль и внутри makefile с переменной PATH надо работать в этом стиле.



Поскольку



a) дома на MSYS уже перелез b) на работе ничего резко менять не хочется (мало ли в каких ещё проектах вылезут особенности другого make.exe) c) с AVR я работаю и там, и там



я подрихтовал сам gcc-avr.mak таким образом, что он работает в обеих вариантах окружения.



#----------------------------------------------------------------------- # Prepare and export PATH # # Add WinAVR compiler directory and, if needed, utilites directory # at start of PATH. # # AVRGCC variable can contain spaces, '/' must be used instead of '', # no slash at the end. # # WinAVR distribution make.exe starts with PATH in windows-style # ( c:\directory ). # Shell and all utilites must be called from WinAVR\utils\bin directory # for comaptibility. # # MSYS (Minimal SYStem) make.exe starts with PATH converted to unix-style # ( /c/directory ). # If MSYS available in system and stay first in the PATH then we can use # sh.exe and all utilites from MSYS distribution. # # We need different PATH processing for this two options.



GCCPATH := $(AVRGCC)/bin UTILPATH := $(AVRGCC)/utils/bin



# Assume: 1) if PATH already in unix-style, then MSYS used. # 2) windows PATH contain more then one directory =>



# separator ';' always present. ifeq (,$(findstring ;,$(PATH))) # ';' not exist in path, assume that MSYS sh.exe available # Only avr-gcc directory need to be added to PATH # Convert GCCPATH to unix-style PATH := $(subst :,,/$(GCCPATH)):$(PATH) else # ';' exist, assume that WinAVR used and add WinAVR/utils/bin # at start of the PATH for prevent conflicts between different # ports and versions of unix utilites. PATH := $(subst /,\,$(UTILPATH);$(GCCPATH));$(PATH) # Use sh.exe from WinAVR distribution. SHELL := $(subst /,\,$(UTILPATH))/sh.exe endif



export PATH



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



wbr,


Hello Oleksandr.

01 Sep 04 21:27, you wrote to all:

OR> HÕ ÔÁË ×ÏÔ, ÏËÁÚÁÌÏÓØ, ÞÔÏ WinAVR-Ï×ÓËÉÊ make ÐÒÉ ÒÁÚÂÏÒÅ makefile OR> ÄÅÒÖÉÔ ×ÚÑÔÙÊ ÉÚ ÏËÒÕÖÅÎÉÑ PATH Åݣ × windows-ÓÔÉÌÅ, É ÔÏÌØËÏ ÐÅÒÅÄ OR> ÏÔÐÒÁ×ËÏÊ ÅÇÏ ÎÉÖÅ ËÏÎ×ÅÒÔÉÒÕÅÔ × unix-ÓÔÉÌØ. á MSYS-Ï×ÓËÉÊ make OR> ÓÒÁÚÕ ËÏÎ×ÅÒÔÉÒÕÅÔ × unix-ÓÔÉÌØ É ×ÎÕÔÒÉ makefile Ó ÐÅÒÅÍÅÎÎÏÊ PATH OR> ÎÁÄÏ ÒÁÂÏÔÁÔØ × ÜÔÏÍ ÓÔÉÌÅ.

ñ ÔÏÖÅ ÎÅÄÁ×ÎÏ ÌÏ×ÉÌ ÐÏÄÏÂÎÙÅ ÇÌÀËÉ. HÏ ÐÒÉ ÐÅÒÅÎÏÓÅ ËÏÍÐÉÌÑÃÉÉ ÉÚ ÌÉÎÕËÓÁ, ÇÄÅ ×ÓÅ ÜÔÉ ÕÔÉÌÉÔÙ ÒÁÂÏÔÁÀÔ ÂÅÚ ÐÒÏÂÌÅÍ, ÐÏÄ ×ÉÎÄÏÕÚ. ðÒÏÂÏ×ÁÌ ÒÁÚÎÙÅ ËÏÍÂÉÎÁÃÉÉ make/bash, ÉÚ MSYS ÉÚ WinAVR. make ÎÅ ×ÓÅÇÄÁ ÈÏÔÅÌ ÚÁÐÕÓËÁÔØ ÐÒÏÃÅÓÓÙ. çÏ×ÏÒÉÔ ÏÛÉÂËÁ CreateProcess É ×ÓÅ. HÏ ÜÔÏ ÂÙÌÏ ÐÏÄ WinME. ÷ÞÅÒÁ ÄÅÌÁÌ ÔÏÖÅ ÓÁÍÏÅ ÉÚ ÐÏÄ WinXP - ÔÁËÉÈ ÐÒÏÂÌÅÍ ÎÅ ×ÏÚÎÉËÌÏ. make É bash ÂÙÌÉ ÏÔ WinAVR. ðÒÏÂÌÅÍÁ ×ÏÚÎÉËÌÁ ÔÏÌØËÏ Ó MED. ðÒÉ ÚÁÐÕÓËÅ ÉÚ MED make ÎÅ ÍÏÖÅÔ ÚÁÐÕÓËÁÔØ ÐÒÏÇÒÁÍÍÙ. åÓÌÉ ×ËÌÀÞÉÔØ ÁÌØÔÅÒÎÁÔÉ×ÎÙÊ ÒÅÖÉÍ ÐÅÒÅÈ×ÁÔÁ ×Ù×ÏÄÁ, ÔÏ ÒÁÂÏÔÁÅÔ, ÎÏ ×ÒÏÄÅ ÎÅ ×ÓÅ ÐÅÒÅÈ×ÁÔÙ×ÁÅÔ. ðÏÄÒÏÂÎÏ ÎÅ ÒÁÚÂÉÒÁÌÓÑ, ÔÁË ËÁË ÃÅÌØ ÔÁËÁÑ ÎÅ ÓÔÏÉÔ.

ps: ñ ÇÏ×ÏÒÉÌ, ÞÔÏ ÌÉÓÔÉÎÇ ÏÔ avr-gcc Ñ ÏÂÒÁÂÁÔÙ×ÁÀ ÓËÒÉÐÔÏÍ ÎÁ sed-Å, ËÏÔÏÒÙÊ ÐÒÉ×ÏÄÉÔ ÅÇÏ Ë ÂÏÌÅÅ ÕÄÏÂÏÞÉÔÁÅÍÏÍÕ ×ÉÄÕ?

Alexey

2-Sep-04 09:10 Alexey Boyko wrote to Oleksandr Redchuk:

AB> Пробовал разные комбинации make/bash, из MSYS из WinAVR. make не всегда AB> хотел AB> запускать процессы. Говорит ошибка CreateProcess и все. Hо это было под AB> WinME. Угу, и такое тоже. Пока не добавил в начало PATH путь туда, куда считаю нужным, во многих местах приходилось писать, скажем, $(RM) или $(SED) и прописывать путь к тому, который нужен. Но экспорт PATH не работает для CreateProcess. Я просто насильно заставил make всегда и всё делать через shell.

AB> Вчера делал тоже самое из под WinXP - таких проблем не возникло. make и AB> bash были от WinAVR. Если всё от одного - то нет проблем (W2K, другого нет под рукой).

AB> Проблема возникла только с MED. При запуске из MED make не может запускать AB> программы. Если включить альтернативный режим перехвата вывода, то AB> работает, Да, альтернативный. AB> но вроде не все перехватывает. Подробно не разбирался, так как цель AB> такая не стоит. У меня вроде бы всё перехватывает, не жалуюсь. Где-то с MED 2.51 по 3.00 без проблем.

AB> ps: Я говорил, что листинг от avr-gcc я обрабатываю скриптом на sed-е, AB> который приводит его к более удобочитаемому виду? И даже в эху постил, и даже он у меня где-то лежит.

wbr,

Hello Oleksandr.

03 Sep 04 07:36, you wrote to me:

OR> ñ ÐÒÏÓÔÏ ÎÁÓÉÌØÎÏ ÚÁÓÔÁ×ÉÌ make ×ÓÅÇÄÁ É OR> ×ӣ ÄÅÌÁÔØ ÞÅÒÅÚ shell.

á ËÁË?

OR> õ ÍÅÎÑ ×ÒÏÄÅ ÂÙ ×ӣ ÐÅÒÅÈ×ÁÔÙ×ÁÅÔ, ÎÅ ÖÁÌÕÀÓØ. çÄÅ-ÔÏ Ó MED 2.51 ÐÏ OR> 3.00 ÂÅÚ ÐÒÏÂÌÅÍ.

õ ÍÅÎÑ 2.73

AB>> ps: ñ ÇÏ×ÏÒÉÌ, ÞÔÏ ÌÉÓÔÉÎÇ ÏÔ avr-gcc Ñ ÏÂÒÁÂÁÔÙ×ÁÀ ÓËÒÉÐÔÏÍ ÎÁ AB>> sed-Å, ËÏÔÏÒÙÊ ÐÒÉ×ÏÄÉÔ ÅÇÏ Ë ÂÏÌÅÅ ÕÄÏÂÏÞÉÔÁÅÍÏÍÕ ×ÉÄÕ? OR> é ÄÁÖÅ × ÜÈÕ ÐÏÓÔÉÌ, É ÄÁÖÅ ÏÎ Õ ÍÅÎÑ ÇÄÅ-ÔÏ ÌÅÖÉÔ.

HÅ ÐÒÉÇÏÄÉÌÓÑ?

ps: HÁÓÞÅÔ dlportio.sys:

uisp ÉÚ ËÏÍÐÌÅËÔÁ WinAVR ÉÓÐÏÌØÚÕÅÔ ÄÒÁÊ×ÅÒ givio.sys. ïÎ ÒÁÚÍÅÒÏÍ 5 Ëâ ë ÎÅÍÕ loaddrv.exe ÎÁ 11Ëâ É ÂÁÔÎÉÞÅË ÄÌÑ ÉÎÓÔÁÌÌÑÃÉÉ. HÅ ÈÏÞÅÛØ ÐÅÒÅÄÅÌÁÔØ avreal ÐÏÄ ÎÅÇÏ? á ÔÏ dlportio.sys ÔÁÓËÁÅÔÓÑ × ×ÉÄÅ ÏÄÎÏÍÅÇÁÂÁÊÔÎÏÇÏ ÉÓÔÁÌÌÑÔÏÒÁ.

ë giveio.sys ÏÂÒÁÝÅÎÉÅ ÞÅÒÅÚ ioctl. òÁÚÒÅÛÁÅÔÓÑ ÄÏÓÔÕÐ Ë ÐÏÒÔÁÍ, Á ÐÏÔÏÍ ÏÂÙÞÎÙÅ in/out. loaddrv.exe ×ÒÏÄÅ ÅÓÔØ Ó ÉÓÈÏÄÎÉËÁÍÉ. avreal, × ÐÒÉÎÃÉÐÅ, ÍÏÖÅÔ ÓÁÍ ÚÁÇÒÕÖÁÔØ giveio.sys, ÅÓÌÉ ÏÎ ÅÝÅ ÎÅ ÚÁÇÒÕÖÅÎ.

Alexey

Алексей, приветствую!

Ну раз уж сказал, то может поделишься? Видать тогда я с gcc не работал и полезные примочки в свои закрома не складывал.

Кстати, что есть из бесплатных (по-настоящему бесплатных) редакторов, которые можно использовать как IDE и которые очень желательно имели бы порт и под W32 и под Linux, чтоб потом можно было наработки перетащить под Linux?

С уважением, Сергей Борщ

Hello Alex.

03 Sep 04 19:23, you wrote to Sergey A. Borshch:

SB>> ëÓÔÁÔÉ, ÞÔÏ ÅÓÔØ ÉÚ ÂÅÓÐÌÁÔÎÙÈ (ÐÏ-ÎÁÓÔÏÑÝÅÍÕ ÂÅÓÐÌÁÔÎÙÈ) SB>> ÒÅÄÁËÔÏÒÏ×, ËÏÔÏÒÙÅ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ËÁË IDE É ËÏÔÏÒÙÅ ÏÞÅÎØ SB>> ÖÅÌÁÔÅÌØÎÏ ÉÍÅÌÉ ÂÙ ÐÏÒÔ É ÐÏÄ W32 É ÐÏÄ Linux, ÞÔÏ ÐÏÔÏÍ ÍÏÖÎÏ SB>> ÂÙÌÏ ÎÁÒÁÂÏÔËÉ ÐÅÒÅÔÁÝÉÔØ ÐÏÄ Linux?

AM> emacs, jed, vim (ÎÅ × ËÕÒÓÅ, ÓÏÂÉÒÁÅÔÓÑ ÌÉ ÐÏÓÌÅÄÎÉÊ ÐÏÄ win32, ÎÏ AM> ÓËÏÒÅÅ ×ÓÅÇÏ ÄÁ).

úÎÁÅÍ, ÚÎÁÅÍ. üÔÏ ÔÅ IDE, ËÏÔÏÒÙÍ ÎÅ È×ÁÔÁÅÔ ÎÏÒÍÁÌØÎÏÇÏ ÔÅËÓÔÏ×ÏÇÏ ÒÅÄÁËÔÏÒÁ.

Alexey

ðÒÉ×ÅÔ Sergey!

03 Sep 04 15:57, Sergey A. Borshch ÐÉÓÁÌ Alexey Boyko:

SB> ëÓÔÁÔÉ, ÞÔÏ ÅÓÔØ ÉÚ ÂÅÓÐÌÁÔÎÙÈ (ÐÏ-ÎÁÓÔÏÑÝÅÍÕ ÂÅÓÐÌÁÔÎÙÈ) SB> ÒÅÄÁËÔÏÒÏ×, ËÏÔÏÒÙÅ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ËÁË IDE É ËÏÔÏÒÙÅ ÏÞÅÎØ SB> ÖÅÌÁÔÅÌØÎÏ ÉÍÅÌÉ ÂÙ ÐÏÒÔ É ÐÏÄ W32 É ÐÏÄ Linux, ÞÔÏ ÐÏÔÏÍ ÍÏÖÎÏ ÂÙÌÏ SB> ÎÁÒÁÂÏÔËÉ ÐÅÒÅÔÁÝÉÔØ ÐÏÄ Linux?

emacs, jed, vim (ÎÅ × ËÕÒÓÅ, ÓÏÂÉÒÁÅÔÓÑ ÌÉ ÐÏÓÌÅÄÎÉÊ ÐÏÄ win32, ÎÏ ÓËÏÒÅÅ ×ÓÅÇÏ ÄÁ).

÷ÓÅÇÏ ÎÁÉÌÕÞÛÅÇÏ, [Team PCAD 2000] áÌÅËÓÅÊ í. ... þÅÍ ×ÅÔÅÒÉÎÁÒÙ ËÏÒÍÑÔ Ó×ÏÉÈ ÓÏÂÁË? âÅÌÙÊ ÆÏÓÆÏÒ. ÷ÁÛÁ ÓÏÂÁËÁ Ó×ÅÔÉÔÓÑ!
ðÒÉ×ÅÔ Alexey!

03 Sep 04 17:35, Alexey Boyko ÐÉÓÁÌ Alex Mogilnikov:

AM>> emacs, jed, vim (ÎÅ × ËÕÒÓÅ, ÓÏÂÉÒÁÅÔÓÑ ÌÉ ÐÏÓÌÅÄÎÉÊ ÐÏÄ AM>> win32, ÎÏ ÓËÏÒÅÅ ×ÓÅÇÏ ÄÁ).

AB> úÎÁÅÍ, ÚÎÁÅÍ. üÔÏ ÔÅ IDE, ËÏÔÏÒÙÍ ÎÅ È×ÁÔÁÅÔ ÎÏÒÍÁÌØÎÏÇÏ ÔÅËÓÔÏ×ÏÇÏ AB> ÒÅÄÁËÔÏÒÁ.

? ôÉÐÁ ÛÕÔËÁ ÀÍÏÒÁ ÔÁËÁÑ?

÷ÓÅÇÏ ÎÁÉÌÕÞÛÅÇÏ, [Team PCAD 2000] áÌÅËÓÅÊ í. ... ðÉÒÏÖÏË ÓÕÛÅÎÙÊ Ó ÓÕÛËÏÊ.

AM> emacs, jed, vim (ÎÅ × ËÕÒÓÅ, ÓÏÂÉÒÁÅÔÓÑ ÌÉ ÐÏÓÌÅÄÎÉÊ ÐÏÄ win32, ÎÏ AM> ÓËÏÒÅÅ AM> ×ÓÅÇÏ ÄÁ).

Vim ÅÓÔØ ×ÅÚÄÅ, Vim ÅÓÔØ ×ÓÅÇÄÁ.

formatting link

OR>> ñ ÐÒÏÓÔÏ ÎÁÓÉÌØÎÏ ÚÁÓÔÁ×ÉÌ make ×ÓÅÇÄÁ É OR>> ×ӣ ÄÅÌÁÔØ ÞÅÒÅÚ shell. AB> á ËÁË?

SHELL = sh.exe MAKESHELL = sh.exe

Hello, Alexey!

ðÑÔ óÅÎ 03 2004, Alexey Boyko ÐÉÓÁÌ Ë Oleksandr Redchuk ÐÏ ÐÏ×ÏÄÕ "make (WinAVR vs MSYS)." AB> uisp ÉÚ ËÏÍÐÌÅËÔÁ WinAVR ÉÓÐÏÌØÚÕÅÔ ÄÒÁÊ×ÅÒ givio.sys. ôÙ ÎÅ ÍÕÄÒÉ Á ÐÒÏÓÔÏ ÓÓÙÌËÕ ÄÁÊ ;) AB> Alexey WBR! Maxim Polyanskiy.
3-Sep-04 12:17 Alexey Boyko wrote to Oleksandr Redchuk:

OR>> Я просто насильно заставил make всегда и OR>> всё делать через shell.

AB> А как? :-)

Точкой с зяпятой. foo: ls будет через CreateProcess moo: ls ; make увидел "не просто вызов программы" и уже будет вызван sh Но на самом деле я "раз так, то" подобавлял команду echo в духе

$(OBJDIR)/%.o : %.c echo ======== Compiling $< ;\ $(CC) -c $(CFLAGS) $(addprefix -I,$(INCDIRS))\ -Wa,-ahlmsd=$(LSTDIR)/$(notdir $(<:.c=.lst)) $< -o $@

и втулил .SILENT : Последовательности команд через ';' make однозначно принимает как "это к shell-у".

OR>> И даже в эху постил, и даже он у меня где-то лежит. AB> Hе пригодился? Ну почему. Изредка пользуюсь. Даже подправил что-то - снял удаление /* function , чтобы размер функции и её тела был виден) и убрал изредка встречающуюся какую-то мелочь, начинающуюся с .L. Просто я довольно редко сейчас на код смотрю.

AB> ps: Hасчет dlportio.sys:

AB> uisp из комплекта WinAVR использует драйвер givio.sys. Он размером 5 кБ AB> К нему loaddrv.exe на 11кБ и батничек для инсталляции. Hе хочешь переделать AB> avreal под него? А то dlportio.sys таскается в виде одномегабайтного AB> исталлятора. Хочу. Уже довольно давно :-) Более того, хочу переделать ещё и через альтеровский драйвер, который идёт с максплюсом да квартусом (у многих, включая меня, он всё равно стоит).

AB> К giveio.sys обращение через ioctl. Разрешается доступ к портам, а потом AB> обычные in/out. loaddrv.exe вроде есть с исходниками. avreal, в принципе, Ага, а потом окажется, что они с GPL и пошла поехала. В таком случае лучше уж я exec-ом буду этот loaddrv звать. Если я когда-то потеряю стыд настолько, что открою исходники avreal, они будт под BSD лицензией, чтобы народ голову себе не морочил по поводу границ допустимого и способов связывания.

AB> может сам загружать giveio.sys, если он еще не загружен. Оно (W2K) позволяет не-администратору это делать? Тю. Или рассчитывать, что будут работать под администратором? Ещё более тю.

Уже запланирован ключик -ad=driver

-ad=direct прямой доступ к портам (по сути для W98, чтобы и win32 программа, но вообще без драйверов)

-ad=dlportio

-ad=giveio

-ad=altera

Понятное дело, что тут главное в принципе сделать вариантность, а дальше добавление новых несложно.

wbr,

SAB> ëÓÔÁÔÉ, ÞÔÏ ÅÓÔØ ÉÚ ÂÅÓÐÌÁÔÎÙÈ (ÐÏ-ÎÁÓÔÏÑÝÅÍÕ ÂÅÓÐÌÁÔÎÙÈ) ÒÅÄÁËÔÏÒÏ×, SAB> ËÏÔÏÒÙÅ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ËÁË IDE É ËÏÔÏÒÙÅ ÏÞÅÎØ ÖÅÌÁÔÅÌØÎÏ ÉÍÅÌÉ ÂÙ SAB> ÐÏÒÔ É ÐÏÄ W32 É ÐÏÄ Linux, ÞÔÏ ÐÏÔÏÍ ÍÏÖÎÏ ÂÙÌÏ ÎÁÒÁÂÏÔËÉ ÐÅÒÅÔÁÝÉÔØ ÐÏÄ SAB> SAB> Linux?

emacs :)

Hello Oleksandr.

04 Sep 04 08:09, you wrote to Alexey Boyko:

OR> õÖÅ ÚÁÐÌÁÎÉÒÏ×ÁÎ ËÌÀÞÉË -ad=driver

OR> -ad=direct ÐÒÑÍÏÊ ÄÏÓÔÕÐ Ë ÐÏÒÔÁÍ (ÐÏ ÓÕÔÉ ÄÌÑ W98, ÞÔÏÂÙ É win32 OR> ÐÒÏÇÒÁÍÍÁ, ÎÏ ×ÏÏÂÝÅ ÂÅÚ ÄÒÁÊ×ÅÒÏ×) OR> -ad=dlportio OR> -ad=giveio OR> -ad=altera

OR> ðÏÎÑÔÎÏÅ ÄÅÌÏ, ÞÔÏ ÔÕÔ ÇÌÁ×ÎÏÅ × ÐÒÉÎÃÉÐÅ ÓÄÅÌÁÔØ ×ÁÒÉÁÎÔÎÏÓÔØ, Á OR> ÄÁÌØÛÅ ÄÏÂÁ×ÌÅÎÉÅ ÎÏ×ÙÈ ÎÅÓÌÏÖÎÏ.

ôÏÇÄÁ ÕÖ -ad=dll:my_driver[:bla-bla-bla]

my_driver.dll ÉÍÅÅÔ ÓÔÁÎÄÁÒÔÙÊ (ÄÌÑ AvReal) ÉÎÔÅÒÆÅÊÓ ÄÌÑ Ó×ÑÚÉ Ó ÐÏÒÔÁÍÉ ÞÅÒÅÚ ÞÔÏ ÕÇÏÄÎÏ (ÐÏ ÕÓÍÏÔÒÅÎÉÀ ÔÏÇÏ, ËÔÏ ÜÔÕ my_driver.dll ÎÁÐÉÓÁÌ), Á bla-bla-bla ÐÅÒÅÄÁÅÔÓÑ ÅÊ × ËÁÞÅÓÔ×Å ÐÁÒÁÍÅÔÒÁ ÐÒÉ ÉÎÉÃÉÁÌÉÚÁÃÉÉ

Roman

4-Sep-04 01:34 Kirill Frolov wrote to Alex Mogilnikov:

AM>> emacs, jed, vim (не в курсе, собирается ли последний под win32, но AM>> скорее AM>> всего да).

KF> Vim есть везде, Vim есть всегда.

formatting link
И для win32 он есть и консольный, и графический. Только вот мне при наличии MED всё как-то недосуг разобраться, как же в vim сделать поиск слова во всех исходниках проекта (естественно, с выдачей в отдельном окне этих строк и с последующим хождением по исходникам тыкая в эти строки). Такое ощущение, что надо найти в palin text описание vim-а да в палм затолкать.

wbr, p.s. Да, MED не бесплатен, но и не дорог. А у меня уже накопились предложения к автору ... Проплатить, чтоли, да "честно" потрясти :-)

4-Sep-04 01:36 Kirill Frolov wrote to Alexey Boyko:

OR>>> Я просто насильно заставил make всегда и OR>>> всё делать через shell. AB>> А как?

KF> SHELL = sh.exe KF> MAKESHELL = sh.exe Для нескольких виденных мной разных make для win32 это только даёт то, что для *скриптовых* участков makefile таки вызывается найденный по PATH sh.exe, а не смотрится в COMSPEC

Но даже при

AVRGCC = c:/WinAVR-20040720 SHELL = $(AVRGCC)/utils/bin/sh.exe

*одиночные* команды в правилах выполняются не через sh, а через прямой вызов CreateProces() В принципе, это может быть эффективнее.

Сразу скажу - имеется ввиду вызов "нативных" make (пользующихся максимум msvcrt.dll) и MSYS-овского, цигвина не пробовал.

Ну так вот, foo: a где a не существует в природе - для "нативного" говорит "CreateProcess ... failed", для msys-овского make: a.exe: Command not found Т.е. делается одиночный вызовы команды без subshell (для двух a и b в смежных строках будет то же самое два раза). А вот для foo: a ; имеем d:\temp\make7202.sh: a.exe: command not found и /bin/sh.exe: a.exe: command not found соответственно.

Другое дело, что MSYS-овскому make и не надо ничего форсировать, так как PATH экспортируется сразу и даже одиночные команды отрабатываются при нужном состоянии окружения.

Но, как я уже сказал, на работе пока действует "работает - не трогай". Я сначала перетрясу все makefile пряча/восстанавливая "нативный" make, потом только уберу лишнее и оставлю только MSYS. Ну только zip/unzip из unxtools добавлю.

wbr,

4-Sep-04 04:45 Maxim Polyanskiy wrote to Alexey Boyko:

AB>> uisp из комплекта WinAVR использует драйвер givio.sys. Да и у mspgcc тоже. msp430-jtag через него работает. Собственно, через этот драйвер легко работать, портируя с линукса то, что работало через ioperm()

MP> Ты не мудри а просто ссылку дай ;) Если ты пробовал искать в гугле и не нашёл, то ищи giveio.sys. У Алексея описочка вышла. А у меня этот драйвер по всему винту бегает, он сейчас с чем не лень в комплекте идёт, так что я тебе тоже ссылочку дать не смогу :-)

wbr,

ðÒÉ×ÅÔ Oleksandr!

04 Sep 04 20:30, Oleksandr Redchuk ÐÉÓÁÌ Kirill Frolov:

OR> 4-Sep-04 01:34 Kirill Frolov wrote to Alex Mogilnikov:

KF>> Vim ÅÓÔØ ×ÅÚÄÅ, Vim ÅÓÔØ ×ÓÅÇÄÁ.

formatting link

÷ÏÔ ×ÅÄØ, Á Ñ ÜÔÏÇÏ ÐÉÓØÍÁ ÎÅ ×ÉÄÅÌ. :( ëÔÏ-ÎÉÂÕÄØ, ÐÏÖÁÌÕÊÓÔÁ, ÐÒÉÛÌÉÔÅ ÍÎÅ ÍÙÌÏÍ ÜÔÏ ÐÉÓØÍÏ Ó ÐÕÔÅÍ É ÓÉÎÂÁÑÍÉ... ÷ÓÅÇÏ ÎÁÉÌÕÞÛÅÇÏ, [Team PCAD 2000] áÌÅËÓÅÊ í. ... éÓËÁÔØ ÓÍÙÓÌ - ÂÅÓÓÍÙÓÌÅÎÎÏ...

KF>> Vim ÅÓÔØ ×ÅÚÄÅ, Vim ÅÓÔØ ×ÓÅÇÄÁ.

formatting link
OR> é ÄÌÑ win32 ÏÎ ÅÓÔØ É ËÏÎÓÏÌØÎÙÊ, É ÇÒÁÆÉÞÅÓËÉÊ.

HÕ ÜÔÏ ÔÏÌØËÏ Ó ÏÞÅÎØ ÎÏ×ÏÊ ×ÅÒÓÉÉ, ÎÏÍÅÒ 6.2, ×ÒÏÄÅ. á ÒÁÎØÛÅ ÂÙÌ ÔÏÌØËÏ ÏËÏÎÎÙÊ.

OR> ôÏÌØËÏ ×ÏÔ ÍÎÅ ÐÒÉ ÎÁÌÉÞÉÉ MED ×ӣ ËÁË-ÔÏ ÎÅÄÏÓÕÇ ÒÁÚÏÂÒÁÔØÓÑ, OR> ËÁË ÖÅ × vim ÓÄÅÌÁÔØ ÐÏÉÓË ÓÌÏ×Á ×Ï ×ÓÅÈ ÉÓÈÏÄÎÉËÁÈ ÐÒÏÅËÔÁ

:help grep

äÏËÕÍÅÎÔÁÃÉÑ ÄÌÑ Vim ÕÖÅ ÐÏÞÔÉ ÐÏÌÎÏÓÔØÀ ÐÅÒÅ×ÅÄÅÎÁ ÎÁ ÒÕÓÓËÉÊ ÑÚÙË É ÄÏÓÔÕÐÎÁ ÇÄÅ-ÔÏ ÎÁ sourceforge, ×ÒÏÄÅ "ruvim" ÏÎÏ ÎÁÚÙ×ÁÅÔÓÑ.
4-Sep-04 19:28 Roman Khvatov wrote to Oleksandr Redchuk:

OR>> Понятное дело, что тут главное в принципе сделать вариантность, а OR>> дальше добавление новых несложно.

RK> Тогда уж -ad=dll:my_driver[:bla-bla-bla] RK> my_driver.dll имеет стандартый (для AvReal) интерфейс для связи с RK> портами через Об этом я тоже думал, только не двоеточие (да, да, я понимаю, стандартный в линуксе разделитель :-), а запятая, больше похоже на остальные нынешние ключи. Какая ни есть, а система.

Но в конечном итоге решил пока сделать так. В смысле, пока пусть будет монолит. Я пока не решил, где лучше проводить грань dll/so. Почему-то мне кажется, что эта грань лучше ложится на линии "spi-контроллера с с некоторым количеством GPIO", а вот через что он сделан - на усмотрение его разработчика :-) Тогда выйдет

-ad=spi,some_spi.dll,bla-bla-bla

Но тут надо немного подумать на тему интерфейса с таким spi-контроллером, особенно в плане "какие GPIO поставить в 0/1, какой из них будет сброс", И вообще -- как отмапить SCK/MOSI/MISO для контроллера, который это может. Похоже, что это всё "не avreal-ово дело", а bla-bla-bla на самом деле имя файла, который будет передан в dll для использования в качестве ini-файла либо имя раздела в some_spi.ini.

wbr,

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required