From bfbb55ed6430f6b4d9bb49d4f2592ef9a5713e75 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 29 Dec 2014 03:08:09 -0500 Subject: refactor (again): new download script, separate architectures, modules --- Makefile.d/modules/bucts.mk | 1 + Makefile.d/modules/coreboot.mk | 61 ++++++++++++++++++++++++++++++++++++++ Makefile.d/modules/dejavu.mk | 5 ++++ Makefile.d/modules/flashrom.mk | 20 +++++++++++++ Makefile.d/modules/grub.mk | 8 +++++ Makefile.d/modules/grubinvaders.mk | 16 ++++++++++ Makefile.d/modules/i945pwm.mk | 3 ++ Makefile.d/modules/memtest86.mk | 7 +++++ Makefile.d/modules/powertop.mk | 1 + Makefile.d/modules/seabios.mk | 8 +++++ 10 files changed, 130 insertions(+) create mode 100644 Makefile.d/modules/bucts.mk create mode 100644 Makefile.d/modules/coreboot.mk create mode 100644 Makefile.d/modules/dejavu.mk create mode 100644 Makefile.d/modules/flashrom.mk create mode 100644 Makefile.d/modules/grub.mk create mode 100644 Makefile.d/modules/grubinvaders.mk create mode 100644 Makefile.d/modules/i945pwm.mk create mode 100644 Makefile.d/modules/memtest86.mk create mode 100644 Makefile.d/modules/powertop.mk create mode 100644 Makefile.d/modules/seabios.mk (limited to 'Makefile.d/modules') diff --git a/Makefile.d/modules/bucts.mk b/Makefile.d/modules/bucts.mk new file mode 100644 index 0000000..280dcb9 --- /dev/null +++ b/Makefile.d/modules/bucts.mk @@ -0,0 +1 @@ +bucts_source = git://git.stuge.se/bucts.git\#commit=dc27919d7a66a6e8685ce07c71aefa4f03ef7c07 diff --git a/Makefile.d/modules/coreboot.mk b/Makefile.d/modules/coreboot.mk new file mode 100644 index 0000000..1cf2309 --- /dev/null +++ b/Makefile.d/modules/coreboot.mk @@ -0,0 +1,61 @@ +coreboot_source = git+http://review.coreboot.org/coreboot\#commit=c637a887dde1c63bf3863e70cbe19dedf5f6ca02 + +coreboot_patches = resources/coreboot/patch/DEBLOB +define coreboot_patch + # Get patches from review.coreboot.org + # Text mode patch for X60 native graphics (main patch already merged in coreboot. See 6723 on coreboot gerrit) + cd $@ && git fetch http://review.coreboot.org/coreboot refs/changes/25/6725/3 && git cherry-pick FETCH_HEAD + # lenovo/x60: Enable legacy brightness controls (native graphics) + cd $@ && git fetch http://review.coreboot.org/coreboot refs/changes/48/7048/4 && git cherry-pick FETCH_HEAD + # Enable T60 native graphics + cd $@ && git fetch http://review.coreboot.org/coreboot refs/changes/45/5345/9 && git cherry-pick FETCH_HEAD + # Enable text-mode graphics for T60 + cd $@ && git fetch http://review.coreboot.org/coreboot refs/changes/50/7050/2 && git cherry-pick FETCH_HEAD + # lenovo/t60: Enable legacy brightness controls (native graphics) + cd $@ && git fetch http://review.coreboot.org/coreboot refs/changes/51/7051/1 && git cherry-pick FETCH_HEAD + # ec/lenovo/h8: permanently enable wifi/trackpoint/touchpad/bluetooth/wwan + cd $@ && git fetch http://review.coreboot.org/coreboot refs/changes/58/7058/7 && git cherry-pick FETCH_HEAD + # i945: permanently set tft_brightness to 0xff. this fixes the issue with X60 and "scrolling" backlight + cd $@ && git fetch http://review.coreboot.org/coreboot refs/changes/61/7561/2 && git cherry-pick FETCH_HEAD + # Note: macbook21 already has backlight control. + # Deblob coreboot + cd $@ && $(abspath resources/coreboot/patch/DEBLOB) +endef + + +# Generate sub-source directories by generating the parent source directory +coreboot_utils = cbfstool nvramtool crossgcc +define rule_coreboot_utils +src/%(arch)/coreboot/util/%(coreboot_util): | src/%(arch)/coreboot + test -d $@ +endef +$(eval $(call multiglob,coreboot_utils,arch coreboot_utils)) + +# The builddeps stamp needs to depend on 3 "utility" builddeps +$(foreach arch,$(arches),tmp/builddeps-stamps/$(arch)/coreboot): \ +tmp/builddeps-stamps/%/coreboot: \ + tmp/builddeps-stamps/%/coreboot-cbfstool \ + tmp/builddeps-stamps/%/coreboot-nvramtool \ + tmp/builddeps-stamps/%/coreboot-crossgcc + touch $@ + +# The 3 actual utility builddeps: +tmp/builddeps-stamps/%/coreboot-cbfstool: src/%/coreboot/util/cbfstool + $(MAKE) -C $< + mkdir -p $(@D) + touch $@ +tmp/builddeps-stamps/%/coreboot-nvramtool: src/%/coreboot/util/nvramtool + $(MAKE) -C $< + mkdir -p $(@D) + touch $@ +tmp/builddeps-stamps/%/coreboot-crossgcc: src/%/coreboot/util/crossgcc + $(MAKE) -C src/$*/coreboot crossgcc-i386 + mkdir -p $(@D) + touch $@ + +cleandeps-%/coreboot-custom: PHONY + test ! -f src/%/coreboot/Makefile || $(MAKE) -C src/%/coreboot clean + test ! -f src/%/coreboot/Makefile || $(MAKE) -C src/%/coreboot/util/cbfstool clean + test ! -f src/%/coreboot/Makefile || $(MAKE) -C src/%/coreboot/util/nvramtool clean + test ! -f src/%/coreboot/Makefile || $(MAKE) -C src/%/coreboot crossgcc-clean + rm -f tmp/builddeps-stamps/%/coreboot-* diff --git a/Makefile.d/modules/dejavu.mk b/Makefile.d/modules/dejavu.mk new file mode 100644 index 0000000..ae72876 --- /dev/null +++ b/Makefile.d/modules/dejavu.mk @@ -0,0 +1,5 @@ +dejavu_source = http://sourceforge.net/projects/dejavu/files/dejavu/2.34/dejavu-fonts-ttf-2.34.tar.bz2 + +$(foreach arch,$(arches),tmp/builddeps-stamps/$(arch)/dejavu): \ +tmp/builddeps-stamps/%/dejavu: src/%/dejavu ; mkdir -p $(@D) && touch $@ +cleandeps-%/dejavu-custom: PHONY ; diff --git a/Makefile.d/modules/flashrom.mk b/Makefile.d/modules/flashrom.mk new file mode 100644 index 0000000..c70e6e2 --- /dev/null +++ b/Makefile.d/modules/flashrom.mk @@ -0,0 +1,20 @@ +flashrom_source = svn://flashrom.org/flashrom/trunk\#revision=1854 + +flashrom_patches = $(wildcard resources/flashrom/patch/flashchips_*.c) +define flashrom_patch + cp resources/flashrom/patch/flashchips_*.c $@ + sed -i \ + -e 's/\$$(PROGRAM)\$$(EXEC_SUFFIX)/$$(PROGRAM)$$(patchname)$$(EXEC_SUFFIX)/g' \ + -e 's/flashchips\.o/flashchips$$(patchname).o/g' \ + -e 's/libflashrom\.a/libflashrom$$(patchname).a/g' \ + -e 's/\(rm .*libflashrom\)\S*\.a/\1*.a $$(PROGRAM)_*/' \ + $@/Makefile +endef + +$(foreach arch,$(arches),tmp/builddeps-stamps/$(arch)/flashrom): \ +tmp/builddeps-stamps/%/flashrom: src/%/flashrom + $(MAKE) -C $< patchname=_normal + $(MAKE) -C $< patchname=_lenovobios_macronix + $(MAKE) -C $< patchname=_lenovobios_sst + mkdir -p $(@D) + touch $@ diff --git a/Makefile.d/modules/grub.mk b/Makefile.d/modules/grub.mk new file mode 100644 index 0000000..3f392aa --- /dev/null +++ b/Makefile.d/modules/grub.mk @@ -0,0 +1,8 @@ +grub_source = git://git.savannah.gnu.org/grub.git\#commit=e2dd6daa8c33e3e7641e442dc269fcca479c6fda + +grub_patches = resources/grub/patch/gitdiff +define grub_patch + cd $@ && git apply $(abspath resources/grub/patch/gitdiff) +endef + +grub_configure = --with-platform=coreboot diff --git a/Makefile.d/modules/grubinvaders.mk b/Makefile.d/modules/grubinvaders.mk new file mode 100644 index 0000000..01d1c0c --- /dev/null +++ b/Makefile.d/modules/grubinvaders.mk @@ -0,0 +1,16 @@ +grubinvaders_source = http://www.erikyyy.de/invaders/invaders-1.0.0.tar.gz + +grubinvaders_patches = resources/grubinvaders/patch/diff.patch resources/grubinvaders/patch/compile.sh.patch +define grubinvaders_patch + # Apply patch mentioned on http://www.coreboot.org/GRUB_invaders + cd $@ && patch < $(abspath resources/grubinvaders/patch/diff.patch) + cd $@ && patch compile.sh < $(abspath resources/grubinvaders/patch/compile.sh.patch) +endef + +$(foreach arch,$(arches),tmp/builddeps-stamps/$(arch)/grubinvaders): \ +tmp/builddeps-stamps/%/grubinvaders: src/%/grubinvaders + cd $< && ./compile.sh + mkdir -p $(@D) + touch $@ +cleandeps-%/grubinvaders-custom: PHONY + test ! -d src/%/grubinvaders || { cd src/%/grubinvaders && ./clean.sh; } diff --git a/Makefile.d/modules/i945pwm.mk b/Makefile.d/modules/i945pwm.mk new file mode 100644 index 0000000..b8f2a12 --- /dev/null +++ b/Makefile.d/modules/i945pwm.mk @@ -0,0 +1,3 @@ +i945pwm_source = git://git.mtjm.eu/i945-pwm.git\#commit=d88c8b290b9473e071d24cd3b97f4a091ee398cf +cleandeps-%/i945pwm-custom: PHONY + rm -f src/%/i945pwm/i945-pwm diff --git a/Makefile.d/modules/memtest86.mk b/Makefile.d/modules/memtest86.mk new file mode 100644 index 0000000..97a644d --- /dev/null +++ b/Makefile.d/modules/memtest86.mk @@ -0,0 +1,7 @@ +memtest86_source = http://www.memtest.org/download/5.01/memtest86+-5.01.tar.gz + +memtest86_patches = resources/memtest86/patch/config.h resources/memtest86/patch/Makefile +define memtest86_patch + cp -f resources/memtest86/patch/config.h $@/config.h + cp -f resources/memtest86/patch/Makefile $@/Makefile +endef diff --git a/Makefile.d/modules/powertop.mk b/Makefile.d/modules/powertop.mk new file mode 100644 index 0000000..7491588 --- /dev/null +++ b/Makefile.d/modules/powertop.mk @@ -0,0 +1 @@ +powertop_source = git+https://github.com/fenrus75/powertop.git\#e70c89eb5d7b6b8f898bb126adefcbf3202d5acf diff --git a/Makefile.d/modules/seabios.mk b/Makefile.d/modules/seabios.mk new file mode 100644 index 0000000..17abece --- /dev/null +++ b/Makefile.d/modules/seabios.mk @@ -0,0 +1,8 @@ +seabios_source = git://git.seabios.org/seabios.git\#commit=9f505f715793d99235bd6b4afb2ca7b96ba5729b + +$(foreach arch,$(arches),tmp/builddeps-stamps/$(arch)/seabios): \ +tmp/builddeps-stamps/%/seabios: src/%/seabios resources/seabios/config/config + cp resources/seabios/config/config $