134 lines
3.2 KiB
Makefile
134 lines
3.2 KiB
Makefile
# *****************************************************************************
|
|
# * 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
|