PROJECT = slaves MCU = ATTINY85 AS = avr-as LD = avr-ld RM = rm -rf MKDIR = @mkdir -p $(@D) # Custom/TI/build resource locations. SRCS = $(wildcard src/*.s) \ $(wildcard libs/*.s) OBJ = obj/ OBJS = $(addprefix $(OBJ),$(notdir $(SRCS:.s=.o))) LD_SCRIPT = ld/$(MCU).ld # Flags. AFLAGS = -mmcu=attiny85 --fatal-warnings # -ffunction-sections \ # -ffreestanding -fdata-sections -std=c2x -Wall -Wextra -Werror -DPART_${MCU} -c - # Compiler/standard resource locations. # More flags. LDFLAGS = -T $(LD_SCRIPT) --gc-sections # Targets. all: bin/$(PROJECT).elf $(OBJ)%.o: src/%.s $(MKDIR) $(AS) -o $@ $^ $(AFLAGS) $(info $$PROJECT is [${PROJECT}]) bin/$(PROJECT).elf: $(OBJS) $(MKDIR) $(LD) -o $@ $^ $(LDFLAGS) clean: -$(RM) obj -$(RM) bin .PHONY: all clean