From b270fb1a79b18ee1b15613b46eedad20f0cb8901 Mon Sep 17 00:00:00 2001 From: burg Date: Wed, 21 Jul 2004 08:12:19 +0000 Subject: Création du projet accelerometre --- n/accel/Makefile.avr | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 n/accel/Makefile.avr (limited to 'n/accel/Makefile.avr') diff --git a/n/accel/Makefile.avr b/n/accel/Makefile.avr new file mode 100644 index 0000000..01c9b7b --- /dev/null +++ b/n/accel/Makefile.avr @@ -0,0 +1,100 @@ +# Flags. {{{1 + +CC = avr-gcc + +CFLAGS = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) \ + $(if $(CONFIGFILE), $(CONFIGFILE:%=-include %)) +CPPFLAGS = $(DEFS) -Imodules +LDFLAGS = + +OBJCOPY = avr-objcopy +OBJDUMP = avr-objdump + +# Main rules. {{{1 + +CSOURCES = $(filter %.c, $(SOURCES)) +SSOURCES = $(filter %.s, $(SOURCES)) +OBJECTS = $(CSOURCES:%.c=%.o) $(SSOURCES:%.s=%.o) +ELFS = $(PROGS:%=%.elf) + +all: elf lst hex + +.PHONY: all clean elf lst doc text hex srec bin eeprom ehex esrec ebin + +# Rules for modules. {{{1 + +MODULESFILES = $(MODULES:%=modules/%/Makefile.module) + +include $(MODULESFILES) + +SOURCES += $(MODULESSOURCES) + +$(MODULESFILES): + mkdir -p modules + cd modules && cvs co $(@:modules/%/Makefile.module=%) + test -f $@ + +# General rules. {{{1 + +elf: $(PROGS:%=%.elf) +lst: $(PROGS:%=%.lst) + +$(PROGS:%=%.elf): $(OBJECTS) + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) + +%.lst: %.elf + $(OBJDUMP) -h -S $< > $@ + +clean: + rm -f *.o $(OBJECTS) $(PROGS:%=%.elf) *.lst *.map *.bak *~ + rm -f $(DOC) *.exd $(EXTRA_CLEAN_FILES) $(TEXTS) $(EEPROMS) + +# Rules for building the doc. {{{1 + +doc: $(DOC) + +%.html: %.txt %.exd + aft $< + +%.exd: $(EXTRACTDOC) + test -n "$^" && extractdoc $^ > $@ || true + +# Rules for building the .text rom images. {{{1 + +TEXTS = $(PROGS:%=%.hex) $(PROGS:%=%.bin) $(PROGS:%=%.srec) + +text: hex bin srec + +hex: $(PROGS:%=%.hex) +bin: $(PROGS:%=%.bin) +srec: $(PROGS:%=%.srec) + +%.hex: %.elf + $(OBJCOPY) -j .text -j .data -O ihex $< $@ + +%.srec: %.elf + $(OBJCOPY) -j .text -j .data -O srec $< $@ + +%.bin: %.elf + $(OBJCOPY) -j .text -j .data -O binary $< $@ + +# Rules for building the .eeprom rom images. {{{1 + +EEPROMS = $(PROGS:%=%_eeprom.hex) $(PROGS:%=%_eeprom.bin) \ + $(PROGS:%=%_eeprom.srec) + +eeprom: ehex ebin esrec + +ehex: $(PROGS:%=%_eeprom.hex) +ebin: $(PROGS:%=%_eeprom.bin) +esrec: $(PROGS:%=%_eeprom.srec) + +%_eeprom.hex: %.elf + $(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O ihex $< $@ + +%_eeprom.srec: %.elf + $(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O srec $< $@ + +%_eeprom.bin: %.elf + $(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O binary $< $@ + -- cgit v1.2.3