#!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. include /usr/share/dpkg/pkg-info.mk # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 export INSTALL_MOD_DIR:=extra PYTHON ?= python2 PYTHON3 ?= python3 PACKAGE_PRE_NAME := sonic-platform-accton KVERSION ?= $(shell uname -r) KERNEL_SRC := /lib/modules/$(KVERSION) MOD_SRC_DIR:= $(shell pwd) MODULE_DIRS := wedge100bf-32qs MODULE_DIR := modules UTILS_DIR := utils SERVICE_DIR := service CONF_DIR := conf %: dh $@ --with systemd,python2,python3 --buildsystem=pybuild clean: dh_testdir dh_testroot dh_clean build: #make modules -C $(KERNEL_SRC)/build M=$(MODULE_SRC) (for mod in $(MODULE_DIRS); do \ make modules -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR)/$${mod}/modules; \ $(PYTHON) $${mod}/setup.py build; \ cd $(MOD_SRC_DIR)/$${mod}; \ if [ -f sonic_platform_setup.py ]; then \ $(PYTHON3) sonic_platform_setup.py bdist_wheel -d $(MOD_SRC_DIR)/$${mod}; \ echo "Finished makig whl package for $$mod"; \ fi; \ cd $(MOD_SRC_DIR); \ done) binary: binary-arch binary-indep # Nothing to do binary-arch: # Nothing to do #install: build #dh_testdir #dh_testroot #dh_clean -k #dh_installdirs binary-indep: dh_testdir dh_installdirs # Custom package commands (for mod in $(MODULE_DIRS); do \ if [ -d $${mod}/$(MODULE_DIR) ]; then \ dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod} $(KERNEL_SRC)/$(INSTALL_MOD_DIR); \ cp $(MOD_SRC_DIR)/$${mod}/$(MODULE_DIR)/*.ko debian/$(PACKAGE_PRE_NAME)-$${mod}/$(KERNEL_SRC)/$(INSTALL_MOD_DIR); \ fi; \ if [ -d $${mod}/$(UTILS_DIR) ]; then \ dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod} /usr/local/bin; \ cp $(MOD_SRC_DIR)/$${mod}/$(UTILS_DIR)/* debian/$(PACKAGE_PRE_NAME)-$${mod}/usr/local/bin/; \ fi; \ if [ -d $${mod}/$(SERVICE_DIR) ]; then \ dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod} /lib/systemd/system; \ cp $(MOD_SRC_DIR)/$${mod}/$(SERVICE_DIR)/*.service debian/$(PACKAGE_PRE_NAME)-$${mod}/lib/systemd/system/; \ fi; \ if [ -f $${mod}/setup.py ]; then \ $(PYTHON) $${mod}/setup.py install --root=$(MOD_SRC_DIR)/debian/$(PACKAGE_PRE_NAME)-$${mod} --install-layout=deb; \ fi; \ if [ -f $${mod}/sonic_platform_setup.py ]; then \ cd $(MOD_SRC_DIR)/$${mod}; \ $(PYTHON3) sonic_platform_setup.py install --root=$(MOD_SRC_DIR)/debian/$(PACKAGE_PRE_NAME)-$${mod} --install-layout=deb; \ echo "Insalled whl package for $$mod"; \ cd $(MOD_SRC_DIR); \ fi; \ if [ $$mod = "wedge100bf-32qs" ]; then \ dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod} etc/network/interfaces.d; \ cp $(MOD_SRC_DIR)/$${mod}/$(CONF_DIR)/* debian/$(PACKAGE_PRE_NAME)-$${mod}/etc/network/interfaces.d; \ fi; \ done) # Resuming debhelper scripts dh_testroot dh_install dh_installchangelogs dh_installdocs dh_systemd_enable dh_installinit dh_systemd_start dh_link dh_fixperms dh_compress dh_strip dh_installdeb dh_gencontrol dh_md5sums dh_builddeb .PHONY: build binary binary-arch binary-indep clean