TAL_SRC = ${TAL_HOME}/src/tal TAL_LCS = ${TAL_HOME}/lcs # PRG = test1 # OBJ = $(PRG).o # PRG = ds3231test # OBJ = $(PRG).o ${TAL_SRC}/i2c.o ${TAL_SRC}/usart_funcs.o # F_CPU = 16000000 PRG = novoclock OBJ = $(PRG).o novowheel.o \ ${TAL_SRC}/usart_funcs.o \ ${TAL_LCS}/avr/io.o novosim.o # ${TAL_SRC}/i2c.o F_CPU = 16000000 #MCU_TARGET = atmega8 #MCU_TARGET = atmega48 #MCU_TARGET = atmega88 #MCU_TARGET = atmega168 #MCU_TARGET = atmega168p MCU_TARGET = atmega328p OPTIMIZE = -O2 WARNINGS = -g -Wall -Werror DEFS = -I. -I${TAL_HOME}/inc -DF_CPU=${F_CPU} LIBS = -lpthread # You should not have to change anything below here. CC = gcc CPP = g++ -std=c++20 -Wno-volatile AS = gcc # Override is only needed by avr-lib build system. override CFLAGS = $(WARNINGS) $(OPTIMIZE) -DSIMULATION -DMCU_TARGET=$(MCU_TARGET) -I${TAL_HOME}/lcs $(DEFS) # override ASFLAGS = -mmcu=$(MCU_TARGET) override ASFLAGS = # override LDFLAGS = -Wl,-Map,$(PRG).map override LDFLAGS = # all: lines $(PRG).elf lst text eeprom all: lines $(PRG) burn: all avrdude -c stk500 -P /dev/ttyUSB0 -p $(MCU_TARGET) -U flash:w:$(PRG).srec usbasp: all avrdude -c usbasp -p $(MCU_TARGET) -U flash:w:$(PRG).srec lines: .PHONY yes ''|head @echo "checking if environment variable TAL_HOME is set" test -n "${TAL_HOME}" run: all ./${PRG} .PHONY: $(PRG): $(OBJ) $(CPP) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) .c.s: $< $(CC) $(CFLAGS) -S $< .cpp.o: $< $(CPP) $(CFLAGS) -c $< -o $@ .cpp.s: $< $(CPP) $(CFLAGS) -S $< clean: rm -rf $(OBJ) $(PRG)