|
Здравствуйте Гость ( Вход | Регистрация ) Доступ из РоссииДля сохранения достпа из России к сайту и форуму GBX
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() ![]() |
DevKit Advance, & Cygwin
| Bartman89 |
Среда, 30 апреля 2003, 20:48
Отправлено
#21
|
![]() you will be under my wheel's! YOU! ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 2 723 Регистрация: 04 фев. 2003 Из: Обнинск Пользователь №: 831 ![]() ![]() |
спасибо
-------------------- |
| arabesc |
Пятница, 02 мая 2003, 03:22
Отправлено
#22
|
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Регистрация: 06 апр. 2003 Из: Москва Пользователь №: 1 674 ![]() ![]() |
QUOTE (Killka @ Среда, 30 Апреля 2003, 8:40) короче у тя в бате прописана всяка фигня. я так поняла ты хочешь скомпелировать доктора витаминкина. тогда вот я тебе нарисовала баты для него,сначала запускаешь mkg.bat А почему не makefile? bat'ники проходят только на маленьких проектах, а на больших с их помощью сложно контролировать ресурсы, а также тратится слишком много времени на перекомпиляцию. Вот пример makefile'а: # --- --- --- # # Makefile # --- MAPFILE := <Имя_Проекта>.map TARGET_ELF := <Имя_Проекта>.elf TARGET_BIN := <Имя_Проекта>.bin SOURCE_DIRS := <Список_директорий_с_исходниками_через_пробел, например: ./Src> INCLUDE_DIRS := <Список_директорий_с_хидерами_через_пробел, например: $(AGBINC) $(GNUINC)> # --- release: CFLAGS := -pipe -MD -c -O2 -mthumb-interwork -nostdlib -fregmove -foptimize-register-move -fverbose-asm -fbranch-count-reg -frerun-loop-opt -frerun-cse-after-loop -fgcse -finline-functions -ffunction-cse -fpeephole -freduce-all-givs -fmove-all-movables -fexpensive-optimizations -fomit-frame-pointer # --- debug: CFLAGS := -pipe -MD -c -O0 -mthumb-interwork -nostdlib -g -fstack-check # --- .PHONY: release debug clean rebuild rebuild_release rebuild_debug # --- release: $(TARGET_BIN) # --- debug: $(TARGET_BIN) # --- LDFLAGS += -Map $(MAPFILE) -nostartfiles \ -Ttext 0x08000000 -Tbss 0x03000000 \ -L$(GNULIB) -L$(AGBLIB) -L<Директория_с_библиотеками> \ -l<Имя_подключаемой_библиотеки> -lagbsyscall -lisagbprn ASFLAGS := -mthumb-interwork SEARCH := $(addsuffix /*.s, $(SOURCE_DIRS)) \ $(addsuffix /*.c, $(SOURCE_DIRS)) \ $(addsuffix /*.o, $(SOURCE_DIRS)) OBJECTS := $(wildcard $(SEARCH)) OBJECTS := $(OBJECTS:%.s=%.o) OBJECTS := $(OBJECTS:%.c=%.o) OBJECTS := $(notdir $(OBJECTS)) # --- $(TARGET_BIN): $(TARGET_ELF) objcopy -v -O binary $< $@ # --- $(TARGET_ELF): $(OBJECTS) @echo > $(MAPFILE) $(CC) -g -o $@ $^ -Wl,$(LDFLAGS) vpath %.s $(SOURCE_DIRS) vpath %.c $(SOURCE_DIRS) vpath %.o $(SOURCE_DIRS) # --- %.o: %.s as.exe $(ASFLAGS) $(addprefix -I, $(INCLUDE_DIRS)) $(addprefix -I, $(SOURCE_DIRS)) -o $@ $< %.o: %.c $(CC) $(CFLAGS) $(addprefix -I, $(INCLUDE_DIRS)) $< # --- -include *.d # --- clean: -del *.o *.d $(TARGET_ELF) $(TARGET_BIN) $(MAPFILE) # --- rebuild: clean release rebuild_release: clean release rebuild_debug: clean debug # --- --- --- # В угловых скобках перечислены изменяемые опции (которые должны быть без скобок). Конечно должны быть определены системные переменные CC, AGBINC, GNUINC, AGBLIB, GNULIB и пр. Использование: make clean - очистить прект (от объектных и исполняемых файлов) make release - собрать релизную версию make debug - собрать отладочную версию make rebuild - полностью пересобрать релизную версию make rebuild_release - тоже самое make rebuild_debug - тоже самое, но для отладочной версии К вопросу о редактировании - проект на основе makefile'а можно прикрутить к VisualStudio, а взамен получить всяческие удобства по редактированию, сборке и управлению. |
| KoCMoHaBT |
Пятница, 02 мая 2003, 19:17
Отправлено
#23
|
|
Фанат ![]() ![]() ![]() Группа: Пользователи Сообщений: 200 Регистрация: 29 дек. 2002 Пользователь №: 301 ![]() ![]() |
Меня, кстати, давно удивляют два момента в фриварных GBAшных проектах -- игнорирование make и хранение данных в .h файлах.
Это какой-то странный, мистический феномен. |
| arabesc |
Суббота, 03 мая 2003, 01:30
Отправлено
#24
|
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Регистрация: 06 апр. 2003 Из: Москва Пользователь №: 1 674 ![]() ![]() |
Хранить данные в сорцах достаточно удобно - всегда можно что-нибудь ручками подправить :). Кроме того, интуитивно понятно и легко получить доступ к данным.
Возможно это уже стало неписаным стандартом. В моём случае, правда, это были не *.h, а *.c файлы, которые собирались в отдельную библиотеку ресурсов. В хидерах были только объявления. Обратная сторона этого подхода в том, что увеличивается време полной сборки, а компилятор может просто упасть на очередном многомегабайтном исходнике. |
| KoCMoHaBT |
Суббота, 03 мая 2003, 17:25
Отправлено
#25
|
|
Фанат ![]() ![]() ![]() Группа: Пользователи Сообщений: 200 Регистрация: 29 дек. 2002 Пользователь №: 301 ![]() ![]() |
Вот именно, что ты хранишь в .c, как положено природой. Эти-же хранят в .h и компилят какими-то .bat файлами... Странно.
|
| arabesc |
Воскресенье, 04 мая 2003, 02:55
Отправлено
#26
|
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Регистрация: 06 апр. 2003 Из: Москва Пользователь №: 1 674 ![]() ![]() |
А я подумал, что речь про утилитки, конвертирующие бинарные файлы сразу в объектный код, а данные в сорцах - это совсем плохо :)
Теперь понятно. |
| Mugz |
Воскресенье, 04 мая 2003, 16:52
Отправлено
#27
|
![]() Враг народа ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 2 836 Регистрация: 21 нояб. 2002 Из: Москва Пользователь №: 1 ![]() ![]() |
БРТМАН - тупица.
www.gbadev.org изучи его и не будешь ТУПЫЕ вопросы задавать. -------------------- who | grep -i woman | date; cd ~; unzip; touch; strip; finger; mount; gasp; yes; uptime; umount; sleep
|
| hood |
Пятница, 16 мая 2003, 04:13
Отправлено
#28
|
|
Безумец ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 547 Регистрация: 17 дек. 2002 Пользователь №: 198 ![]() ![]() |
ой мля, ну вы блин даете. 2Killka - премного благодарен, на досуге проверю. 2Bartman (или 2Mugz?) - сколько еще граммов флейма нужно чтоб поставить бан?
|
![]() ![]() |
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
| Упрощённая версия | Сейчас: Чт., 29 окт. 2026, 18:53 |




Среда, 30 апреля 2003, 20:48












