From aaad509cdca2ed5f2c92a26f5279ec0e89c4fd5f Mon Sep 17 00:00:00 2001 From: Benjamin Herrenschmidt Date: Wed, 1 Dec 2010 09:51:44 +1100 Subject: Initial import of slof-JX-1.7.0-4 Signed-off-by: Benjamin Herrenschmidt --- Makefile.gen | 213 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 213 insertions(+) create mode 100644 Makefile.gen (limited to 'Makefile.gen') diff --git a/Makefile.gen b/Makefile.gen new file mode 100644 index 0000000..3c5d116 --- /dev/null +++ b/Makefile.gen @@ -0,0 +1,213 @@ +# ***************************************************************************** +# * Copyright (c) 2004, 2008 IBM Corporation +# * All rights reserved. +# * This program and the accompanying materials +# * are made available under the terms of the BSD License +# * which accompanies this distribution, and is available at +# * http://www.opensource.org/licenses/bsd-license.php +# * +# * Contributors: +# * IBM Corporation - initial implementation +# ****************************************************************************/ + + +MAKEARG = BOARD=$(BOARD) PLATFORM=$(PLATFORM) FLAG=$(FLAG) TARG=$(TARG) + +BUILDS = tools_build romfs_build + +include ../make.rules + +ifdef DRIVER +RELEASE=$(shell cat ../VERSION) +export DRIVER_NAME=$(shell cat ../VERSION | sed -e "s/-/./g" | awk -F . '{ printf("%s%02d%02d%1s%02s",$$1,$$2,$$3,$$4,$$5); }') +else +RELEASE="$(USER)@$(HOSTNAME)(private build)" +export DRIVER_NAME=HEAD +endif + + +DRVDATE=$(shell date +%Y-%h%d) + +FLASH_SIZE_MB = `echo $$[ $(FLASH_SIZE)/1024/1024 ]` + +DTB_ROMFS_FLAG ?= 0 +DTB_ROMFS_ADDR ?= 0 + +llfw_disassembly: + make -C $(LLFWBRDDIR) stage1.dis stage2.dis stageS.dis + +clients_build: + @echo " ====== Building clients ======" + make -C ../clients $(MAKEARG) + +other_licence_build: + make -C ../other-licence $(MAKEARG) + +tools_build: + make -C ../tools + +romfs_build: + make -C ../romfs/tools $(MAKEARG) + +../build_info.img: + @echo "$(CC)" > ../build_info.img + @$(CC) -v >> ../build_info.img 2>&1 + @$(LD) -V >> ../build_info.img 2>&1 + +../$(SUBBOARD).dtb: + @if [ -e dts/$(SUBBOARD).dts ]; then \ + dtc -q -I dts -O dtb dts/$(SUBBOARD).dts > $@; \ + fi + +boot_rom.bin boot_xdr.bin: $(BUILDS) ../build_info.img ../$(SUBBOARD).dtb +ifeq ($(DO_COMPRESS),1) + + @echo " ====== Building packed $@ ======" + @if [ -e $(ROMFSBRDDIR)/boot_rom.$(SUBBOARD).ffs ]; then \ + cat $(ROMFSBRDDIR)/boot_rom.$(SUBBOARD).ffs > ../.boot_rom.ffs; \ + cat $(ROMFSBRDDIR)/boot_rom.$(SUBBOARD).pack.ffs > ../.boot_rom.pack.ffs; \ + else \ + cat $(ROMFSBRDDIR)/boot_rom.ffs > ../.boot_rom.ffs; \ + cat $(ROMFSBRDDIR)/boot_rom.pack.ffs > ../.boot_rom.pack.ffs; \ + fi + @if [ -e $(PCDBRDDIR)/pcdfiles.ffs ]; then \ + cat $(PCDBRDDIR)/pcdfiles.ffs >> ../.boot_rom.ffs; \ + cat $(PCDBRDDIR)/pcdfiles.ffs >> ../.boot_rom.pack.ffs; \ + fi + + @echo "romfs.pack boot_rom.bin.pack.nv 0 0" >> ../.boot_rom.ffs + + cat $(SLOFBRDDIR)/OF.ffs >> ../.boot_rom.pack.ffs + @echo build_info.img build_info.img 0 0 >> ../.boot_rom.pack.ffs + @if [ -e ../$(SUBBOARD).dtb ]; then \ + echo dtb $(SUBBOARD).dtb $(DTB_ROMFS_FLAG) \ + $(DTB_ROMFS_ADDR) >> ../.boot_rom.pack.ffs; \ + fi; + cd .. && ./romfs/tools/build_romfs $(ROMFS_OPTIONS) .boot_rom.pack.ffs boot_rom.bin.pack + cd .. && ./tools/pknova -q boot_rom.bin.pack boot_rom.bin.pack.nv; + cd .. && ./romfs/tools/build_romfs $(ROMFS_OPTIONS) .boot_rom.ffs $@ + if [ "$@" = "boot_rom.bin" ]; then \ + rm ../boot_rom.bin.pack; \ + rm ../boot_rom.bin.pack.nv; \ + fi; +else + @echo " ====== Building $@ ======" + @if [ -e $(ROMFSBRDDIR)/boot_rom.$(SUBBOARD).ffs ]; then \ + cat $(ROMFSBRDDIR)/boot_rom.$(SUBBOARD).ffs > ../.boot_rom.ffs; \ + else \ + cat $(ROMFSBRDDIR)/boot_rom.ffs > ../.boot_rom.ffs; \ + fi + @if [ -e $(PCDBRDDIR)/pcdfiles.ffs ]; then \ + cat $(PCDBRDDIR)/pcdfiles.ffs >> ../.boot_rom.ffs; \ + fi + cat $(SLOFBRDDIR)/OF.ffs >> ../.boot_rom.ffs + @echo build_info.img build_info.img 0 0 >> ../.boot_rom.ffs + @if [ -e ../$(SUBBOARD).dtb ]; then \ + echo dtb $(SUBBOARD).dtb $(DTB_ROMFS_FLAG) \ + $(DTB_ROMFS_ADDR) >> ../.boot_rom.ffs; \ + fi + @if [ -e slik.elf ]; then \ + echo "slik.elf available ..."; \ + echo slik board-$(BOARD)/slik.elf 0 0 >> \ + ../.boot_rom.ffs; \ + fi + cd .. && ./romfs/tools/build_romfs $(ROMFS_OPTIONS) .boot_rom.ffs $@ +endif + cd .. && if [ -f $@.gz ]; then rm -f $@.gz; gzip -9 $@ ; fi + rm -f ../.boot_rom.*ffs + rm -f ../$(SUBBOARD).dtb + +../boot_l2b.bin: $(BUILDS) ../romfs/copyright.img ../$(SUBBOARD).dtb + @if [ -e $(ROMFSBRDDIR)/boot_l2.$(SUBBOARD).ffs ]; then \ + cd .. && ./romfs/tools/build_romfs $(ROMFS_OPTIONS) $(ROMFSBRDDIR)/boot_l2.$(SUBBOARD).ffs boot_l2b.bin; \ + else \ + cd .. && ./romfs/tools/build_romfs $(ROMFS_OPTIONS) $(ROMFSBRDDIR)/boot_l2.ffs boot_l2b.bin; \ + fi + @if [ -e ../$(SUBBOARD).dtb ]; then \ + echo dtb $(SUBBOARD).dtb $(DTB_ROMFS_FLAG) \ + $(DTB_ROMFS_ADDR) >> ../.boot_rom.ffs; \ + fi + rm -f ../$(SUBBOARD).dtb + +boot_l2.ad boot_l2-dd2.ad: ../boot_l2b.bin + @cd ../tools && ./elf2l2 dd2 ../boot_l2b.bin 0 ../$@ + +external_flasher: ../boot_rom.bin + ../tools/make-flasher-image.sh $(FLASH_SIZE) ../boot_rom.bin \ + ../boot_rom-$(FLASH_SIZE_MB)MB-BigEndian.bin + +driver_dirs: + @rm -rf ../driver-$(RELEASE) + @mkdir -p ../driver-$(RELEASE)/{rom,l2b,disassemblies} + +driver_prep: + @echo "Building driver "$(RELEASE)" for $(BOARD)" + +copy_disassemblies: llfw_disassembly + cp $(LLFWBRDDIR)/stage1.dis \ + ../driver-$(RELEASE)/disassemblies/$(RELEASE)-stage1.dis + cp $(LLFWBRDDIR)/stage2.dis \ + ../driver-$(RELEASE)/disassemblies/$(RELEASE)-stage2.dis + cp $(LLFWBRDDIR)/stageS.dis \ + ../driver-$(RELEASE)/disassemblies/$(RELEASE)-stageS.dis + cp $(LLFWBRDDIR)/meminit.dis \ + ../driver-$(RELEASE)/disassemblies/$(RELEASE)-meminit.dis + @if [ -e ../clients/snk/client.dis ]; then cp ../clients/snk/client.dis \ + ../driver-$(RELEASE)/disassemblies/$(RELEASE)-client.dis; fi + +copy_driver: copy_disassemblies external_flasher + mv ../boot_rom-$(FLASH_SIZE_MB)MB-BigEndian.bin \ + ../driver-$(RELEASE)/rom/$(RELEASE)-boot_rom-$(FLASH_SIZE_MB)MB-BigEndian.bin + mv ../boot_rom.bin \ + ../driver-$(RELEASE)/rom/$(RELEASE)-boot_rom.bin + if [ -e ../boot_l2-dd2.ad ]; then \ + mv ../boot_l2-dd2.ad \ + ../driver-$(RELEASE)/l2b/; \ + else \ + mv ../boot_l2.ad \ + ../driver-$(RELEASE)/l2b/; fi + mv ../boot_xdr.bin \ + ../driver-$(RELEASE)/l2b/ + cp ../VERSION ../driver-$(RELEASE) + cd ../driver-$(RELEASE) && md5sum rom/*.bin > md5sum.txt + +tar_gz: copy_driver + @cp -a ../driver-$(RELEASE) ../driver-$(RELEASE)-$(DRVDATE)-devel + tar czf ../driver-$(RELEASE)-$(DRVDATE)-devel.tar.gz \ + ../driver-$(RELEASE)-$(DRVDATE)-devel > /dev/null 2>&1 + @rm -rf ../driver-$(RELEASE)-$(DRVDATE)-devel + @rm -rf ../driver-$(RELEASE)/disassemblies + @mv ../driver-$(RELEASE) ../driver-$(RELEASE)-$(DRVDATE) + tar czf ../driver-$(RELEASE)-$(DRVDATE).tar.gz \ + ../driver-$(RELEASE)-$(DRVDATE) > /dev/null 2>&1 + @rm -rf ../driver-$(RELEASE)-$(DRVDATE) + +clean_top: + @rm -f ../build_info.img + @rm -f ../.crc_flash + @rm -f ../$(SUBBOARD).dtb + +clean_gen: clean_top + make -C ../romfs/tools BOARD=$(BOARD) clean + make -C ../tools clean + make -C ../other-licence clean + make -C ../clients clean + @for dir in $(COMMON_LIBS); do \ + $(MAKE) -C ../lib/$$dir clean || exit 1; \ + done + +distclean_gen: clean_top + make -C ../romfs/tools BOARD=$(BOARD) distclean + make -C ../tools distclean + make -C ../other-licence distclean + make -C ../clients distclean + @for dir in $(COMMON_LIBS); do \ + $(MAKE) -C ../lib/$$dir distclean || exit 1; \ + done + +common-libs: + @echo " ====== Building common libraries ======" + $(MAKE) -C $(LIBCMNDIR) $(COMMON_LIBS) + +board-libs: + $(MAKE) -C lib $(MAKEARG) -- cgit v1.1