
################################################################
## copyright 2007 Compaq Information Technologies Group, L.P. ##
################################################################

.PHONY: all clean install

LINUX_KERN_DIRS=$(shell ls /lib/modules)
PWD=`pwd`

all:	build 


#
# Due to a quirk in the Linux 2.6 Kernel Environment, we need to clean up 
# some temporary (and hidden) files inbetween each build. NOTE:
# this is NOT a full clean and is not designed to be.
#
build:	fixup
	echo "$(EFS_VER)"; \
	for kversion in $(LINUX_KERN_DIRS); do \
		LINUX_BUILD_DIR="/lib/modules/$$kversion/build/" ;\
		echo "INFO: Building  KERNEL VERSION $$kversion  LINUX_BUILD_DIR:  $$LINUX_BUILD_DIR"  ;\
		if [ -d $$LINUX_BUILD_DIR ]; then \
			mkdir -p $(PWD)/bin/$$kversion  ;\
			rm -f drivers/misc/*.o  ;\
			rm -f drivers/misc/*.ko  ;\
			rm -f drivers/misc/*.mod.c  ;\
			rm -f drivers/misc/.*.cmd  ;\
			rm -rf drivers/misc/.tmp_versions  ;\
			make -C $$LINUX_BUILD_DIR V=1 M=$(PWD)/drivers/misc modules   ;\
			if [ -f drivers/misc/hpilo.ko ]; then \
				mv -vf drivers/misc/hpilo.ko $(PWD)/bin/$$kversion/.  ;\
				echo "INFO: Build for KERNEL VERSION: $$kversion  LINUX_BUILD_DIR: $$LINUX_BUILD_DIR successful"  ;\
				echo " "  ;\
			else \
				echo "BUILD ERROR: Build for  KERNEL VERSION: $$kversion  LINUX_BUILD_DIR:  $$LINUX_BUILD_DIR FAILED"  ;\
				echo " "  ;\
				exit 1  ;\
			fi  ;\
		else \
			echo  " "  ;\
			echo "INFO:  THERE IS NO BUILD DIRECTORY FOR VERSION:  $$kversion"  ;\
			echo "       The LINUX_BUILD_DIR resolves to:  $$LINUX_BUILD_DIR"  ;\
			echo "       There was no hpilo.ko driver built for this Linux Version" ;\
			echo  " "  ;\
		fi ;\
	done

fixup:
ifneq "$(EFS_VER)" ""
	cp drivers/misc/hpilo.c drivers/misc/hpilo.c.ORIG
	sed -e "/MODULE_VERSION/ c\
MODULE_VERSION\(\"$$EFS_VER\"\)\;" drivers/misc/hpilo.c.ORIG > drivers/misc/hpilo.c
endif


clean:
############################################
## We need to see if this is the HP Build ##
## environment.                           ##
############################################

	for kversion in $(LINUX_KERN_DIRS); do \
		LINUX_BUILD_DIR="/lib/modules/$$kversion/build/"  ;\
		echo "Cleaning  KERNEL VERSION $$kversion  LINUX_BUILD_DIR:  $$LINUX_BUILD_DIR"  ;\
		if [ $(PWD) != "/" ] ; then \
			rm -f drivers/misc/*.o  ;\
			rm -f drivers/misc/*.ko  ;\
			rm -f drivers/misc/*.mod.c  ;\
			rm -f drivers/misc/*.cmd  ;\
			rm -rf drivers/misc/.tmp_versions  ;\
			rm -rf $(PWD)/bin/$$kversion ;\
		fi  ;\
	done


install:
ifneq "$(RPM_BUILD_ROOT)" ""
	echo "INSTALLING Files to create RPM"
	sh make_install $(RPM_MAKE_ROOT) $(RPM_BUILD_ROOT)
endif


