#
#  This software is distributed as is, without any warranty of any kind,either
#  express or implied as further specified in the GNU Public License.
#  This software may be used and distributed according to the terms of the
#  GNU Public License.
#  Name:        Makefile
#
# Description: makefile for building bcm5820 driver software
# 
# BCM5820 is a registered trademark of Broadcom Corporation
#

#Change the settings here
BINNAME=bcm5820
# /etc/rc.d/init.d filename
INITDBINNAME=bcm5820
DIAGBINNAME=b58diag
STATBINNAME=b58stats
SPECNAME=bcm5820

# CHIPID  is for pci files
CHIPID=5820

TARFILENAME=bcm5820
RPMFILENAME=bcm5820

SRLDIR=SRL
INITDIR=init
RPMDIR=rpm
LINUXDIR=Linux
UBSLIBDIR=ubslib
CNDIAGDIR=cndiag
STATDIR=stats
SNMPDIR=snmp
RHRPMDIR=/usr/src/redhat

all: 
	@cd $(SRLDIR); make 
	@cd $(LINUXDIR); make 
	@cp $(LINUXDIR)/bcm582x.o $(LINUXDIR)/$(BINNAME).o
	@cd $(UBSLIBDIR); make 
	@cd $(CNDIAGDIR); make 
	@cd $(STATDIR); make
clean:
	@cd $(SRLDIR); make clean
	@cd $(LINUXDIR); make clean
	@rm -f $(LINUXDIR)/$(BINNAME).o
	@cd $(UBSLIBDIR); make clean
	@cd $(CNDIAGDIR); make clean
	@cd $(STATDIR); make clean

rebuild:
	@cd $(SRLDIR); make rebuild
	@cd $(LINUXDIR); make rebuild
	@cp $(LINUXDIR)/bcm582x.o $(LINUXDIR)/$(BINNAME).o
	@cd $(UBSLIBDIR); make rebuild
	@cd $(CNDIAGDIR); make rebuild
	@cd $(STATDIR); make rebuild
load:
	@cd $(LINUXDIR); make load

unload:
	@cd $(LINUXDIR); make unload

install_rh:
	make install_init_rh
	@chkconfig --del $(INITDBINNAME)
	@chkconfig --add $(INITDBINNAME)
	@echo "make install complete"
	@cd $(SNMPDIR); make install PREFIX=$(PREFIX)
	make load

install:
	@cp -f $(CNDIAGDIR)/$(DIAGBINNAME)	$(PREFIX)/usr/bin
	@cp -f $(STATDIR)/$(STATBINNAME)        $(PREFIX)/usr/bin
	@cp -f $(UBSLIBDIR)/libubsec.a  $(PREFIX)/usr/lib
	@cp -f $(UBSLIBDIR)/libubsec.so $(PREFIX)/usr/lib
	@mkdir -p                    $(PREFIX)/usr/src/broadcom
	@mkdir -p                    $(PREFIX)/usr/share/doc/broadcom/cryptonet
	@mkdir -p                    $(PREFIX)/lib/modules/`uname -r`/kernel/drivers/char
	@cp -f $(LINUXDIR)/$(BINNAME).o $(PREFIX)/lib/modules/`uname -r`/kernel/drivers/char

uninstall:
	@rm -f $(PREFIX)/usr/bin/$(DIAGBINNAME)
	@rm -f $(PREFIX)/usr/bin/$(STATBINNAME)
	@rm -f $(PREFIX)/usr/lib/libubsec.a
	@rm -f $(PREFIX)/usr/lib/libubsec.so
	@rm -f $(PREFIX)/lib/modules/`uname -r`/kernel/drivers/char/bcm5820.o
	make unload
	@echo "make uninstall complete"

uninstall_rh: 
	@chkconfig --del $(INITDBINNAME)
	@rm -f $(PREFIX)/etc/rc.d/init.d/$(INITDBINNAME)     
	@rm -f $(PREFIX)/usr/bin/$(DIAGBINNAME)
	@rm -f $(PREFIX)/usr/bin/$(STATBINNAME)
	@rm -f $(PREFIX)/usr/lib/libubsec.a
	@rm -f $(PREFIX)/usr/lib/libubsec.so
	@rm -f $(PREFIX)/usr/src/broadcom/pci$(CHIPID).patch70
	@rm -f $(PREFIX)/usr/src/broadcom/pci$(CHIPID).patch71
	@rm -f $(PREFIX)/lib/modules/`uname -r`/kernel/drivers/char/bcm5820.o
	cd $(SNMPDIR); make uninstall PREFIX=$(PREFIX)
	make unload
	@echo "make uninstall complete"

install_init_rh:
	@cp -f $(INITDIR)/$(INITDBINNAME)     $(PREFIX)/etc/rc.d/init.d
	@cp -f $(CNDIAGDIR)/$(DIAGBINNAME)     $(PREFIX)/usr/bin
	@cp -f $(STATDIR)/$(STATBINNAME)     $(PREFIX)/usr/bin
	@cp -f $(UBSLIBDIR)/libubsec.a  $(PREFIX)/usr/lib
	@cp -f $(UBSLIBDIR)/libubsec.so $(PREFIX)/usr/lib
	@mkdir -p                    $(PREFIX)/usr/src/broadcom
	@mkdir -p                    $(PREFIX)/usr/share/doc/broadcom/cryptonet
	@mkdir -p                    $(PREFIX)/lib/modules/`uname -r`/kernel/drivers/char
	@cp -f $(INITDIR)/pci$(CHIPID).patch70   $(PREFIX)/usr/src/broadcom
	@cp -f $(INITDIR)/pci$(CHIPID).patch71   $(PREFIX)/usr/src/broadcom
	@cp -f $(LINUXDIR)/$(BINNAME).o $(PREFIX)/lib/modules/`uname -r`/kernel/drivers/char
	@cd $(SNMPDIR); make install PREFIX=$(PREFIX)
