From 750ab2f0824ac5ce4da1c4742f1872ee93b10395 Mon Sep 17 00:00:00 2001 From: Paul Molloy Date: Sat, 22 Jul 2017 17:26:44 -0500 Subject: [PATCH] Creating one Makefile that calls the other makefiles as shortcut --- firmware/Make_avr | 38 +++++------ firmware/Makefile | 11 ++++ firmware/build_avr/avr_kazzo.elf | Bin 0 -> 12248 bytes firmware/build_avr/avr_kazzo.hex | 96 ++++++++++++++++++++++++++++ firmware/build_stm/inlretro_stm.elf | Bin 78492 -> 78492 bytes firmware/build_stm/inlretro_stm.map | 84 ++++++++++++------------ 6 files changed, 168 insertions(+), 61 deletions(-) create mode 100644 firmware/Makefile create mode 100644 firmware/build_avr/avr_kazzo.elf create mode 100644 firmware/build_avr/avr_kazzo.hex diff --git a/firmware/Make_avr b/firmware/Make_avr index ad3a34b..8b386d1 100644 --- a/firmware/Make_avr +++ b/firmware/Make_avr @@ -9,6 +9,7 @@ DEVICE = atmega164a F_CPU = 16000000 # in Hz PROJ = avr_kazzo +BUILD = build_avr # Fuses and ISP programming handled in bootloader firmware build #SOURCES=$(wildcard source/**/*.c source/*.c) @@ -22,22 +23,21 @@ COMPILE = avr-gcc -Wall -Os -DF_CPU=$(F_CPU) $(CFLAGS) -mmcu=$(DEVICE) # symbolic targets: help: @echo "This Makefile has no default rule. Use one of the following:" - @echo "make hex ............ to build $(PROJ).hex" - @echo "make program ........ windows flash firmware via bootloader" - @echo "make program_unix ... unix flash firmware via bootloader" + @echo "make hex ............ to build $(BUILD)/$(PROJ).hex" + @echo "make program ........ flash firmware via bootloader" @echo "make clean .......... to delete objects and hex file" -hex: $(PROJ).hex +hex: $(BUILD)/$(PROJ).hex -program: $(PROJ).hex - ../bootloader/commandline/bootloadHID.exe -r $< - -program_unix: $(PROJ).hex +program: $(BUILD)/$(PROJ).hex ../bootloader/commandline/bootloadHID -r $< +dir: + mkdir -p $(BUILD) + # rule for deleting dependent files (those which can be built by Make): clean: - rm -f $(PROJ).hex $(PROJ).lst $(PROJ).obj $(PROJ).cof $(PROJ).list $(PROJ).map $(PROJ).eep.hex $(PROJ).elf $(OBJECTS) $(PROJ).s usbdrv_Vusb/oddebug.s usbdrv_Vusb/usbdrv.s source/shared_* + rm -rf $(BUILD) $(OBJECTS) $(BUILD)/$(PROJ).s usbdrv_Vusb/oddebug.s usbdrv_Vusb/usbdrv.s source/shared_* # Generic rule for compiling C files: .c.o: @@ -57,22 +57,22 @@ clean: # file targets: -$(PROJ).elf: shared $(OBJECTS) - $(COMPILE) -o $(PROJ).elf $(OBJECTS) +$(BUILD)/$(PROJ).elf: dir shared $(OBJECTS) + $(COMPILE) -o $(BUILD)/$(PROJ).elf $(OBJECTS) -$(PROJ).hex: $(PROJ).elf - rm -f $(PROJ).hex $(PROJ).eep.hex - avr-objcopy -j .text -j .data -O ihex $(PROJ).elf $(PROJ).hex -# avr-size -C --mcu=${DEVICE} $(PROJ).elf - avr-size $(PROJ).elf +$(BUILD)/$(PROJ).hex: $(BUILD)/$(PROJ).elf + rm -f $(BUILD)/$(PROJ).hex $(BUILD)/$(PROJ).eep.hex + avr-objcopy -j .text -j .data -O ihex $(BUILD)/$(PROJ).elf $(BUILD)/$(PROJ).hex +# avr-size -C --mcu=${DEVICE} $(BUILD)/$(PROJ).elf + avr-size $(BUILD)/$(PROJ).elf # debugging targets: -disasm: $(PROJ).elf - avr-objdump -d $(PROJ).elf +disasm: $(BUILD)/$(PROJ).elf + avr-objdump -d $(BUILD)/$(PROJ).elf cpp: - $(COMPILE) -E $(PROJ).c + $(COMPILE) -E $(BUILD)/$(PROJ).c #copy shared .h files which are used in host and firmware shared: diff --git a/firmware/Makefile b/firmware/Makefile new file mode 100644 index 0000000..a89ecbc --- /dev/null +++ b/firmware/Makefile @@ -0,0 +1,11 @@ +#Single Makefile for all devices + +all: + make -f Make_avr clean hex + make -f Make_stm clean + make -f Make_stm + +avr: + make -f Make_avr clean program +stm: + make -f Make_stm clean program diff --git a/firmware/build_avr/avr_kazzo.elf b/firmware/build_avr/avr_kazzo.elf new file mode 100644 index 0000000000000000000000000000000000000000..dffad8db9215922ee28658058966ed86d31d078d GIT binary patch literal 12248 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 z