# RAM start + 1M
LOAD_TEXT_START := 0x80100000
# RAM start + 10M
RUN_TEXT_START  := 0x80A00000
#KERNEL_ENTRY := 0x80041000

STAGE2_FILES := \
	start.o \
	decompress.o \
	LzmaDecode.o \
	crc32.o \
	dbg_io.o

all: meraki-loader.elf

%.o: %.S
	$(CC) $(CFLAGS) -o $@ -c $<

%.o: %.c flashlayout.h
	$(CC) $(CFLAGS) -o $@ -c $<

stage2-flash.lds: stage2.lds.in
	sed -e 's,@LOADADDR@,$(RUN_TEXT_START),g' $< > $@.half
	sed -e 's,@EMBEDDED_KERNEL@,,g' $@.half > $@
	rm $@.half

meraki-loader.elf: stage2-flash.lds ${STAGE2_FILES}
	$(LD) -s -T$< -o $@.noreloc $(STAGE2_FILES)
	$(OBJCOPY) -j .text --adjust-vma=$$(($(LOAD_TEXT_START)-$(RUN_TEXT_START))) $@.noreloc $@

clean:
	rm *.o *.elf*
