24 lines
703 B
Makefile
24 lines
703 B
Makefile
PROGRAM_NAME = mqtt_ledpanel
|
|
SRC_DIR = src
|
|
BUILD_DIR = build
|
|
|
|
all: $(PROGRAM_NAME)
|
|
|
|
# Create the build directory
|
|
$(BUILD_DIR):
|
|
mkdir -pv $(BUILD_DIR)
|
|
|
|
# Compile and build the program for Atmega328P
|
|
$(PROGRAM_NAME): $(BUILD_DIR)
|
|
avr-gcc -mmcu=atmega328p -Wall -Os -o $(BUILD_DIR)/$(PROGRAM_NAME).elf $(SRC_DIR)/$(PROGRAM_NAME).c
|
|
|
|
avr-objcopy -j .text -j .data -O ihex $(BUILD_DIR)/$(PROGRAM_NAME).elf $(BUILD_DIR)/$(PROGRAM_NAME).hex
|
|
|
|
# Upload the built program (hex file) to Atmega328P using USBasp
|
|
upload: $(PROGRAM_NAME)
|
|
avrdude -c arduino -p m328p -P /dev/ttyUSB0 -b 57600 -U flash:w:$(BUILD_DIR)/$(PROGRAM_NAME).hex -D
|
|
|
|
# Remove build directory with all built files
|
|
clean:
|
|
rm -rf $(BUILD_DIR)
|