
#****************************************************************************#
# The information contained in this file is confidential and proprietary to  #
# Broadcom Corporation.  No part of this file may be reproduced or           #
# distributed, in any form or by any means for any purpose, without the      #
# express written permission of Broadcom Corporation.                        #
#                                                                            #
# (c) COPYRIGHT 2010-2011 Broadcom Corporation, ALL RIGHTS RESERVED.         #
#****************************************************************************#

include ../Makefile.inc
include ../Makefile.os

DMAKE_OUTPUT_MODE=TXT2
DMAKE_ADJUST_MAX_JOBS=YES
DMAKE_MAX_JOBS=8

DATE = date '+%Y%m%d'
PKGVERS=\"Version=$(BRCMVERSION),REV=$(DATE:sh).$(BRCMVERSION)\"

# Uncomment this line for debugging.  This sticks the drivers in the /tmp
# directory with symbolic links under /usr/kernel/drv which is useful for
# debugging boot/load crash issues because /tmp gets wiped during every boot.
#USE_TMP_DIR = -tmp

PKGPRFX = BRCMbge-${SOLARIS_VER}

all:
	@echo "Usage: make [ i386 | sparc ]"

i386:
	$(MAKE) BRCMbge-i386
	$(MAKE) BRCMbge-i386-dbg

sparc:
	$(MAKE) BRCMbge-sparc
	$(MAKE) BRCMbge-sparc-dbg


du:
	@echo "******************************"
	@echo "* Must perform this as root! *"
	@echo "******************************"
	$(MAKE) bgedu-i386

rawpkg-i386:
	mkdir i386
	cp ../build_rel_32_i386-${SOLARIS_VER}/bge*32 i386
	cp ../build_rel_64_i386-${SOLARIS_VER}/bge*64 i386
	sed -e "s/VERSION.*/VERSION=v$(BRCMVERSION)/"   \
	    -e "s/PRODVERS.*/PRODVERS=v$(BRCMVERSION)/" \
	    -e "s/ARCH.*/ARCH=i386/" pkginfo.src > i386/pkginfo
	pkgmk -f prototype-i386$(USE_TMP_DIR) -o -d i386 

rawpkg-i386-dbg:
	mkdir i386
	cp ../build_dbg_32_i386-${SOLARIS_VER}/bge*32 i386
	cp ../build_dbg_64_i386-${SOLARIS_VER}/bge*64 i386
	sed -e "s/VERSION.*/VERSION=v$(BRCMVERSION)/"   \
	    -e "s/PRODVERS.*/PRODVERS=v$(BRCMVERSION)/" \
	    -e "s/ARCH.*/ARCH=i386/" pkginfo.src > i386/pkginfo
	pkgmk -f prototype-i386$(USE_TMP_DIR) -o -d i386

BRCMbge-i386: rawpkg-i386
	-rm -f ${PKGPRFX}-i386-$(BRCMVERSION).pkg
	-rm -f ${PKGPRFX}-i386-$(BRCMVERSION).tar.Z
	echo "all" | pkgtrans -s i386 ${PKGPRFX}-i386-$(BRCMVERSION).pkg
	mv i386/*.pkg .
	tar -cvf ${PKGPRFX}-i386-$(BRCMVERSION).tar -C i386 BRCMbge
	compress -f ${PKGPRFX}-i386-$(BRCMVERSION).tar
	-rm -rf i386

BRCMbge-i386-dbg: rawpkg-i386-dbg
	-rm -f ${PKGPRFX}-i386-$(BRCMVERSION)-dbg.pkg
	-rm -f ${PKGPRFX}-i386-$(BRCMVERSION)-dbg.tar.Z
	echo "all" | pkgtrans -s i386 ${PKGPRFX}-i386-$(BRCMVERSION)-dbg.pkg
	mv i386/*.pkg .
	tar -cvf ${PKGPRFX}-i386-$(BRCMVERSION)-dbg.tar -C i386 BRCMbge
	compress -f ${PKGPRFX}-i386-$(BRCMVERSION)-dbg.tar
	-rm -rf i386



rawpkg-sparc:
	mkdir sparc
	cp ../build_rel_64_sparc-${SOLARIS_VER}/bge*64 sparc
	sed -e "s/VERSION.*/VERSION=v$(BRCMVERSION)/"   \
	    -e "s/PRODVERS.*/PRODVERS=v$(BRCMVERSION)/" \
	    -e "s/ARCH.*/ARCH=sparc/" pkginfo.src > sparc/pkginfo
	pkgmk -f prototype-sparc$(USE_TMP_DIR) -o -d sparc

rawpkg-sparc-dbg:
	mkdir sparc
	cp ../build_dbg_64_sparc-${SOLARIS_VER}/bge*64 sparc
	sed -e "s/VERSION.*/VERSION=v$(BRCMVERSION)/"   \
	    -e "s/PRODVERS.*/PRODVERS=v$(BRCMVERSION)/" \
	    -e "s/ARCH.*/ARCH=sparc/" pkginfo.src > sparc/pkginfo
	pkgmk -f prototype-sparc$(USE_TMP_DIR) -o -d sparc

BRCMbge-sparc: rawpkg-sparc
	-rm -f ${PKGPRFX}-sparc-$(BRCMVERSION).pkg
	-rm -f ${PKGPRFX}-sparc-$(BRCMVERSION).tar.Z
	echo "all" | pkgtrans -s sparc ${PKGPRFX}-sparc-$(BRCMVERSION).pkg
	mv sparc/*.pkg .
	tar -cvf ${PKGPRFX}-sparc-$(BRCMVERSION).tar -C sparc BRCMbge
	compress -f ${PKGPRFX}-sparc-$(BRCMVERSION).tar
	-rm -rf sparc

BRCMbge-sparc-dbg: rawpkg-sparc-dbg
	-rm -f ${PKGPRFX}-sparc-$(BRCMVERSION)-dbg.pkg
	-rm -f ${PKGPRFX}-sparc-$(BRCMVERSION)-dbg.tar.Z
	echo "all" | pkgtrans -s sparc ${PKGPRFX}-sparc-$(BRCMVERSION)-dbg.pkg
	mv sparc/*.pkg .
	tar -cvf ${PKGPRFX}-sparc-$(BRCMVERSION)-dbg.tar -C sparc BRCMbge
	compress -f ${PKGPRFX}-sparc-$(BRCMVERSION)-dbg.tar
	-rm -rf sparc



bgedu-i386: rawpkg-i386
	cp i386/bge32 bge
	cp i386/bge64 bge64
	sed "s/driverpkgvers.*/driverpkgvers=$(PKGVERS)/" itu > bge.itu
	bash fixdisk.sh $(BRCMVERSION)
	-rm -f bge
	-rm -f bge64
	-rm -f bge.itu
	-rm -rf i386

clean:
	-rm -f BRCMbge-*
	-rm -f bgedu-*.img
	-rm -f .make.state
	-rm -f bge
	-rm -f bge64
	-rm -f bge.itu
	-rm -rf i386 sparc

