CC=arm-elf-eabi-gcc LD=arm-elf-eabi-gcc AS=arm-elf-eabi-gcc OC=arm-elf-eabi-objcopy ELF2SB=./elftosb2 ELF2SB_CMD=recovery.db ELF2SB_KEY=fuze+_key_file.txt CFLAGS=-Wall -O2 -std=c99 -nostdlib -ffreestanding -mcpu=arm926ej-s -fomit-frame-pointer ASFLAGS=$(CFLAGS) -D__ASSEMBLER__ OCFLAGS= LINKER_FILE=recovery.lds LDFLAGS=-lgcc -Os -nostdlib -T$(LINKER_FILE) -Wl,-Map,kernel.map SRC_C=$(wildcard *.c) SRC_S=$(wildcard *.S) OBJ_C=$(SRC_C:.c=.o) OBJ_S=$(SRC_S:.S=.o) OBJ=$(OBJ_C) $(OBJ_S) OBJ_EXCEPT_CRT0=$(filter-out crt0.o,$(OBJ)) all: recovery.sb %.o: %.c $(CC) $(CFLAGS) -c -o $@ $< %.o: %.S $(AS) $(ASFLAGS) -c -o $@ $< recovery.elf: $(OBJ) $(LD) $(LDFLAGS) -o $@ $(OBJ_EXCEPT_CRT0) recovery.sb: recovery.elf $(ELF2SB) -c $(ELF2SB_CMD) -k $(ELF2SB_KEY) -d -V -o $@ clean: rm -rf $(OBJ)