#
# Makefile for a ramdisk image
#

obj-y += ramdisk.o

ifndef CONFIG_EMPTY_RAMDISK
O_FORMAT = $(shell $(OBJDUMP) -i | head -n 2 | grep elf32)
data := $(subst ",,$(CONFIG_EMBEDDED_RAMDISK_IMAGE))

config_files = include/config/gzip/ramdisk.h

# add $(src) when $(data) is relative
data := $(subst $(src)//,/,$(src)/$(data))

ifdef CONFIG_GZIP_RAMDISK
img := $(data).gz
define cmd_gzip
	gzip -c $(data) > $(img)
endef

$(img): $(data)
	$(call cmd,gzip)
else
img := $(data)
endif

quiet_cmd_ramdisk = LD      $@
define cmd_ramdisk
	$(LD) -T $(src)/ld.script -b binary --oformat $(O_FORMAT) -o $@ $(img)
endef

$(obj)/ramdisk.o: $(img) $(src)/ld.script $(config_files)
	$(call cmd,ramdisk)
endif
