реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> make утилитав виндовсе
sergey sva
сообщение Aug 7 2008, 13:45
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Маке утилита, возник вопрос, она подходит для всех компиляторов или для каждого компилятора свой маке SDCC, VS? Буду благодарен если кто поможет ссылками на официальный сайт make.exe , или
описанием ошибок.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 7 2008, 13:53
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(sergey sva @ Aug 7 2008, 16:45) *
Маке утилита, возник вопрос, она подходит для всех компиляторов или для каждого компилятора свой маке SDCC, VS?
Для разных компиляторов она разная. Большинство свободных компиляторов (если не все) пользуют GNU make (документация тут), ее порт под виндовс есть в составе MSYS/MinGW. Борланд и Микрософт используют свои make, несколько несовместимые с GNU make.
Цитата(sergey sva @ Aug 7 2008, 16:45) *
или описанием ошибок.
Так вы пишите, какие ошибки у вас возникают - попробуем помочь.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Aug 7 2008, 14:18
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Цитата(Сергей Борщ @ Aug 7 2008, 17:53) *
Так вы пишите, какие ошибки у вас возникают - попробуем помочь.


вот маке файл, при компиляции ошибок нет, ошибка когда нужно очистить CLEAN.
Пишет что какойто файл не найден ошибка "(e2)" error 2
все файлы с расширениями *.sym *.lst *.mem *.map *.ihx *.lnk *.rst *.rel *.asm *.hex
есть в папке с проектом компилятор sdcc +eclips
Код
CC=sdcc
LINKFLAGS=--model-large --code-loc 0x0000 --code-size 0xFFFF --xram-loc 0x0000 --xram-size 0x0700
all: main.hex

    
main.rel: main.c
    $(CC) --model-large -c    main.c
    
main.hex: main.rel
    $(CC) $(LINKFLAGS) main.rel
    packihx <main.ihx >main.hex

    
    
        
clean:
    rm -f *.sym *.lst *.mem *.map *.ihx *.lnk *.rst *.rel *.asm *.hex


Сообщение отредактировал sergey sva - Aug 7 2008, 14:19
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 7 2008, 14:23
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(sergey sva @ Aug 7 2008, 16:18) *
вот маке файл...Пишет что какойто файл не найден...

clean:
rm -f *.sym *.lst *.mem *.map *.ihx *.lnk *.rst *.rel *.asm *.hex

Ну Вы хоть чуть-чуть подумать не пробовали, что такое 'rm'? Откуда в Windows 'rm' ?
Маке тут, как и следовало ожидать ни сном ни духом не виноватый.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Aug 7 2008, 14:25
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Для удаления ненужных файлов лучше пользоваться конструкцией типа:

@if exist *.lst del *.lst
@if exist *.bak del *.bak

А вообще говоря, утилита make к компиляторам отношение имеет постольку поскольку. Правильнее ее считать средством автоматизации консольных приложений. Мы, например, используем маке от Borland и с его компилятором и с SDCC и CL.
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Aug 7 2008, 14:45
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Цитата(zltigo @ Aug 7 2008, 18:23) *
Ну Вы хоть чуть-чуть подумать не пробовали, что такое 'rm'? Откуда в Windows 'rm' ?
Маке тут, как и следовало ожидать ни сном ни духом не виноватый.


без rm выходит другая ошибка *** missing separator. Stop.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 7 2008, 14:57
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(sergey sva @ Aug 7 2008, 16:45) *
без rm выходит...

...помолчу. Совет попробовать подумать - отзываю - начните со чтения любой документации на любой make.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Amper25
сообщение Aug 7 2008, 15:02
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 215
Регистрация: 10-04-07
Пользователь №: 26 929



не издевайтесь над человеком.

rm - консольная команда linux, соответственно в винде получается ругань.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Aug 7 2008, 15:03
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Стоит винавр.
Вот что выдало:
Цитата
Usage: rm [OPTION]... FILE...
Remove (unlink) the FILE(s).

