a3dd3f55f9
This change introduces PDDF which is described here: https://github.com/Azure/SONiC/pull/536 Most of the platform bring up effort goes in developing the platform device drivers, SONiC platform APIs and validating them. Typically each platform vendor writes their own drivers and platform APIs which is very tailor made to that platform. This involves writing code, building, installing it on the target platform devices and testing. Many of the details of the platform are hard coded into these drivers, from the HW spec. They go through this cycle repetitively till everything works fine, and is validated before upstreaming the code. PDDF aims to make this platform driver and platform APIs development process much simpler by providing a data driven development framework. This is enabled by: JSON descriptor files for platform data Generic data-driven drivers for various devices Generic SONiC platform APIs Vendor specific extensions for customisation and extensibility Signed-off-by: Fuzail Khan <fuzail.khan@broadcom.com>
76 lines
2.1 KiB
Makefile
Executable File
76 lines
2.1 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 ?= python2
|
|
|
|
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 fan/vendor_api 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:
|
|
make modules -C $(KERNEL_SRC)/build M=$(MOD_SRC_DIR); \
|
|
$(PYTHON) $(MOD_SRC_DIR)/setup.py build; \
|
|
|
|
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
|
|
(for mod in $(MODULE_DIRS); do \
|
|
cp $(MOD_SRC_DIR)/$(MODULE_DIR)/$${mod}/*.ko debian/$(PACKAGE_PRE_NAME)/$(KERNEL_SRC)/$(INSTALL_MOD_DIR); \
|
|
done) ; \
|
|
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;
|
|
|
|
# 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
|