###########################################
# ATI product definitions
#
###########################################
ATI_BUILD_DIR = $(shell pwd)
ATI_LAST_PROFILE_COOKIE := $(ATI_BUILD_DIR)/.ati.last_profile
ATI_LAST_PROFILE        := $(strip $(shell cat $(ATI_LAST_PROFILE_COOKIE) 2>/dev/null))

ifeq ($(ATI_PRODUCT_FAMILY),iMG2500)
  PROFILE=96816GWV
endif

ifeq ($(ATI_PRODUCT_FAMILY),iMG2600)
	PROFILE=96818GWV
endif

ifeq ($(ATI_PRODUCT_FAMILY),iMG2600PT1)
  PROFILE=96816GWV
endif

ifeq ($(ATI_PRODUCT_FAMILY),iMG1600)
	PROFILE=96818GWV
endif

ifeq ($(ATI_PRODUCT_FAMILY),iMG1600PT1)
  PROFILE=96816GWV
endif

ifeq ($(ATI_PRODUCT_FAMILY),iMG1500)
  PROFILE=96368GWV
endif

ifeq ($(ATI_PRODUCT_FAMILY),iMG1400)
  PROFILE=96828GWV
endif

ifeq ($(ATI_PRODUCT_FAMILY),iMG2400)
  PROFILE=96818GWV
endif

ifeq ($(ATI_PRODUCT_FAMILY),iMG2700)
  PROFILE=96818GWV
endif

ifeq ($(ATI_PRODUCT_FAMILY),eDM1400)
  PROFILE=96828GWV
endif

ifeq ($(ATI_PRODUCT_FAMILY),iMG1800)
	PROFILE=96818GWV
endif

LOCALUSER=`echo $$USER`
PID=`echo $$PPID`

all: ati_profile_changed_check ati_product_family_check
	@if [ "$(ATI_PRODUCT_FAMILY)" != "" ]; then \
	  echo "$(ATI_PRODUCT_FAMILY)" > $(ATI_LAST_PROFILE_COOKIE); \
	  make -f Makefile.bcm PROFILE=$(PROFILE); \
	fi;

menuconfig:
	@make -f Makefile.bcm menuconfig

clean: 
	@make -f Makefile.bcm clean

ati_product_family_check:
	@if [ "$(ATI_LAST_PROFILE)" = "" ]; then \
	if [ "$(ATI_PRODUCT_FAMILY)" = "" ]; then \
	  echo "You must define ATI_PRODUCT_FAMILY to be one of the following (iMG1500, iMG2500)"; \
	  echo "ie. make ATI_PRODUCT_FAMILY=iMG1500"; \
	  echo "PROFILE is no longer used on the command line and will be overridden by the product family."; \
	  exit 1; \
	fi; \
	fi;
	@if [ "$(ATI_PRODUCT_FAMILY)" != "" ]; then \
	  case "$(ATI_PRODUCT_FAMILY)" in \
	    "iMG1400" ) ;& \
	    "iMG1500" ) ;& \
	    "iMG1600" ) ;& \
	    "iMG1600PT1" ) ;& \
	    "iMG2400" ) ;& \
	    "iMG2500" ) ;& \
	    "iMG2600" ) ;& \
	    "iMG2600PT1" ) ;& \
	    "iMG2700" ) ;& \
	    "eDM1400" ) ;& \
	    "iMG1800" ) \
	      cp -p targets/$(PROFILE)/$(PROFILE)_$(ATI_PRODUCT_FAMILY) targets/$(PROFILE)/$(PROFILE);; \
	    *) echo "Unknown ATI_PRODUCT_FAMILY: $(ATI_PRODUCT_FAMILY)";exit 1;; \
	esac; \
	fi;

ati_profile_changed_check:
ifneq ($(strip $(ATI_LAST_PROFILE)),)
  ifneq ($(strip $(ATI_PRODUCT_FAMILY)),)
    ifneq ($(strip $(ATI_LAST_PROFILE)),$(strip $(ATI_PRODUCT_FAMILY)))
		 	 @echo "The specified profile, $(ATI_PRODUCT_FAMILY), differs from the last one built, $(ATI_LAST_PROFILE)."; \
			 echo "The entire image must be rebuilt from the top of CommEngine."; \
			 read -p "Press ENTER to rebuild the entire image or CTRL-C to abort. " resp; \
			 $(MAKE) clean; \
			 $(MAKE) ATI_PRODUCT_FAMILY=$(ATI_PRODUCT_FAMILY); \
			 echo "Ignore the make exit error, Error 1"; \
			 exit 1;
    endif
  else
		$(MAKE) ATI_PRODUCT_FAMILY=$(ATI_LAST_PROFILE);
		@exit 0;
  endif
