93247a6e24
- Why I did it There were compilation errors and warnings like, /usr/src/linux-headers-5.10.0-8-2-common/scripts/Makefile.build:69: You cannot use subdir-y/m to visit a module Makefile. Use obj-y/m instead. fatal error: linux/platform_data/pca954x.h: No such file or directory hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info(). If PDDF kernel module compilation fails, the PDDF debian package was not detecting the break. - How I did it Modified the code with new kernel 5.10 APIs. Modified the Makefiles to use 'obj-m' instead of 'subdir-y' - How to verify it PDDF is supported on Accton platform. Load the build on AS7326 setup and check the 'dmesg'
82 lines
2.3 KiB
Makefile
Executable File
82 lines
2.3 KiB
Makefile
Executable File
#!/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 ?= python3
|
|
|
|
PACKAGE_PRE_NAME := sonic-platform-pddf
|
|
KVERSION ?= $(shell uname -r)
|
|
KERNEL_SRC := /lib/modules/$(KVERSION)
|
|
MOD_SRC_DIR:= $(shell pwd)
|
|
MODULE_DIRS:= client cpld cpld/driver cpldmux cpldmux/driver fan fan/driver mux gpio led psu psu/driver sysstatus xcvr xcvr/driver
|
|
MODULE_DIR:= modules
|
|
UTILS_DIR := utils
|
|
SERVICE_DIR := service
|
|
|
|
%:
|
|
echo =================RUNNING $@=============
|
|
dh $@ --with systemd,python2,python3 --buildsystem=pybuild
|
|
|
|
clean:
|
|
echo ============CLEANING=================
|
|
dh_testdir
|
|
dh_testroot
|
|
dh_clean
|
|
make -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR) clean
|
|
|
|
build:
|
|
set -e; \
|
|
make modules -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR); \
|
|
$(PYTHON) $(MOD_SRC_DIR)/setup.py build; \
|
|
set +e
|
|
|
|
binary: binary-arch binary-indep
|
|
# Nothing to do
|
|
|
|
binary-arch:
|
|
# Nothing to do
|
|
|
|
binary-indep:
|
|
dh_testdir
|
|
dh_installdirs
|
|
dh_installdirs -p$(PACKAGE_PRE_NAME) $(KERNEL_SRC)/$(INSTALL_MOD_DIR); \
|
|
dh_installdirs -p$(PACKAGE_PRE_NAME) usr/local/bin; \
|
|
# Custom package commands
|
|
set -e; \
|
|
(for mod in $(MODULE_DIRS); do \
|
|
cp $(MOD_SRC_DIR)/$(MODULE_DIR)/$${mod}/*.ko debian/$(PACKAGE_PRE_NAME)/$(KERNEL_SRC)/$(INSTALL_MOD_DIR); \
|
|
done) ; \
|
|
# Need to take a backup of symvers file for compilation of custom modules in various platforms
|
|
cp $(MOD_SRC_DIR)/Module.symvers $(MOD_SRC_DIR)/Module.symvers.PDDF; \
|
|
cp -r $(MOD_SRC_DIR)/$(UTILS_DIR)/* debian/$(PACKAGE_PRE_NAME)/usr/local/bin/; \
|
|
$(PYTHON) $(MOD_SRC_DIR)/setup.py install --root=$(MOD_SRC_DIR)/debian/$(PACKAGE_PRE_NAME) --install-layout=deb; \
|
|
set +e
|
|
|
|
# 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
|