History

Drastically improve make dependency resolution

Michael Aldridge committed 9 years ago

Commit aa0920f1 parent bc6d4321 file · +18 −15Browse files

Unified · Split

Makefile+18−15
@@ -47,19 +47,24 @@ dist: distdir-$(DATE) · 46 unmodified lines
4747 rootfs-all: $(ALL_ROOTFS)
4848
4949 rootfs-all-print:
50− echo $(ALL_ROOTFS)
50+ @echo $(ALL_ROOTFS) | sed "s: :\n:g"
5151
5252 void-%-ROOTFS-$(DATE).tar.xz: $(SCRIPTS)
5353 $(SUDO) ./mkrootfs.sh $(XBPS_REPOSITORY) -x $(COMPRESSOR_THREADS) $*
5454
55−void-%-PLATFORMFS-$(DATE).tar.xz: $(SCRIPTS)
56− $(SUDO) ./mkplatformfs.sh $(XBPS_REPOSITORY) -x $(COMPRESSOR_THREADS) $* void-$(shell ./lib.sh platform2arch $*)-ROOTFS-$(DATE).tar.xz
57−
5855 platformfs-all: rootfs-all $(ALL_PLATFORMFS)
5956
6057 platformfs-all-print:
6158 @echo $(ALL_PLATFORMFS) | sed "s: :\n:g"
6259
60+void-%-PLATFORMFS-$(DATE).tar.xz: $(SCRIPTS) platformfs-%-helper
61+ $(SUDO) ./mkplatformfs.sh $(XBPS_REPOSITORY) -x $(COMPRESSOR_THREADS) $* void-$(shell ./lib.sh platform2arch $*)-ROOTFS-$(DATE).tar.xz
62+
63+platformfs-%-helper:
64+# This rule exists because you can't do the shell expansion in the
65+# dependent rule resolution stage
66+ $(MAKE) void-$(shell ./lib.sh platform2arch $*)-ROOTFS-$(DATE).tar.xz
67+
6368 images-all: platformfs-all images-all-sbc images-all-cloud
6469
6570 images-all-sbc: $(ALL_SBC_IMAGES)
@@ -67,24 +72,22 @@ images-all-sbc: $(ALL_SBC_IMAGES) · 1 unmodified line
6772 images-all-cloud: $(ALL_CLOUD_IMAGES)
6873
6974 images-all-print:
70− @echo $(ALL_SBC_IMAGES) $(ALL_CLOUD_IMAGES)
75+ @echo $(ALL_SBC_IMAGES) $(ALL_CLOUD_IMAGES) | sed "s: :\n:g"
7176
72−void-%-$(DATE).img.xz:
77+void-%-$(DATE).img.xz: void-%-PLATFORMFS-$(DATE).tar.xz
7378 $(SUDO) ./mkimage.sh -x $(COMPRESSOR_THREADS) void-$*-PLATFORMFS-$(DATE).tar.xz
7479
75−# The GCP images are special for $reasons
76−void-GCP-$(DATE).tar.gz:
77− $(SUDO) ./mkimage.sh -x $(COMPRESSOR_THREADS) void-GCP-PLATFORMFS-$(DATE).tar.xz
78−
79−void-GCP-musl-$(DATE).tar.gz:
80− $(SUDO) ./mkimage.sh -x $(COMPRESSOR_THREADS) void-GCP-musl-PLATFORMFS-$(DATE).tar.xz
80+# Some of the images MUST be compressed with gzip rather than xz, this
81+# rule services those images.
82+void-%-$(DATE).tar.gz: void-%-PLATFORMFS-$(DATE).tar.xz
83+ $(SUDO) ./mkimage.sh -x $(COMPRESSOR_THREADS) void-$*-PLATFORMFS-$(DATE).tar.xz
8184
8285 pxe-all: $(ALL_PXE_ARCHS)
8386
8487 pxe-all-print:
85− @echo $(ALL_PXE_ARCHS)
88+ @echo $(ALL_PXE_ARCHS) | sed "s: :\n:g"
8689
87−void-%-NETBOOT-$(DATE).tar.gz: $(SCRIPTS)
90+void-%-NETBOOT-$(DATE).tar.gz: $(SCRIPTS) void-%-ROOTFS-$(DATE).tar.xz
8891 $(SUDO) ./mknet.sh void-$*-ROOTFS-$(DATE).tar.xz
8992
90−.PHONY: clean dist rootfs-all-print platformfs-all-print pxe-all-print
93+.PHONY: clean dist rootfs-all-print platformfs-all-print pxe-all-print platformfs-%-helper

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t