endif

testdeploy: create_build_env
	@cd /tmp/$(LOCALUSER)_$(PID)/iMG1400;git checkout .;make ATI_PRODUCT_FAMILY=iMG1400 &
	@cd /tmp/$(LOCALUSER)_$(PID)/iMG1500;git checkout .;make ATI_PRODUCT_FAMILY=iMG1500 &
	@cd /tmp/$(LOCALUSER)_$(PID)/iMG1600;git checkout .;make ATI_PRODUCT_FAMILY=iMG1600 &
	@cd /tmp/$(LOCALUSER)_$(PID)/iMG1600PT1;git checkout .;make ATI_PRODUCT_FAMILY=iMG1600PT1 &
	@cd /tmp/$(LOCALUSER)_$(PID)/iMG2400;git checkout .;make ATI_PRODUCT_FAMILY=iMG2400 &
	@cd /tmp/$(LOCALUSER)_$(PID)/iMG2500;git checkout .;make ATI_PRODUCT_FAMILY=iMG2500 &
	@cd /tmp/$(LOCALUSER)_$(PID)/iMG2600;git checkout .;make ATI_PRODUCT_FAMILY=iMG2600 &
	@cd /tmp/$(LOCALUSER)_$(PID)/iMG2600PT1;git checkout .;make ATI_PRODUCT_FAMILY=iMG2600PT1 &
	@cd /tmp/$(LOACLUSER)_$(PID)/eDM1400;git checkout .; make ATI_PRODUCT_FAMILY=eDM1400 &
	@cd /tmp/$(LOCALUSER)_$(PID)/iMG2700;git checkout .;make ATI_PRODUCT_FAMILY=iMG2700 &
	@cd /tmp/$(LOCALUSER)_$(PID)/iMG1800;git checkout .;make ATI_PRODUCT_FAMILY=iMG1800 &

create_build_env:
	@mkdir -p /tmp/$(LOCALUSER)_$(PID)/iMG1400
	@mkdir -p /tmp/$(LOCALUSER)_$(PID)/iMG1500
	@mkdir -p /tmp/$(LOCALUSER)_$(PID)/iMG1600
	@mkdir -p /tmp/$(LOCALUSER)_$(PID)/iMG1600PT1
	@mkdir -p /tmp/$(LOCALUSER)_$(PID)/iMG2400
	@mkdir -p /tmp/$(LOCALUSER)_$(PID)/iMG2500
	@mkdir -p /tmp/$(LOCALUSER)_$(PID)/iMG2600
	@mkdir -p /tmp/$(LOCALUSER)_$(PID)/iMG2600PT1
	@mkdir -p /tmp/$(LOCALUSER)_$(PID)/eDM1400
	@mkdir -p /tmp/$(LOCALUSER)_$(PID)/iMG2700
	@mkdir -p /tmp/$(LOCALUSER)_$(PID)/iMG1800
	@cp -r .git /tmp/$(LOCALUSER)_$(PID)/iMG1400/.git
	@cp -r .git /tmp/$(LOCALUSER)_$(PID)/iMG1500/.git
	@cp -r .git /tmp/$(LOCALUSER)_$(PID)/iMG1600/.git
	@cp -r .git /tmp/$(LOCALUSER)_$(PID)/iMG1600PT1/.git
	@cp -r .git /tmp/$(LOCALUSER)_$(PID)/iMG2400/.git
	@cp -r .git /tmp/$(LOCALUSER)_$(PID)/iMG2500/.git
	@cp -r .git /tmp/$(LOCALUSER)_$(PID)/iMG2600/.git
	@cp -r .git /tmp/$(LOCALUSER)_$(PID)/iMG2600PT1/.git
	@cp -r .git /tmp/$(LOCALUSER)_$(PID)/eDM1400/.git
	@cp -r .git /tmp/$(LOCALUSER)_$(PID)/iMG2700/.git
	@cp -r .git /tmp/$(LOCALUSER)_$(PID)/iMG1800/.git

