From df141e624da6d4c2976a4cecd9cb6779e23fedda Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 21 Mar 2014 10:48:13 -0700 Subject: [PATCH] mk: Reorder definitions in dist.mk Just to be more logical, put big headers between different installers --- mk/dist.mk | 175 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 100 insertions(+), 75 deletions(-) diff --git a/mk/dist.mk b/mk/dist.mk index 5f527a695f9..82502c5c795 100644 --- a/mk/dist.mk +++ b/mk/dist.mk @@ -48,6 +48,34 @@ UNROOTED_PKG_FILES := $(patsubst $(S)%,./%,$(PKG_FILES)) LICENSE.txt: $(S)COPYRIGHT $(S)LICENSE-APACHE $(S)LICENSE-MIT cat $^ > $@ + +###################################################################### +# Source tarball +###################################################################### + +$(PKG_TAR): $(PKG_FILES) + @$(call E, making dist dir) + $(Q)rm -Rf tmp/dist/$(PKG_DIR) + $(Q)mkdir -p tmp/dist/$(PKG_DIR) + $(Q)tar \ + -C $(S) \ + --exclude-vcs \ + --exclude=*~ \ + --exclude=*/llvm/test/*/*.ll \ + --exclude=*/llvm/test/*/*.td \ + --exclude=*/llvm/test/*/*.s \ + --exclude=*/llvm/test/*/*/*.ll \ + --exclude=*/llvm/test/*/*/*.td \ + --exclude=*/llvm/test/*/*/*.s \ + -c $(UNROOTED_PKG_FILES) | tar -x -C tmp/dist/$(PKG_DIR) + $(Q)tar -czf $(PKG_TAR) -C tmp/dist $(PKG_DIR) + $(Q)rm -Rf tmp/dist/$(PKG_DIR) + + +###################################################################### +# Windows .exe installer +###################################################################### + ifdef CFG_ISCC %.iss: $(S)src/etc/pkg/%.iss cp $< $@ @@ -74,25 +102,78 @@ dist-prepare-win: prepare-base endif -$(PKG_TAR): $(PKG_FILES) - @$(call E, making dist dir) - $(Q)rm -Rf tmp/dist/$(PKG_DIR) - $(Q)mkdir -p tmp/dist/$(PKG_DIR) - $(Q)tar \ - -C $(S) \ - --exclude-vcs \ - --exclude=*~ \ - --exclude=*/llvm/test/*/*.ll \ - --exclude=*/llvm/test/*/*.td \ - --exclude=*/llvm/test/*/*.s \ - --exclude=*/llvm/test/*/*/*.ll \ - --exclude=*/llvm/test/*/*/*.td \ - --exclude=*/llvm/test/*/*/*.s \ - -c $(UNROOTED_PKG_FILES) | tar -x -C tmp/dist/$(PKG_DIR) - $(Q)tar -czf $(PKG_TAR) -C tmp/dist $(PKG_DIR) - $(Q)rm -Rf tmp/dist/$(PKG_DIR) -.PHONY: dist distcheck +###################################################################### +# OS X .pkg installer +###################################################################### + +ifeq ($(CFG_OSTYPE), apple-darwin) + +dist-prepare-osx: PREPARE_HOST=$(CFG_BUILD) +dist-prepare-osx: PREPARE_TARGETS=$(CFG_BUILD) +dist-prepare-osx: PREPARE_DEST_DIR=tmp/dist/pkgroot +dist-prepare-osx: PREPARE_DIR_CMD=$(DEFAULT_PREPARE_DIR_CMD) +dist-prepare-osx: PREPARE_BIN_CMD=$(DEFAULT_PREPARE_BIN_CMD) +dist-prepare-osx: PREPARE_LIB_CMD=$(DEFAULT_PREPARE_LIB_CMD) +dist-prepare-osx: PREPARE_MAN_CMD=$(DEFAULT_PREPARE_MAN_CMD) +dist-prepare-osx: prepare-base + +$(PKG_OSX): Distribution.xml LICENSE.txt dist-prepare-osx + @$(call E, making OS X pkg) + $(Q)pkgbuild --identifier org.rust-lang.rust --root tmp/dist/pkgroot rust.pkg + $(Q)productbuild --distribution Distribution.xml --resources . $(PKG_OSX) + $(Q)rm -rf tmp rust.pkg + +dist-osx: $(PKG_OSX) + +distcheck-osx: $(PKG_OSX) + @echo + @echo ----------------------------------------------- + @echo $(PKG_OSX) ready for distribution + @echo ----------------------------------------------- + +endif + + +###################################################################### +# Unix binary installer tarballs +###################################################################### + +dist-install-dir: $(foreach host,$(CFG_HOST),dist-install-dir-$(host)) + +dist-tar-bins: $(foreach host,$(CFG_HOST),dist/$(PKG_DIR)-$(host).tar.gz) + +define DEF_INSTALLER +dist-install-dir-$(1): PREPARE_HOST=$(1) +dist-install-dir-$(1): PREPARE_TARGETS=$(1) +dist-install-dir-$(1): PREPARE_DEST_DIR=tmp/dist/$$(PKG_DIR)-$(1) +dist-install-dir-$(1): PREPARE_DIR_CMD=$(DEFAULT_PREPARE_DIR_CMD) +dist-install-dir-$(1): PREPARE_BIN_CMD=$(DEFAULT_PREPARE_BIN_CMD) +dist-install-dir-$(1): PREPARE_LIB_CMD=$(DEFAULT_PREPARE_LIB_CMD) +dist-install-dir-$(1): PREPARE_MAN_CMD=$(DEFAULT_PREPARE_MAN_CMD) +dist-install-dir-$(1): PREPARE_CLEAN=true +dist-install-dir-$(1): prepare-base + $$(Q)(cd $$(PREPARE_DEST_DIR)/ && find -type f) \ + > $$(PREPARE_DEST_DIR)/$$(CFG_LIBDIR_RELATIVE)/$$(CFG_RUSTLIBDIR)/manifest + $$(Q)$$(PREPARE_MAN_CMD) $$(S)COPYRIGHT $$(PREPARE_DEST_DIR) + $$(Q)$$(PREPARE_MAN_CMD) $$(S)LICENSE-APACHE $$(PREPARE_DEST_DIR) + $$(Q)$$(PREPARE_MAN_CMD) $$(S)LICENSE-MIT $$(PREPARE_DEST_DIR) + $$(Q)$$(PREPARE_MAN_CMD) $$(S)README.md $$(PREPARE_DEST_DIR) + $$(Q)$$(PREPARE_BIN_CMD) $$(S)src/etc/install.sh $$(PREPARE_DEST_DIR) + +dist/$$(PKG_DIR)-$(1).tar.gz: dist-install-dir-$(1) + @$(call E, build: $$@) + $$(Q)tar -czf dist/$$(PKG_DIR)-$(1).tar.gz -C tmp/dist $$(PKG_DIR)-$(1) + +endef + +$(foreach host,$(CFG_HOST),\ + $(eval $(call DEF_INSTALLER,$(host)))) + + +###################################################################### +# Primary targets (dist, distcheck) +###################################################################### ifdef CFG_WINDOWSY_$(CFG_BUILD) @@ -128,60 +209,4 @@ distcheck: $(PKG_TAR) endif -ifeq ($(CFG_OSTYPE), apple-darwin) - -dist-prepare-osx: PREPARE_HOST=$(CFG_BUILD) -dist-prepare-osx: PREPARE_TARGETS=$(CFG_BUILD) -dist-prepare-osx: PREPARE_DEST_DIR=tmp/dist/pkgroot -dist-prepare-osx: PREPARE_DIR_CMD=$(DEFAULT_PREPARE_DIR_CMD) -dist-prepare-osx: PREPARE_BIN_CMD=$(DEFAULT_PREPARE_BIN_CMD) -dist-prepare-osx: PREPARE_LIB_CMD=$(DEFAULT_PREPARE_LIB_CMD) -dist-prepare-osx: PREPARE_MAN_CMD=$(DEFAULT_PREPARE_MAN_CMD) -dist-prepare-osx: prepare-base - -$(PKG_OSX): Distribution.xml LICENSE.txt dist-prepare-osx - @$(call E, making OS X pkg) - $(Q)pkgbuild --identifier org.rust-lang.rust --root tmp/dist/pkgroot rust.pkg - $(Q)productbuild --distribution Distribution.xml --resources . $(PKG_OSX) - $(Q)rm -rf tmp rust.pkg - -dist-osx: $(PKG_OSX) - -distcheck-osx: $(PKG_OSX) - @echo - @echo ----------------------------------------------- - @echo $(PKG_OSX) ready for distribution - @echo ----------------------------------------------- - -endif - -dist-install-dir: $(foreach host,$(CFG_HOST),dist-install-dir-$(host)) - -dist-tar-bins: $(foreach host,$(CFG_HOST),dist/$(PKG_DIR)-$(host).tar.gz) - -define DEF_INSTALLER -dist-install-dir-$(1): PREPARE_HOST=$(1) -dist-install-dir-$(1): PREPARE_TARGETS=$(1) -dist-install-dir-$(1): PREPARE_DEST_DIR=tmp/dist/$$(PKG_DIR)-$(1) -dist-install-dir-$(1): PREPARE_DIR_CMD=$(DEFAULT_PREPARE_DIR_CMD) -dist-install-dir-$(1): PREPARE_BIN_CMD=$(DEFAULT_PREPARE_BIN_CMD) -dist-install-dir-$(1): PREPARE_LIB_CMD=$(DEFAULT_PREPARE_LIB_CMD) -dist-install-dir-$(1): PREPARE_MAN_CMD=$(DEFAULT_PREPARE_MAN_CMD) -dist-install-dir-$(1): PREPARE_CLEAN=true -dist-install-dir-$(1): prepare-base - $$(Q)(cd $$(PREPARE_DEST_DIR)/ && find -type f) \ - > $$(PREPARE_DEST_DIR)/$$(CFG_LIBDIR_RELATIVE)/$$(CFG_RUSTLIBDIR)/manifest - $$(Q)$$(PREPARE_MAN_CMD) $$(S)COPYRIGHT $$(PREPARE_DEST_DIR) - $$(Q)$$(PREPARE_MAN_CMD) $$(S)LICENSE-APACHE $$(PREPARE_DEST_DIR) - $$(Q)$$(PREPARE_MAN_CMD) $$(S)LICENSE-MIT $$(PREPARE_DEST_DIR) - $$(Q)$$(PREPARE_MAN_CMD) $$(S)README.md $$(PREPARE_DEST_DIR) - $$(Q)$$(PREPARE_BIN_CMD) $$(S)src/etc/install.sh $$(PREPARE_DEST_DIR) - -dist/$$(PKG_DIR)-$(1).tar.gz: dist-install-dir-$(1) - @$(call E, build: $$@) - $$(Q)tar -czf dist/$$(PKG_DIR)-$(1).tar.gz -C tmp/dist $$(PKG_DIR)-$(1) - -endef - -$(foreach host,$(CFG_HOST),\ - $(eval $(call DEF_INSTALLER,$(host)))) +.PHONY: dist distcheck