]> git.proxmox.com Git - pve-firmware.git/blame - Makefile
buildsys: use shorter variable for builddir in target
[pve-firmware.git] / Makefile
CommitLineData
60dfdcbf
TL
1include /usr/share/dpkg/pkg-info.mk
2
920e0f55 3FW_DEB=pve-firmware_$(DEB_VERSION)_all.deb
7bbca2e6 4
2e671300 5GITVERSION:=$(shell git rev-parse HEAD)
7bbca2e6 6
cf48ed1e 7export SOURCE_DATE_EPOCH ?= $(shell dpkg-parsechangelog -STimestamp)
61bce7be 8
920e0f55
TL
9DEBS=$(FW_DEB)
10BUILDDIR=fwdata
7bbca2e6 11
d6dee2a6 12.PHONY: deb
920e0f55 13deb: $(DEBS)
d6dee2a6 14
920e0f55
TL
15$(FW_DEB): $(BUILDDIR)
16 cp -a debian $(BUILDDIR)
17 echo "git clone git://git.proxmox.com/git/pve-firmware.git\\ngit checkout $(GITVERSION)" >$(BUILDDIR)/debian/SOURCE
18 cd $(BUILDDIR); dpkg-buildpackage -b -us -uc
cf48ed1e 19
54156f4c
TL
20# NOTE: when collapsing FW lists keep major.minor still separated, so we can sunset the older ones
21# without user impact safely. The last oldstable list needs to be kept avoid breakage on upgrade
782f51b7 22.PHONY: fw.list
d88aaa91 23fw.list: fwlist-5.4.86-1-pve
54156f4c 24fw.list: fwlist-5.11.x-y-pve
7ee41469 25fw.list: fwlist-5.13.x-y-pve
7dff192c 26fw.list: fwlist-5.15.5-1-pve
a9f83c55 27fw.list: fwlist-5.15.19-1-pve
7d7a1dd4 28fw.list: fwlist-5.15.27-1-pve
0c3bcd17 29fw.list: fwlist-5.15.35-1-pve
3c1331ce 30fw.list: fwlist-5.15.53-1-pve
807de5be 31fw.list: fwlist-5.19.0-1-pve
62c51579 32fw.list: fwlist-5.19-iwlwifi-extra
c366a5cf 33fw.list: fwlist-6.1.0-1-pve
7205e1cc 34fw.list: fwlist-6.1.10-1-pve
01507c9b 35fw.list: fwlist-6.2.2-1-pve
c9aa35f2 36fw.list: fwlist-6.2.6-1-pve
be53606e
TL
37 rm -f $@.tmp $@
38 sort -u $^ > $@.tmp
39 mv $@.tmp $@
782f51b7 40
920e0f55 41$(BUILDDIR): linux-firmware.git/WHENCE dvb-firmware.git/README fw.list
bdd992a8
TL
42 rm -rf $@ $@.tmp
43 mkdir -p $@.tmp/lib/firmware
44 cd linux-firmware.git; ./copy-firmware.sh -v ../$@.tmp/lib/firmware/
45 ./assemble-firmware.pl fw.list $@.tmp/lib/firmware
46 find $@.tmp/lib/firmware -empty -type d -delete
47 install -d $@.tmp/usr/share/doc/pve-firmware
48 cp linux-firmware.git/WHENCE $@.tmp/usr/share/doc/pve-firmware/README
49 install -d $@.tmp/usr/share/doc/pve-firmware/licenses
50 cp linux-firmware.git/LICEN[CS]E* $@.tmp/usr/share/doc/pve-firmware/licenses
d3674cb7
TL
51 # we only compress big ones that almost definitively ain't required in the initrd
52 # or are so big and unbuyable (netronome...)
bdd992a8
TL
53 cd $@.tmp/lib/firmware; find . -type f \( -name 'i[wb][lt]*' -o -path '*/netronome/*' \) -print0 | xargs -0 -n1 -P0 -- xz -C crc32
54 cd $@.tmp/lib/firmware; find . -xtype l -print0 | xargs -0 -n1 -P0 -- sh -c 'ln -sf "$$(readlink "$$0").xz" "$$0"; mv "$$0" "$$0.xz"'
55 mv $@.tmp $@
349bb95e
FG
56
57# upgrade to current master
58.PHONY: update_modules
01a072c6 59update_modules: submodule
349bb95e
FG
60 git submodule foreach 'git pull --ff-only origin master'
61
62# make sure submodules were initialized
01a072c6
FG
63.PHONY: submodule
64submodule dvb-firmware.git/README linux-firmware.git/WHENCE:
349bb95e 65 test -f "linux-firmware.git/WHENCE" || git submodule update --init
ff43d65f 66
46d7ecd0 67.PHONY: upload
920e0f55
TL
68upload: $(DEBS)
69 tar cf - $(DEBS) | ssh repoman@repo.proxmox.com -- upload --product pve,pmg,pbs --dist bullseye
46d7ecd0 70
ff43d65f
FG
71.PHONY: clean
72clean:
920e0f55 73 rm -rf $(BUILDDIR) $(BUILDDIR).tmp fw.list *.deb *.buildinfo *.dsc *.changes