CROSS_COMPILE ?= arm-linux-gnueabihf- JOBS ?= $(shell nproc) src_dir := $(CURDIR) build_root := $(src_dir)/build-ux500 output_dir := $(src_dir)/ste-ux500-samsung-bin boards := \ ste-ux500-samsung-codina \ ste-ux500-samsung-codina-tmo \ ste-ux500-samsung-gavini \ ste-ux500-samsung-golden \ ste-ux500-samsung-janice \ ste-ux500-samsung-kyle \ ste-ux500-samsung-skomer binaries := $(boards:%=$(output_dir)/%.bin) images := $(boards:%=$(output_dir)/%.img) .PHONY: build clean have-tools FORCE .SECONDARY: $(binaries) build: have-tools $(images) have-tools: @printf "Check that $(CROSS_COMPILE)gcc is available..." @command -v $(CROSS_COMPILE)gcc >/dev/null || { \ echo "ERROR"; \ echo "Cross-compiler $(CROSS_COMPILE)gcc is not in PATH=$(PATH)"; \ exit 1; \ } @echo "OK" @printf "Check that abootimg is available..." @command -v abootimg >/dev/null || { \ echo "ERROR"; \ echo "abootimg is not in PATH=$(PATH)"; \ exit 1; \ } @echo "OK" $(output_dir): mkdir -p $@ $(output_dir)/%.bin: FORCE | $(output_dir) rm -rf $(build_root)/$* $(MAKE) O=$(build_root)/$* CROSS_COMPILE=$(CROSS_COMPILE) \ stemmy_defconfig scripts/config --file $(build_root)/$*/.config --set-str \ DEFAULT_DEVICE_TREE "st/$*" $(MAKE) O=$(build_root)/$* CROSS_COMPILE=$(CROSS_COMPILE) \ olddefconfig $(MAKE) -j$(JOBS) O=$(build_root)/$* \ CROSS_COMPILE=$(CROSS_COMPILE) cp $(build_root)/$*/u-boot.bin $@ $(output_dir)/%.img: $(output_dir)/%.bin printf 'dummy\n' >$(build_root)/$*/null-initrd abootimg --create $@ -k $< -r $(build_root)/$*/null-initrd \ -c "bootsize=0x80000" -c "pagesize=0x800" \ -c "kerneladdr=0x100000" -c "ramdiskaddr=0x2000000" \ -c "secondaddr=0xf00000" -c "tagsaddr=0x100" clean: rm -rf $(build_root) $(output_dir) FORCE: