CROSS_COMPILE ?= arm-none-eabi- # ISA-specific compilers were needed before but not with newer U-Boot # that are self-contained just like the kernel (no libgcc) #CROSS_COMPILE ?= armv4l- VARIANT ?= integratorcp_cm920t #VARIANT ?= integratorcp_cm926ejs #VARIANT ?= integratorap_cm920t #VARIANT ?= integratorap_cm926ejs #VARIANT ?= ap926ejs_config // in old build system # The old CodeSourcery binaries look like this # CROSS_COMPILE ?= arm-none-eabi- build_dir := $(CURDIR)/build-integrator output_dir := $(HOME) .PHONY: have-crosscompiler have-crosscompiler: @echo -n "Check that $(CROSS_COMPILE)gcc is available..." @which $(CROSS_COMPILE)gcc > /dev/null ; \ if [ ! $$? -eq 0 ] ; then \ echo "ERROR: cross-compiler $(CROSS_COMPILE)gcc not in PATH=$$PATH!" ; \ echo "ABORTING." ; \ exit 1 ; \ else \ echo "OK" ;\ fi .PHONY: have-arm-header have-arm-header: @echo -n "Check that arm-header is available..." @which arm-header > /dev/null ; \ if [ ! $$? -eq 0 ] ; then \ echo "ERROR: arm-header not in PATH=$$PATH!" ; \ echo "Please compile and install this tool" ; \ echo "ABORTING." ; \ exit 1 ; \ else \ echo "OK" ;\ fi build: have-crosscompiler have-arm-header FORCE rm -rf $(build_dir) @mkdir -p $(build_dir) $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) distclean $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) $(VARIANT)_config $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) # Old build system # $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) all # Remove comment header sed -i -e "1D" $(build_dir)/u-boot.srec # Remove the start (S7) line so we don't boot until manually in the # boot monitor sed -i -e "\$$D" $(build_dir)/u-boot.srec # Put a copies in the homedir cp $(build_dir)/u-boot.srec $(output_dir) cp $(build_dir)/u-boot.bin $(output_dir) arm-header $(output_dir)/u-boot.bin $(output_dir)/u-boot-padded.bin buildall: have-crosscompiler FORCE rm -rf $(build_dir) @mkdir -p $(build_dir) $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) distclean $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) integratorap_cm720t_config $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) sed -i -e "1D" $(build_dir)/u-boot.srec sed -i -e "\$$D" $(build_dir)/u-boot.srec cp $(build_dir)/u-boot.srec $(output_dir)/u-boot-ap-cm720t.srec arm-header $(build_dir)/u-boot.bin $(output_dir)/u-boot-ap-cm720t.padded.bin rm -rf $(build_dir) @mkdir -p $(build_dir) $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) distclean $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) integratorap_cm920t_config $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) sed -i -e "1D" $(build_dir)/u-boot.srec sed -i -e "\$$D" $(build_dir)/u-boot.srec cp $(build_dir)/u-boot.srec $(output_dir)/u-boot-ap-cm920t.srec arm-header $(build_dir)/u-boot.bin $(output_dir)/u-boot-ap-cm920t.padded.bin rm -rf $(build_dir) @mkdir -p $(build_dir) $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) distclean $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) integratorap_cm926ejs_config $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) sed -i -e "1D" $(build_dir)/u-boot.srec sed -i -e "\$$D" $(build_dir)/u-boot.srec cp $(build_dir)/u-boot.srec $(output_dir)/u-boot-ap-cm926ejs.srec arm-header $(build_dir)/u-boot.bin $(output_dir)/u-boot-ap-cm926ejs.padded.bin rm -rf $(build_dir) @mkdir -p $(build_dir) $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) distclean $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) integratorap_cm946es_config $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) sed -i -e "1D" $(build_dir)/u-boot.srec sed -i -e "\$$D" $(build_dir)/u-boot.srec cp $(build_dir)/u-boot.srec $(output_dir)/u-boot-ap-cm946es.srec arm-header $(build_dir)/u-boot.bin $(output_dir)/u-boot-ap-cm946es.padded.bin rm -rf $(build_dir) @mkdir -p $(build_dir) $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) distclean $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) integratorcp_cm920t_config $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) sed -i -e "1D" $(build_dir)/u-boot.srec sed -i -e "\$$D" $(build_dir)/u-boot.srec cp $(build_dir)/u-boot.srec $(output_dir)/u-boot-cp-cm920t.srec arm-header $(build_dir)/u-boot.bin $(output_dir)/u-boot-cp-cm920t.padded.bin rm -rf $(build_dir) @mkdir -p $(build_dir) $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) distclean $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) integratorcp_cm926ejs_config $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) sed -i -e "1D" $(build_dir)/u-boot.srec sed -i -e "\$$D" $(build_dir)/u-boot.srec cp $(build_dir)/u-boot.srec $(output_dir)/u-boot-cp-cm926ejs.srec arm-header $(build_dir)/u-boot.bin $(output_dir)/u-boot-cp-cm926ejs.padded.bin rm -rf $(build_dir) @mkdir -p $(build_dir) $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) distclean $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) integratorcp_cm946es_config $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) sed -i -e "1D" $(build_dir)/u-boot.srec sed -i -e "\$$D" $(build_dir)/u-boot.srec cp $(build_dir)/u-boot.srec $(output_dir)/u-boot-cp-cm946es.srec arm-header $(build_dir)/u-boot.bin $(output_dir)/u-boot-cp-cm946es.padded.bin rm -rf $(build_dir) @mkdir -p $(build_dir) $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) distclean $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) integratorcp_cm1136_config $(MAKE) O=$(build_dir) CROSS_COMPILE=$(CROSS_COMPILE) sed -i -e "1D" $(build_dir)/u-boot.srec sed -i -e "\$$D" $(build_dir)/u-boot.srec cp $(build_dir)/u-boot.srec $(output_dir)/u-boot-cp-cm1136.srec arm-header $(build_dir)/u-boot.bin $(output_dir)/u-boot-cp-cm1136.padded.bin clean: $(MAKE) O=$(build_dir) clean rm -rf $(build_dir) # Rules without commands or prerequisites that do not match a file name # are considered to always change when make runs. This means that any rule # that depends on FORCE will always be remade also. FORCE: