| # ***************************************************************************** | |
| # * 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 |