Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> code::blocks настройка, прикрутить свой make 
:(
    Опции темы
sunnmas
Дата 20.4.2009, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 17.4.2009

Репутация: нет
Всего: нет



Програмирую под контроллеры arm. Перешел на среду code::blocks. Есть готовый мэйк файл который можно использовать. Как указать среде на него? 

Либо как отассемблировать файл, написанный на ассемблере и слинковать со всем остальным (скомпилировать то на g++ получается). Просто у меня код стартапа написан на ассемблере. Вот мой мэйк (на всякий случай): 

TRGT = arm-elf-
CPP  = $(TRGT)g++
CC   = $(TRGT)gcc
LD   = $(TRGT)ld
AS   = $(TRGT)as
OC   = $(TRGT)objcopy
SZ   = $(TRGT)size

MCU  = arm7tdmi
PROJECT = mit

LDSCRIPT  = AT91SAM7S64-ROM.ld
source_dirs = source
out_dir = out

#флаги g++
CPPFLAGS = -c  -g -O0 #-fexpensive-optimizations
#флаги gcc
CCFLAGS = -c -g -MD -O0
#флаги as
ASFLAGS = -Wa -amhls=$(out_dir)/$(notdir $(<:.s=.lst)) -ahls -mapcs-32
#флаги ld
LDFLAGS = -Wl,-T$(LDSCRIPT),-Map=$(out_dir)/$(PROJECT).map,--cref,-lstdc++,-lsupc++
LDFLAGS2= -mcpu=$(MCU) -nostartfiles -T$(LDSCRIPT) -Wl,--no-warn-mismatch

#флаги objcopy
OCFLAGS = --output-target=binary


search_wildcards  := $(addsuffix /*.s,$(source_dirs)) $(addsuffix /*.cpp,$(source_dirs)) $(addsuffix /*.c,$(source_dirs)) 
VPATH := $(source_dirs)
OBJECTS = $(addprefix $(out_dir)/, $(notdir $(patsubst %.c,%.o, $(patsubst %.cpp,%.o, $(patsubst %.s,%.o, $(wildcard $(search_wildcards)))))))


all:  clean binutilsversions $(PROJECT) $(out_dir)/$(PROJECT).elf size

.PHONY: clean
    
clean:
    rm -f $(addprefix $(out_dir)/, *.d *.o *.lst *.map *.out *.bin)
    
binutilsversions: 
    @echo ===================================================================
    @$(CPP) --version
    @echo ===================================================================
    @$(CC) --version
    @echo ===================================================================
    @$(AS) --version
    @echo ===================================================================
    @$(LD) --version
    @echo ===================================================================
    @echo    

$(out_dir)/$(PROJECT).elf: $(OBJECTS)
    $(CPP) $(OBJECTS) $(LDFLAGS2) -o $@

$(PROJECT): $(out_dir)/$(PROJECT).out
    $(OC) $(OCFLAGS) $< $(out_dir)/$(PROJECT).bin    

#линковка
$(out_dir)/$(PROJECT).out: $(OBJECTS)
    $(CPP) $(LDFLAGS) $^ -o $@
#$(LD) $(LDFLAGS) $^ -o $@
    
#компиляция
$(addprefix $(out_dir)/,%.o): %.c
    $(CC) $(CCFLAGS) $< -o $@

$(addprefix $(out_dir)/,%.o): %.cpp
    $(CPP) $(CPPFLAGS) $< -W -o $@
    
#асемблирование
$(addprefix $(out_dir)/,%.o): %.s
    $(AS) $(ASFLAGS) $< -o $@
           
size: $(out_dir)/$(PROJECT).out
    $(SZ) $<

include $(wildcard *.d)    

PM MAIL   Вверх
korbian
Дата 22.4.2009, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 336
Регистрация: 20.2.2007
Где: Penza

Репутация: 2
Всего: 14



для задействования существующего make файла, нужно сделать следующие:
  • project->properties->project settings: makefile [указать имя твоего makefile]; отметить флажок this is a custom Makefile;
  • project->build otions->"make" commands. прописать нужные тебе флаги для make.



--------------------
korbian ©
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0396 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.