Files
nct6687d/Makefile
xaizek 5ec66315eb Makefile: silence errors from git
git commands are run during build of the module by DKMS when there is no
git repository, that error output look confusing.
2025-06-18 20:45:44 +03:00

82 lines
2.8 KiB
Makefile

obj-m += nct6687.o
curpwd := $(shell pwd)
kver ?= $(shell uname -r)
commitcount := $(shell git rev-list --all --count 2>/dev/null)
commithash := $(shell git rev-parse --short HEAD 2>/dev/null)
fedoraver := $(shell sed -n 's/.*Fedora release \([^ ]*\).*/\1/p' /etc/fedora-release 2>/dev/null || echo 0)
build:
rm -rf ${curpwd}/${kver}
mkdir -p ${curpwd}/${kver}
cp ${curpwd}/Makefile ${curpwd}/nct6687.c ${curpwd}/${kver}
cd ${curpwd}/${kver}
make -C /lib/modules/${kver}/build M=${curpwd}/${kver} modules
install: build
sudo cp ${curpwd}/${kver}/nct6687.ko /lib/modules/${kver}/kernel/drivers/hwmon/
sudo depmod
sudo modprobe nct6687
clean:
[ -d "${curpwd}/${kver}" ] && make -C /lib/modules/${kver}/build M=${curpwd}/${kver} clean
akmod/build:
@if [ $(fedoraver) -gt 40 ]; then \
echo "Fedora version $(fedoraver) is greater than 40, using dnf5 command"; \
sudo dnf install -y @development-tools; \
else \
sudo dnf groupinstall -y "Development Tools"; \
fi
sudo dnf install -y rpmdevtools kmodtool
mkdir -p ${curpwd}/.tmp/nct6687d-1.0.${commitcount}/nct6687d
cp LICENSE Makefile nct6687.c ${curpwd}/.tmp/nct6687d-1.0.${commitcount}/nct6687d
cd .tmp && tar -czvf nct6687d-1.0.${commitcount}.tar.gz nct6687d-1.0.${commitcount} && cd -
mkdir -p ${curpwd}/.tmp/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
cp ${curpwd}/.tmp/nct6687d-1.0.${commitcount}.tar.gz ${curpwd}/.tmp/rpmbuild/SOURCES/
echo 'nct6687' | tee ${curpwd}/.tmp/rpmbuild/SOURCES/nct6687.conf
cp fedora/*.spec ${curpwd}/.tmp/rpmbuild/SPECS/
sed -i "s/MAKEFILE_PKGVER/${commitcount}/g" ${curpwd}/.tmp/rpmbuild/SPECS/*
sed -i "s/MAKEFILE_COMMITHASH/${commithash}/g" ${curpwd}/.tmp/rpmbuild/SPECS/*
rpmbuild -ba --define "_topdir ${curpwd}/.tmp/rpmbuild" ${curpwd}/.tmp/rpmbuild/SPECS/nct6687d.spec
rpmbuild -ba --define "_topdir ${curpwd}/.tmp/rpmbuild" ${curpwd}/.tmp/rpmbuild/SPECS/nct6687d-kmod.spec
akmod/install: akmod/build
sudo dnf install ${curpwd}/.tmp/rpmbuild/RPMS/*/*.rpm
akmod/clean:
sudo dnf remove nct6687d
rm -rf .tmp
akmod: akmod/install
dkms/build:
make -C /lib/modules/${kver}/build M=${curpwd} modules
dkms/install:
rm -rf ${curpwd}/dkms
mkdir -p ${curpwd}/dkms
cp ${curpwd}/dkms.conf ${curpwd}/Makefile ${curpwd}/nct6687.c ${curpwd}/dkms
sudo rm -rf /usr/src/nct6687d-1
sudo cp -rT dkms /usr/src/nct6687d-1
sudo dkms install nct6687d/1
sudo modprobe nct6687
dkms/clean:
sudo dkms remove nct6687d/1 --all
make -C /lib/modules/${kver}/build M=${curpwd} clean
debian/changelog: FORCE
git --no-pager log \
--format='nct6687d-dkms (%ad) unstable; urgency=low%n%n * %s%n%n -- %aN <%aE> %aD%n' \
--date='format:%Y%m%d-%H%M%S' \
> $@
deb: debian/changelog
sudo apt install -y debhelper dkms
@if apt-cache show dh-dkms > /dev/null 2>&1; then \
sudo apt-get install -y dh-dkms; \
fi
dpkg-buildpackage -b -rfakeroot -us -uc
.PHONY: FORCE
FORCE: