| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > code::blocks настройка |
| Автор: sunnmas 20.4.2009, 14:51 |
| Програмирую под контроллеры 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) |
| Автор: korbian 22.4.2009, 09:21 |
для задействования существующего make файла, нужно сделать следующие:
|