# (c) Copyright 2010, ACTi Corporation, Inc. ALL RIGHTS RESERVED
#
# All software are Copyright 2010 by ACTi Corporation. ALL RIGHTS RESERVED.
# Redistribution and use in source and binary forms, with or without modification,
# are strictly prohibited.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESS
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


SHELL = /bin/bash
#SED = /bin/sed

TARGET_DIR := $(BUILD_TOPDIR)/output/staging


# The component list of this project
include Makefile.config


ifeq ($(OPTIMIZATION_LEVEL),op-level-0)
	OP_FLAGS = -O0
endif
ifeq ($(OPTIMIZATION_LEVEL),op-level-1)
	OP_FLAGS = -O1
endif
ifeq ($(OPTIMIZATION_LEVEL),op-level-2)
	OP_FLAGS = -O2
endif
ifeq ($(OPTIMIZATION_LEVEL),op-level-3)
	OP_FLAGS = -O3
endif


$(PACKAGE_COMPS:%=%-install):
	@make -C $(subst -install,,$@) install

$(PACKAGE_COMPS:%=%-clean):
	@make -C $(subst -clean,,$@) clean

$(PACKAGE_COMPS:%=%-distclean):
	@make -C $(subst -distclean,,$@) distclean

# Rules to build individual package
include Makefile.build


all: $(PACKAGE_COMPS)

install:
	@printf "Installing all packages\n"
	@for package in $(strip $(PACKAGE_COMPS)); do \
		if [ $$package = gdb-7.2 ]; then \
				make -C gdb-7.2/gdb/gdbserver CROSS_COMPILE=$(CROSS_COMPILE) install || break; \
		fi; \
		if [ -d $$package ]; then \
					make -C $$package CROSS_COMPILE=$(CROSS_COMPILE) install || break; \
		fi; \
	done
	@printf "Packages installed\n"

clean:
	@printf "Cleaning all packages up\n"
	@for package in $(strip $(PACKAGE_COMPS)); do \
		if [ -d $$package ]; then \
			make -C $$package clean; \
		fi; \
	done

distclean:
	@printf "Distleaning all packages up\n"
	@for package in $(strip $(PACKAGE_COMPS)); do \
		if [ -d $$package ]; then \
			make -C $$package distclean; \
		fi; \
	done

.PHONY: all install clean \
		$(PACKAGE_COMPS) $(PACKAGE_COMPS:%=%-install) $(PACKAGE_COMPS:%=%-clean) $(PACKAGE_COMPS:%=%-distclean)
