Цитата(amok @ Oct 8 2005, 12:51)
MSP430-GCC makefile для сборки .elf из .c файла:
Кто нибудь может подсказать человеческий makefile для сборки ELF файла из исходника на Си?
Желательно чтобы был похож на makefile для helloworld программ на Си.
Makefile из Руководства непонятен.
С Уважением, Amok.
Вот простенький Makefile с автоматическим построением зависимостей для случая , когда все свалено в один каталог.
Код
NAME = name
CPU = msp430x149
ASFLAGS = -mmcu=${CPU} -D_GNU_ASSEMBLER_ -Wa,-gstabs -g
CFLAGS = -mmcu=${CPU} -O2 -Wall -g
CC = msp430-gcc
AS = msp430-gcc
CLEANEXTS := *.bak *.tmp *.o *.d *.elf *.a43 *.l43 *.s
sources = $(wildcard *.c) $(wildcard *.S)
objects = $(addsuffix .o,$(basename $(sources)))
depends = $(objects:.o=.d)
.PHONY: all clean
all: ${NAME}.elf ${NAME}.hex ${NAME}.l43
build: clean all
${NAME}.elf: ${objects}
${CC} -mmcu=${CPU} -o $@ $^
${NAME}.hex: ${NAME}.elf
msp430-objcopy -O ihex $^ $@
${NAME}.l43: ${NAME}.elf
msp430-objdump -dStl $^ >$@
clean:
rm -f $(CLEANEXTS)
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
%.o: %.S
$(AS) $(ASFLAGS) -c -o $@ $<
%.d: %.c
@echo "Making depends for $<"
$(CC) -MM $(CPPFLAGS) $(CFLAGS) $< 1>$@
%.d: %.S
@echo "Making depends for $<"
$(CC) -MM $(CPPFLAGS) $(ASFLAGS) $< 1>$@
dep: $(depends)
include $(depends)