###############################################################################
# Makefile for project 
###############################################################################

## General options
PROJECT = 
MCU = ATmega328P
COMPILER = "WinAVR"
TARGET = Debug
SHELL = C:\Windows\system32\cmd.exe

## Tools general options
CCFLAGS=-Wextra -gdwarf-2 -fsigned-char -MD -MP -DF_CPU=16000000 -Os -mmcu=atmega328p -std=gnu99
LDFLAGS=-mmcu=atmega328p

## Processing Tools
CC=avr-gcc.exe
ASM=avr-gcc.exe
LD=avr-gcc.exe
#  D:/Clock/1/Clock/ATmega328P/Debug/Debug.elf: TOOL=LD
#  Post: $(OBJ) avr-objcopy -O ihex -R .eeprom "./Debug.elf" "./Debug.hex"
#  Post: $(OBJ) avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex "./Debug.elf" "./Debug.eep" || exit 0 
#     D:/Clock/1/Clock/ATmega328P/Debug/buttons.o: TOOL=CC
#        D:/Clock/1/Clock/ATmega328P/buttons.c
#     D:/Clock/1/Clock/ATmega328P/Debug/DS18B20.o: TOOL=CC
#        D:/Clock/1/Clock/ATmega328P/DS18B20.c
#     D:/Clock/1/Clock/ATmega328P/Debug/ds3231.o: TOOL=CC
#        D:/Clock/1/Clock/ATmega328P/ds3231.c
#     D:/Clock/1/Clock/ATmega328P/Debug/eeprom.o: TOOL=CC
#        D:/Clock/1/Clock/ATmega328P/eeprom.c
#     D:/Clock/1/Clock/ATmega328P/Debug/hsv_color_pallete.o: TOOL=CC
#        D:/Clock/1/Clock/ATmega328P/hsv_color_pallete.c
#     D:/Clock/1/Clock/ATmega328P/Debug/i2c.o: TOOL=CC
#        D:/Clock/1/Clock/ATmega328P/i2c.c
#     D:/Clock/1/Clock/ATmega328P/Debug/Nixie_clock.o: TOOL=CC
#        D:/Clock/1/Clock/ATmega328P/Nixie_clock.c
#     D:/Clock/1/Clock/ATmega328P/Debug/NixieDisplay.o: TOOL=CC
#        D:/Clock/1/Clock/ATmega328P/NixieDisplay.c
#     D:/Clock/1/Clock/ATmega328P/Debug/nRF24L01.o: TOOL=CC
#        D:/Clock/1/Clock/ATmega328P/nRF24L01.c
#     D:/Clock/1/Clock/ATmega328P/Debug/RGB.o: TOOL=CC
#        D:/Clock/1/Clock/ATmega328P/RGB.c
#     D:/Clock/1/Clock/ATmega328P/Debug/spi.o: TOOL=CC
#        D:/Clock/1/Clock/ATmega328P/spi.c
#     D:/Clock/1/Clock/ATmega328P/Debug/uart.o: TOOL=CC
#        D:/Clock/1/Clock/ATmega328P/uart.c
#     D:/Clock/1/Clock/ATmega328P/Debug/delay.o: TOOL=CC
#        D:/Clock/1/Clock/ATmega328P/delay.c

# Build tree:
all:	Debug

Debug:	Debug.elf

Debug.elf:	buttons.o DS18B20.o ds3231.o eeprom.o hsv_color_pallete.o i2c.o Nixie_clock.o NixieDisplay.o nRF24L01.o RGB.o spi.o uart.o delay.o 
	$(LD) $(LDFLAGS)  -o "./Debug.elf" "buttons.o" "DS18B20.o" "ds3231.o" "eeprom.o" "hsv_color_pallete.o" "i2c.o" "Nixie_clock.o" "NixieDisplay.o" "nRF24L01.o" "RGB.o" "spi.o" "uart.o" "delay.o"
	$(OBJ) avr-objcopy -O ihex -R .eeprom "./Debug.elf" "./Debug.hex"
	$(OBJ) avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex "./Debug.elf" "./Debug.eep" || exit 0 

buttons.o:	../buttons.c 
	$(CC) $(CCFLAGS)  -o "buttons.o" -c "../buttons.c"

DS18B20.o:	../DS18B20.c 
	$(CC) $(CCFLAGS)  -o "DS18B20.o" -c "../DS18B20.c"

ds3231.o:	../ds3231.c 
	$(CC) $(CCFLAGS)  -o "ds3231.o" -c "../ds3231.c"

eeprom.o:	../eeprom.c 
	$(CC) $(CCFLAGS)  -o "eeprom.o" -c "../eeprom.c"

hsv_color_pallete.o:	../hsv_color_pallete.c 
	$(CC) $(CCFLAGS)  -o "hsv_color_pallete.o" -c "../hsv_color_pallete.c"

i2c.o:	../i2c.c 
	$(CC) $(CCFLAGS)  -o "i2c.o" -c "../i2c.c"

Nixie_clock.o:	../Nixie_clock.c 
	$(CC) $(CCFLAGS)  -o "Nixie_clock.o" -c "../Nixie_clock.c"

NixieDisplay.o:	../NixieDisplay.c 
	$(CC) $(CCFLAGS)  -o "NixieDisplay.o" -c "../NixieDisplay.c"

nRF24L01.o:	../nRF24L01.c 
	$(CC) $(CCFLAGS)  -o "nRF24L01.o" -c "../nRF24L01.c"

RGB.o:	../RGB.c 
	$(CC) $(CCFLAGS)  -o "RGB.o" -c "../RGB.c"

spi.o:	../spi.c 
	$(CC) $(CCFLAGS)  -o "spi.o" -c "../spi.c"

uart.o:	../uart.c 
	$(CC) $(CCFLAGS)  -o "uart.o" -c "../uart.c"

delay.o:	../delay.c 
	$(CC) $(CCFLAGS)  -o "delay.o" -c "../delay.c"

# tidy - delete all temporary files which are not involved in the target generation
tidy:
	rm -rf ./buttons.d
	rm -rf ./DS18B20.d
	rm -rf ./ds3231.d
	rm -rf ./eeprom.d
	rm -rf ./hsv_color_pallete.d
	rm -rf ./i2c.d
	rm -rf ./Nixie_clock.d
	rm -rf ./NixieDisplay.d
	rm -rf ./nRF24L01.d
	rm -rf ./RGB.d
	rm -rf ./spi.d
	rm -rf ./uart.d
	rm -rf ./delay.d

# cleanup - delete all generated files
clean:	tidy
	rm -rf Debug.elf
	rm -rf buttons.o
	rm -rf DS18B20.o
	rm -rf ds3231.o
	rm -rf eeprom.o
	rm -rf hsv_color_pallete.o
	rm -rf i2c.o
	rm -rf Nixie_clock.o
	rm -rf NixieDisplay.o
	rm -rf nRF24L01.o
	rm -rf RGB.o
	rm -rf spi.o
	rm -rf uart.o
	rm -rf delay.o
