blob: 583ea3c170eed6540035a57d65f9c2bb62732581 [file] [log] [blame]
#
# Google makefile to build uboot for armada products
#
export CROSS_COMPILE_BH=$(PWD)/../../toolchains/armada/bin/arm-marvell-linux-uclibcgnueabi-
export CROSS_COMPILE=$(PWD)/../../toolchains/armada/bin/arm-marvell-linux-uclibcgnueabi-
version = $(shell ./version)
LOADERBIN_GFCH100 = ../../loader-bin/marvell/gfch100
GFCH100 = gfch100-dev gfch100-prod gfch100-openbox
UART1 = gfch100_uart1
MARVELL = marvell-spi marvell-nand
MV_BOARD = armada_38x
GF_BOARD = armada_38x_gfch100
all: clean $(GFCH100) extract
uart1: clean $(UART1) extract
marvell: clean $(MARVELL) extract
# don't run parallel, the several builds would mix .o files
.NOTPARALLEL:
clean:
make clean
rm -rf output.*
clobber: clean
-make distclean
rm -rf output
extract:
rm -rf output
for n in output.*.tar; do tar xf $$n; done
gfiber_private.pem:
@echo "$@ is required to sign binaries. Get a copy and put it next to Makefile.gfiber"
exit 1
#
# GENERATE_DIGEST(DIR, NAME)
#
define GENERATE_DIGEST
@echo "Generating digest for $(1)/$(2)"
openssl dgst -sign gfiber_private.pem -sha512 -binary -keyform \
PEM $(1)/$(2).bin > $(1)/$(2).sig
endef
install: gfiber_private.pem
# TODO(cgibson): Add signing support.
mkdir -p $(LOADERBIN_GFCH100)
cp output/gfch100-dev/le/spi/*dev-spi.bin $(LOADERBIN_GFCH100)/u-boot-spi-dev.bin
cp output/gfch100-dev/le/spi/*dev-spi-uart.bin $(LOADERBIN_GFCH100)/u-boot-spi-uart-dev.bin
cp output/gfch100-prod/le/spi/*prod-spi.bin $(LOADERBIN_GFCH100)/u-boot-spi-prod.bin
cp output/gfch100-openbox/le/spi/*openbox-spi.bin $(LOADERBIN_GFCH100)/u-boot-spi-openbox.bin
$(call GENERATE_DIGEST,$(LOADERBIN_GFCH100),u-boot-spi-dev)
$(call GENERATE_DIGEST,$(LOADERBIN_GFCH100),u-boot-spi-uart-dev)
$(call GENERATE_DIGEST,$(LOADERBIN_GFCH100),u-boot-spi-prod)
$(call GENERATE_DIGEST,$(LOADERBIN_GFCH100),u-boot-spi-openbox)
#
# BUILDPL(NAME, BOARD, BOOT, ARGS)
#
define BUILDPL
rm -rf output
./build.pl -b $(2) -f $(3) -v $(1)-$(version)-$(5) -i nand:spi -c -o output/$(1) $(4) -s $(5)
tar cf output.$(1).tar output
endef
marvell-%:
$(call BUILDPL,$@,$(MV_BOARD),$*,-i nand:spi,dev)
gfch100-%:
$(call BUILDPL,$@,$(GF_BOARD),spi,-i spi,$*)
gfch100_uart1:
$(call BUILDPL,$@,$(GF_BOARD),spi,-i spi -u 1,dev)