From 153453f34107fb5eb861c79e1f7f8b14b8649581 Mon Sep 17 00:00:00 2001 From: tslil clingman Date: Sat, 16 Jan 2021 14:52:56 -0500 Subject: Starting work on MCU port --- Makefile | 47 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 1dfb930..bc31852 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,7 @@ IDIR=include + +# ------------------------------------------------------------------- +# Computer stuff TPDIR=3rd-party DEFINES=-DDETERMINISTIC CFLAGS=-O3 -Wall -Wextra -std=c99 -D_DEFAULT_SOURCE $(DEFINES) -I$(IDIR) -I$(TPDIR) @@ -11,6 +14,27 @@ PROG=ctaklm STAT=pptdb SIZE=size +# ------------------------------------------------------------------- +# MCU stuff +MCU=atmega32 +F_CPU=20000000UL +ACC=avr-gcc +ACFLAGS=-Os -Wall -fpack-struct -fshort-enums -funsigned-bitfields -funsigned-char -I$(IDIR) +AOBJCOPY=avr-objcopy +AOBJSIZE=avr-size + +AVRDUDE=avrdude +ADFLAGS=-c usbasp -p t24 + +TARGET=mcu +AHEX=$(TARGET).hex +ASRC=src/$(TARGET).c $(wildcard include/*.c) +AOBJ=$(patsubst %.c, %.o, $(ASRC)) +AASM=$(patsubst %.c, %.s, $(ASRC)) + +# ------------------------------------------------------------------- +# Targets + %.o: %.c cc -c $< -o $@ $(CFLAGS) @@ -21,8 +45,25 @@ $(PROG): src/$(PROG).o $(OBJS) $(STAT): src/$(STAT).o $(OBJS) $(CC) $(CFLAGS) src/$(STAT).o $(OBJS) -o $(STAT) +avr: $(AHEX) $(AASM) ASUMMARY upload + +$(AHEX): $(AOBJ) + $(AOBJCOPY) -S -j .text -j .data -O ihex $< $@ + +$(AOBJ): $(ASRC) + $(ACC) $(ACFLAGS) -DF_CPU=$(F_CPU) -mmcu=$(MCU) $(ASRC) -o $@ + +%.s: %.c + $(ACC) -S $(ACFLAGS) -DF_CPU=$(F_CPU) -mmcu=$(MCU) $< -o $@ + +ASUMMARY: $(AOBJ) + @echo ---------------------------------------------------------------------- + @$(AOBJSIZE) $(AOBJ) $(AHEX) + +upload: $(TARGET).hex + $(AVRDUDE) $(ADFLAGS) -U flash:w:$< + clean: - rm -f $(PROG) - rm -f $(STAT) + rm -f $(PROG) $(STAT) $(OBJS) + rm -f $(AOBJ) $(AHEX) $(AASM) rm -f src/*.o - rm -f $(OBJS) -- cgit v1.3.1