mqtt_ledpanel/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)