-d, --directory unlink directory, even if non-empty (super-user only)
-f, --force ignore nonexistent files, never prompt
-i, --interactive prompt before any removal
-r, -R, --recursive remove the contents of directories recursively
-v, --verbose explain what is being done
--help display this help and exit
--version output version information and exit

To remove a file whose name starts with a `-', for example `-foo',
use one of these commands:
rm -- -foo

rm ./-foo

Note that if you use rm to remove a file, it is usually possible to recover
the contents of that file. If you want more assurance that the contents are
truly unrecoverable, consider using shred.

Report bugs to <bug-fileutils@gnu.org>.

Сегодня в мейке вот так заюзал:
Код
# rule for deleting dependent files (those which can be built by Make):
clean:
    rm -f main.hex main.lst main.obj main.cof main.list main.map main.eep.hex main.elf *.o

Никто и слова не сказал..
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 7 2008, 15:17
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Kuzmi4 @ Aug 7 2008, 17:03) *
Стоит винавр.

Что там за мусор с собой помянутое чудо-юдо тянет мне не ведомо, но виндозная штатная это del или erase. Необходимости в посторонних портированных приблудах для удаления файлов нет нималейших.
Цитата(Amper25 @ Aug 7 2008, 17:02) *
не издевайтесь над человеком.

Какие издевательста? Ну должен-же человек хоть чуть-чуть представлять назначение и синтаксис make? Дабы не заниматся бездумным добавлением/удалением букв.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Aug 7 2008, 15:40
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



вот так работает, не кто не ругается. хотелось посмотреть как правильно удалять.
Цитата
proect = main
CC=sdcc
LINKFLAGS=--model-large --code-loc 0x0000 --code-size 0xFFFF --xram-loc 0x0000 --xram-size 0x0700
all: main.hex


main.rel: main.c
$(CC) $(LINKFLAGS) main.c

main.hex: main.rel
$(CC) $(LINKFLAGS) main.rel
packihx <main.ihx>main.hex

clean:
rm -f $(proect).hex $(proect).ihx $(proect).lnk $(proect).lst $(proect).map $(proect).mem $(proect).rel $(proect).rst $(proect).sym
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 7 2008, 15:49
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(sergey sva @ Aug 7 2008, 17:40) *
вот так работает, не кто не ругается.

Мрак sad.gif
"Не ругается" и "работает" есть разные вещи. Совсем разные. Для "не ругается", делать так
Код
# rm -f main.hex main.lst main.obj main.cof main.list main.map main.eep.hex main.elf *.o

а для "работает" так:
Код
del *.hex *.lst *.obj *.cof *.lst *.map *.eep *.hex *.elf  *.o

А буквы $(proect) можете на заборе писать.

Код
PROJECT = main
CC=sdcc
LINKFLAGS=--model-large --code-loc 0x0000 --code-size 0xFFFF --xram-loc 0x0000 --xram-size 0x0700
all: $(PROJECT).hex


$(PROJECT).rel: $(PROJECT).c
$(CC) $(LINKFLAGS) $(PROJECT).c

$(PROJECT).hex: $(PROJECT).rel
$(CC) $(LINKFLAGS) $(PROJECT).rel
packihx <$(PROJECT).ihx>$(PROJECT).hex

clean:
@del *.hex *.lst *.obj *.cof *.lst *.map *.eep *.hex *.elf  *.o


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Aug 7 2008, 15:52
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



bb-offtopic.gif
на заборе лучше другие буквы писать biggrin.gif понятнее окружающим smile.gif
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Aug 7 2008, 16:14
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Это из разряда как заставить Windows выполнять команду rm. Только не понятно, чем стандартные команды не устраивают? Можно вообще свой язык придумать, если делать нечего. Задача то, вроде, состоит в программировании AVR?
Go to the top of the page
 
+Quote Post
cioma
сообщение Aug 7 2008, 17:44
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 226
Регистрация: 19-06-04
Из: Беларусь
Пользователь №: 65



cygwin
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 20:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01477 секунд с 7
ELECTRONIX ©2004-2016