X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Makefile;h=cbce27b338a68d607fe58cf722d0388d6ad29b58;hb=347936f4b546e78cfa301f75416ffc4c9334c3eb;hp=4a2286449c2f41b4eac8484a22237db831afba25;hpb=6c76fdf91a61aec1a1c1b9ace160762b627b7718;p=ghc-hetmet.git diff --git a/Makefile b/Makefile index 4a22864..cbce27b 100644 --- a/Makefile +++ b/Makefile @@ -24,17 +24,17 @@ endif # # Files to include in fptools source distribution # -SRC_DIST_DIRS += mk docs CONTRIB distrib $(ProjectsToBuild) +SRC_DIST_DIRS += mk docs distrib $(ProjectsToBuild) SRC_DIST_FILES += configure.in config.guess config.sub configure aclocal.m4 acconfig.h README INSTALL Makefile install-sh -# +# ----------------------------------------------------------------------------- # Making a binary distribution # # To make a particular binary distribution: # set $(Project) to the name of the project (currently Ghc or Happy). -BIN_DIST_TMPDIR=$(shell pwd) -BIN_DIST_NAME=fptools +BIN_DIST_TMPDIR=$(FPTOOLS_TOP_ABS) +BIN_DIST_NAME=$(ProjectNameShort)-$(ProjectVersion) # # list of toplevel directories to include in binary distrib. @@ -49,14 +49,53 @@ BIN_DIST_TOP= distrib/Makefile-bin.in \ README \ distrib/INSTALL \ $(BIN_DIST_MAIN_DIR)/ANNOUNCE \ - $(BIN_DIST_MAIN_DIR)/PATCHLEVEL \ + $(BIN_DIST_MAIN_DIR)/VERSION \ $(BIN_DIST_MAIN_DIR)/RELEASE \ + $(BIN_DIST_MAIN_DIR)/LICENSE \ glafp-utils/mkdirhier/mkdirhier \ install-sh \ config.guess \ config.sub \ aclocal.m4 +# +# binary-dist creates a binary bundle, set BIN_DIST_NAME +# to package name and do `make binary-dist Project=' +# (normally this just a thing you would do from the toplevel of fptools) +# +.PHONY: binary-dist-pre binary-dist binary-pack + +BIN_DIST_NAME=$(ProjectNameShort)-$(ProjectVersion) +BIN_DIST_TMPDIR=$(FPTOOLS_TOP_ABS) + +binary-dist-pre:: + -rm -rf $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME) + -rm -f $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME).tar.gz + @for i in $(BIN_DIST_DIRS); do \ + if test -d "$$i"; then \ + echo $(MKDIRHIER) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM); \ + $(MKDIRHIER) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM); \ + echo $(MKDIRHIER) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM); \ + $(MKDIRHIER) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM); \ + echo $(MKDIRHIER) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/share; \ + $(MKDIRHIER) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/share; \ + echo $(MAKE) -C $$i $(MFLAGS) install \ + prefix=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME) \ + exec_prefix=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME) \ + bindir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM) \ + libdir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM) \ + libexecdir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM) \ + datadir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/share; \ + $(MAKE) -C $$i $(MFLAGS) install \ + prefix=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME) \ + exec_prefix=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME) \ + bindir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM) \ + libdir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM) \ + libexecdir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM) \ + datadir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/share; \ + fi; \ + done + binary-dist:: @for i in $(BIN_DIST_TOP); do \ if test -f "$$i"; then \ @@ -104,7 +143,7 @@ ifneq "$($(Project)BinDistPrlScripts)" "" binary-dist:: @for i in $($(Project)BinDistPrlScripts); do \ echo "Renaming $$i to $$i.prl"; \ - $(MV) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM)/$(ProjectNameShort)-$(ProjectVersion)/$$i $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM)/$(ProjectNameShort)-$(ProjectVersion)/$$i.prl; \ + $(MV) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM)/$$i $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM)/$$i.prl; \ done endif @@ -112,7 +151,7 @@ ifneq "$($(Project)BinDistLibPrlScripts)" "" binary-dist:: @for i in $($(Project)BinDistLibPrlScripts); do \ echo "Renaming $$i to $$i.prl"; \ - $(MV) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM)/$(ProjectNameShort)-$(ProjectVersion)/$$i $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM)/$(ProjectNameShort)-$(ProjectVersion)/$$i.prl; \ + $(MV) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM)/$$i $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM)/$$i.prl; \ done endif @@ -120,13 +159,33 @@ ifneq "$($(Project)BinDistShScripts)" "" binary-dist:: @for i in $($(Project)BinDistShScripts); do \ echo "Renaming $$i to $$i.sh"; \ - $(MV) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM)/$(ProjectNameShort)-$(ProjectVersion)/$$i $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM)/$(ProjectNameShort)-$(ProjectVersion)/$$i.sh; \ + $(MV) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM)/$$i $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM)/$$i.sh; \ done endif +# +# Do this separately for now +# +binary-pack:: + ( cd $(BIN_DIST_TMPDIR); $(TAR) chzf $(BIN_DIST_NAME).tar.gz $(BIN_DIST_NAME) ) + +ifneq "$(way)" "" +package-way-dist:: + ( cd $(BIN_DIST_TMPDIR); find $(BIN_DIST_NAME)/ \( -name "*$(_way).a" -o -name "*.$(way_)hi" \) -print | xargs tar cvf $(BIN_DIST_TMPDIR)/ghc-$(ProjectVersion)-$(way)-$(TARGETPLATFORM).tar ) + gzip $(BIN_DIST_TMPDIR)/ghc-$(ProjectVersion)-$(way)-$(TARGETPLATFORM).tar +endif + +ifneq "$(way)" "" +remove-way-dist:: + ( cd $(BIN_DIST_TMPDIR); find $(BIN_DIST_NAME)/ \( -name "*$(_way).a" -o -name "*.$(way_)hi" \) -print -exec rm -f {} \; ) +endif + +binary-dist:: + @echo "Mechanical and super-natty! Inspect the result and *if* happy; freeze, sell and get some sleep!" + +# ----------------------------------------------------------------------------- + dist :: dist-pre include $(TOP)/mk/target.mk dist :: dist-post -binary-dist:: - @echo "Mechanical and super-natty! Inspect the result and *if* happy; freeze, sell and get some sleep!"