# ***************************************************************************** # * 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 # ****************************************************************************/ include make.rules STD_BOARDS = $(shell targets=""; \ for a in `echo board-*`; do \ if [ -e $$a/config ]; then \ targets="$$targets $$a"; \ else \ cd $$a; \ for b in `echo config* | sed -e s/config.//g`; do \ if [ "X$$b" != "Xsimics" ]; then \ if [ "X$$b" != "X`echo $$a|sed -e s/board-//g`" ]; then \ targets="$$targets $$a-$$b"; \ else \ targets="$$targets $$b"; \ fi fi \ done; \ cd ..; \ fi; \ done; \ echo $$targets | sed -e s/board-//g) all: @if [ ! -f .target ]; then \ echo "Please specify a build target:"; \ echo " $(STD_BOARDS)"; \ exit 1; \ fi @$(MAKE) `cat .target` rom: @echo "******* Build $(BOARD) System ********" @echo $(BOARD) > .target @$(MAKE) -C board-$(BOARD) @$(RM) -f .crc_flash rw: @echo "******* Build $(BOARD) system (RISCWatch boot) ********" @echo $(BOARD) > .target @$(MAKE) -C board-$(BOARD) l2b @$(RM) -f .crc_flash $(STD_BOARDS): @echo "******** Building $@ system ********" @if [ -f .target ]; then \ if [ `cat .target` != $@ ]; then \ echo "Configuration changed - cleaning up first..."; \ $(MAKE) distclean; \ echo $@ > .target; \ fi; \ else \ echo $@ > .target; \ fi @b=`echo $@ | grep "-"`; \ if [ -n "$$b" ]; then \ subboard=$${b##*-}; \ board=$${b%%-*}; \ $(MAKE) -C board-$$board SUBBOARD=$$subboard; \ else \ $(MAKE) -C board-$@; \ fi @$(RM) .crc_flash test_all: @for i in $(STD_BOARDS); do $(MAKE) distclean $$i; done driver: @echo "******** Building $(BOARD) system ********" @b=`echo $(BOARD) | grep "-"`; \ if [ -n "$$b" ]; then \ subboard=$${b##*-}; \ board=$${b%%-*}; \ DRIVER=1 $(MAKE) -C board-$$board SUBBOARD=$$subboard driver; \ else \ DRIVER=1 $(MAKE) -C board-$(BOARD) driver; \ fi @$(RM) -f .crc_flash .boot_xdr.ffs cli: $(MAKE) -C clients # Rules for making clean: clean_here: $(RM) boot_rom.bin .boot_rom.ffs boot_xdr.bin .boot_xdr.ffs $(RM) boot_l2-dd2.ad boot_l2b.bin .crc_flash clean: clean_here @if [ -e .target ]; then \ tar=`cat .target`; \ b=`echo $$tar | grep "-"`; \ if [ -n "$$b" ]; then \ subboard=$${b##*-}; \ board=$${b%%-*}; \ $(MAKE) -C board-$$board SUBBOARD=$$subboard clean; \ else \ pwd; \ $(MAKE) -C board-$$tar clean; \ fi \ fi distclean: clean_here @if [ -e .target ]; then \ tar=`cat .target`; \ b=`echo $$tar | grep "-"`; \ if [ -n "$$b" ]; then \ subboard=$${b##*-}; \ board=$${b%%-*}; \ $(MAKE) -C board-$$board SUBBOARD=$$subboard distclean; \ else \ $(MAKE) -C board-$$tar distclean; \ fi; \ $(RM) .target; \ fi distclean_all: clean_here @for dir in board-* ; do \ $(MAKE) -C $$dir distclean || exit 1; \ done $(RM) .target cli-clean: $(MAKE) -C clients clean