#!/usr/bin/make -f

export INSTALL_MOD_DIR:=extra

KVERSION   ?= $(shell uname -r)
KERNEL_SRC :=  /lib/modules/$(KVERSION)
MOD_SRC_DIR:= $(shell pwd)
MODULE_DIRS:= s6000 z9100 s6100 z9264f s5232f s5248f z9332f 
COMMON_DIR := common

%:
	dh $@

override_dh_auto_build:
	set -e; \
	(for mod in $(MODULE_DIRS); do \
		if [ $$mod = "s6100" ]; then \
			cp $(COMMON_DIR)/dell_pmc.c $(MOD_SRC_DIR)/$${mod}/modules/dell_s6100_lpc.c; \
			cp $(COMMON_DIR)/dell_ich.c $(MOD_SRC_DIR)/$${mod}/modules/dell_ich.c; \
			cd $(MOD_SRC_DIR)/$${mod}; \
			python2.7 setup.py bdist_wheel -d $(MOD_SRC_DIR)/$${mod}/modules; \
			cd $(MOD_SRC_DIR); \
		elif [ $$mod = "z9100" ]; then \
			cp $(COMMON_DIR)/dell_pmc.c $(MOD_SRC_DIR)/$${mod}/modules/dell_mailbox.c; \
			cp $(COMMON_DIR)/dell_ich.c $(MOD_SRC_DIR)/$${mod}/modules/dell_ich.c; \
			cd $(MOD_SRC_DIR)/$${mod}; \
			python2.7 setup.py bdist_wheel -d $(MOD_SRC_DIR)/$${mod}/modules; \
			cd $(MOD_SRC_DIR); \
		elif [ $$mod = "s6000" ]; then \
			cd $(MOD_SRC_DIR)/$${mod}; \
			python2.7 setup.py bdist_wheel -d $(MOD_SRC_DIR)/$${mod}/modules; \
			cd $(MOD_SRC_DIR); \
		elif [ $$mod = "z9264f" ]; then \
			cp $(COMMON_DIR)/ipmihelper.py $(MOD_SRC_DIR)/$${mod}/sonic_platform/ipmihelper.py; \
			cd $(MOD_SRC_DIR)/$${mod}; \
			python2.7 setup.py bdist_wheel -d $(MOD_SRC_DIR)/$${mod}/modules; \
			cd $(MOD_SRC_DIR); \
		elif [ $$mod = "s5232f" ]; then \
			cp $(COMMON_DIR)/ipmihelper.py $(MOD_SRC_DIR)/$${mod}/sonic_platform/ipmihelper.py; \
			cd $(MOD_SRC_DIR)/$${mod}; \
			python2.7 setup.py bdist_wheel -d $(MOD_SRC_DIR)/$${mod}/modules; \
			cd $(MOD_SRC_DIR); \
		fi; \
		echo "making man page alias $$mod -> $$mod APIs";\
		make -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/modules; \
	done); \
	set +e

override_dh_auto_install:
	set -e; \
	(for mod in $(MODULE_DIRS); do \
		dh_installdirs -pplatform-modules-$${mod} \
			$(KERNEL_SRC)/$(INSTALL_MOD_DIR); \
		cp $(MOD_SRC_DIR)/$${mod}/modules/*.ko \
			debian/platform-modules-$${mod}/$(KERNEL_SRC)/$(INSTALL_MOD_DIR); \
		if [ $$mod = "s6000" ]; then \
			dh_installdirs -pplatform-modules-$${mod} usr/local/bin ; \
			cp -r $(MOD_SRC_DIR)/$${mod}/scripts/* debian/platform-modules-$${mod}/usr/local/bin; \
		fi; \
	done); \
	set +e

override_dh_usrlocal:

override_dh_clean:
	dh_clean
	set -e; \
	(for mod in $(MODULE_DIRS); do \
		if [ $$mod = "s6100" ]; then \
			rm -f $(MOD_SRC_DIR)/$${mod}/modules/dell_s6100_lpc.c; \
			rm -f $(MOD_SRC_DIR)/$${mod}/modules/dell_ich.c; \
			rm -f $(MOD_SRC_DIR)/$${mod}/modules/*.whl; \
			rm -rf $(MOD_SRC_DIR)/$${mod}/build; \
			rm -rf $(MOD_SRC_DIR)/$${mod}/build/*.egg-info; \
		elif [ $$mod = "z9100" ]; then \
			rm -f $(MOD_SRC_DIR)/$${mod}/modules/dell_mailbox.c; \
			rm -f $(MOD_SRC_DIR)/$${mod}/modules/dell_ich.c; \
			rm -f $(MOD_SRC_DIR)/$${mod}/modules/*.whl; \
			rm -rf $(MOD_SRC_DIR)/$${mod}/build; \
			rm -rf $(MOD_SRC_DIR)/$${mod}/build/*.egg-info; \
		elif [ $$mod = "s6000" ]; then \
			rm -f $(MOD_SRC_DIR)/$${mod}/modules/*.whl; \
			rm -rf $(MOD_SRC_DIR)/$${mod}/build; \
			rm -rf $(MOD_SRC_DIR)/$${mod}/build/*.egg-info; \
		elif [ $$mod = "z9264f" ]; then \
			rm -f $(MOD_SRC_DIR)/$${mod}/sonic_platform/ipmihelper.py; \
			rm -f $(MOD_SRC_DIR)/$${mod}/modules/*.whl; \
			rm -rf $(MOD_SRC_DIR)/$${mod}/build; \
			rm -rf $(MOD_SRC_DIR)/$${mod}/build/*.egg-info; \
		elif [ $$mod = "s5232f" ]; then \
			rm -f $(MOD_SRC_DIR)/$${mod}/sonic_platform/ipmihelper.py; \
			rm -f $(MOD_SRC_DIR)/$${mod}/modules/*.whl; \
			rm -rf $(MOD_SRC_DIR)/$${mod}/build; \
			rm -rf $(MOD_SRC_DIR)/$${mod}/build/*.egg-info; \
		fi; \
		make -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/modules clean; \
	done); \
	set +e