From bb672e7f07f05d03ee0a7b0da69c6cf763a542b9 Mon Sep 17 00:00:00 2001 From: paltherr Date: Tue, 5 Aug 2003 08:59:37 +0000 Subject: - Split Makefile into 3 files - Removed references to linuxsoft --- Makefile.distrib | 221 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 Makefile.distrib (limited to 'Makefile.distrib') diff --git a/Makefile.distrib b/Makefile.distrib new file mode 100644 index 0000000000..2fabe689a9 --- /dev/null +++ b/Makefile.distrib @@ -0,0 +1,221 @@ +############################################################-*-Makefile-*-#### +# Project Installation and Distribution +############################################################################## +# $Id$ + +# scala documents +DOCUMENTS_ROOT = $(PROJECT_ROOT)/doc +DOCUMENTS_FILES += $(DOCUMENTS_ROOT)/reference/reference.pdf +DOCUMENTS_FILES += $(DOCUMENTS_ROOT)/reference/examples.pdf + +# scala examples +EXAMPLES_ROOT = $(PROJECT_SOURCEDIR)/examples +EXAMPLES_LIST += $(call READLIST, $(PROJECT_LISTDIR)/examples.lst) +EXAMPLES_FILES = $(EXAMPLES_LIST:%=$(EXAMPLES_ROOT)/%) + +# emacs scala-mode +EMACS_ROOT = $(PROJECT_ROOT)/support/emacs +EMACS_LIST += $(call READLIST,$(PROJECT_LISTDIR)/emacs.lst) +EMACS_FILES = $(EMACS_LIST:%=$(EMACS_ROOT)/%) + +# scala test +TEST_ROOT = $(PROJECT_ROOT)/test +TEST_LIST += $(call READLIST,$(PROJECT_LISTDIR)/test-pos.lst) +TEST_LIST += $(call READLIST,$(PROJECT_LISTDIR)/test-neg.lst) +TEST_LIST += $(call READLIST,$(PROJECT_LISTDIR)/test-run.lst) +TEST_FILES = $(TEST_LIST:%=$(TEST_ROOT)/%) + +############################################################################## +# beta versions +############################################################################## + +INSTALL = $(ROOT)/support/scripts/install +MIRROR = $(ROOT)/support/scripts/mirror + +INSTALL_VERSION = install-test +INSTALL_PREFIX = $(ROOT)/distribs/scala-test +INSTALL_BINDIR = $(INSTALL_PREFIX)/bin +INSTALL_DOCDIR = $(INSTALL_PREFIX)/doc +INSTALL_LIBDIR = $(INSTALL_PREFIX)/lib +INSTALL_DATADIR = $(INSTALL_PREFIX)/share +INSTALL_DATADIR_ROOT = $(INSTALL_DATADIR)/$(PROJECT_NAME) +INSTALL_DATADIR_LIBRARY = $(INSTALL_DATADIR_ROOT)/library +INSTALL_DATADIR_EXAMPLES = $(INSTALL_DATADIR_ROOT)/examples +INSTALL_DATADIR_TEST = $(INSTALL_DATADIR_ROOT)/test +INSTALL_DATADIR_EMACS = $(INSTALL_DATADIR)/emacs/site-lisp + +install-clean : + $(RM) -r $(INSTALL_PREFIX) + +install : $(PROJECT_JAR_ARCHIVE) + $(MAKE) -C $(DOCUMENTS_ROOT)/reference all + $(INSTALL) -m 755 -d $(INSTALL_PREFIX) + $(INSTALL) -m 755 -d $(INSTALL_BINDIR) + $(INSTALL) -m 755 $(ROOT)/bin/.scala_wrapper $(INSTALL_BINDIR) + @$(MAKE) SCRIPTS_PREFIX=$(INSTALL_BINDIR) scripts + $(INSTALL) -m 755 -d $(INSTALL_DOCDIR) + $(INSTALL) -m 644 $(DOCUMENTS_FILES) $(INSTALL_DOCDIR) + $(INSTALL) -m 755 -d $(INSTALL_LIBDIR) + $(INSTALL) -m 644 $(PROJECT_JAR_ARCHIVE) $(INSTALL_LIBDIR) + $(INSTALL) -m 644 $(BCEL_LICENSE) $(INSTALL_LIBDIR)/bcel.LICENSE + $(INSTALL) -m 644 $(BCEL_JARFILE) $(INSTALL_LIBDIR)/bcel.jar + $(INSTALL) -m 644 $(MSIL_JARFILE) $(INSTALL_LIBDIR)/msil.jar + $(INSTALL) -m 644 $(FJBG_JARFILE) $(INSTALL_LIBDIR)/fjbg.jar + $(INSTALL) -m 755 -d $(INSTALL_DATADIR) + $(INSTALL) -m 755 -d $(INSTALL_DATADIR_ROOT) + $(INSTALL) -m 755 -d $(INSTALL_DATADIR_LIBRARY) + $(strip $(MIRROR) -m 644 -C $(LIBRARY_ROOT) $(LIBRARY_LIST:%='%') \ + $(INSTALL_DATADIR_LIBRARY)/$(PROJECT_NAME)) + $(INSTALL) -m 755 -d $(INSTALL_DATADIR_EXAMPLES) + $(strip $(MIRROR) -m 644 -C $(EXAMPLES_ROOT) $(EXAMPLES_LIST) \ + $(INSTALL_DATADIR_EXAMPLES)) + $(INSTALL) -m 755 -d $(INSTALL_DATADIR)/$(PROJECT_NAME)/test + $(INSTALL) -m 755 -d $(INSTALL_DATADIR)/$(PROJECT_NAME)/test/bin + $(INSTALL) -m 755 $(ROOT)/test/bin/scala-test $(INSTALL_DATADIR_TEST)/bin + $(strip $(MIRROR) -m 644 -C $(TEST_ROOT) $(TEST_LIST) \ + $(INSTALL_DATADIR_TEST)) + $(strip $(MIRROR) -m 644 -C $(TEST_ROOT) \ + $(shell cd $(TEST_ROOT); ls $(TEST_LIST:%.scala=%.check) 2>/dev/null) \ + $(INSTALL_DATADIR_TEST)) + $(strip $(MIRROR) -m 644 -C $(TEST_ROOT) \ + $(shell cd $(TEST_ROOT); ls $(TEST_LIST:%.scala=%.flags) 2>/dev/null) \ + $(INSTALL_DATADIR_TEST)) + $(INSTALL) -m 755 -d $(INSTALL_DATADIR_EMACS) + $(strip $(MIRROR) -m 644 -C $(EMACS_ROOT) $(EMACS_LIST) \ + $(INSTALL_DATADIR_EMACS)) + $(INSTALL) -m 644 $(ROOT)/README $(INSTALL_PREFIX) + $(INSTALL) -m 644 $(ROOT)/LICENSE $(INSTALL_PREFIX) + $(ECHO) $(INSTALL_VERSION) > $(INSTALL_PREFIX)/VERSION + $(CHMOD) 644 $(INSTALL_PREFIX)/VERSION + + +install-windows : + @if [ ! -d "$(INSTALL_PREFIX)" ]; then \ + echo "Could not find UNIX install '$(INSTALL_PREFIX)'"; \ + exit 1; \ + fi + $(UNIX2DOS) $(INSTALL_PREFIX)/README + $(UNIX2DOS) $(INSTALL_PREFIX)/LICENSE + $(UNIX2DOS) $(INSTALL_PREFIX)/VERSION + $(UNIX2DOS) $(INSTALL_LIBDIR)/bcel.LICENSE + $(TOUCH) $(INSTALL_PREFIX)/VERSION-$(INSTALL_VERSION) + @root=`cd "$(INSTALL_PREFIX)"; pwd`; \ + for file in "" $(SCRIPTS_WRAPPER_ALIASES); do \ + if [ -z "$$file" ]; then continue; fi; \ + echo -n "Generating $$file.bat ... "; \ + srcfile="$(ROOT)/support/windows/scala_wrapper"; \ + nixfile="$(INSTALL_PREFIX)/bin/$$file"; \ + winfile="$(INSTALL_PREFIX)/bin/$$file.bat"; \ + nixexec=`SCALA_WRAPPER_EXEC=echo $$nixfile`; \ + winexec="$$nixexec"; \ + winexec=`echo "$$winexec" | sed -es"#$$root#%SCALA_HOME%#g"`; \ + winexec=`echo "$$winexec" | tr '/' '\\\\' | tr ':' ';'`; \ + $(RM) -f "$$winfile"; \ + ( \ + $(CAT) "$$srcfile-header.bat"; \ + $(ECHO) "set VERSION=$(INSTALL_VERSION)"; \ + $(ECHO) "set COMMAND=$$winexec"; \ + $(CAT) "$$srcfile-footer.bat"; \ + ) | $(UNIX2DOS) >> "$$winfile"; \ + $(RM) "$$nixfile"; \ + echo "done"; \ + done + $(RM) $(INSTALL_PREFIX)/bin/.scala_wrapper + $(FIND) $(INSTALL_DATADIR_LIBRARY) -type f -exec unix2dos "{}" ";" + $(FIND) $(INSTALL_DATADIR_EXAMPLES) -type f -exec unix2dos "{}" ";" + $(FIND) $(INSTALL_DATADIR_TEST) -type f -exec unix2dos "{}" ";" + $(FIND) $(INSTALL_DATADIR_EMACS) -type f -exec unix2dos "{}" ";" + +.PHONY : install +.PHONY : install-windows + +############################################################################## + +DISTRIB_REPOSITORY = $(ROOT)/distribs +DISTRIB_VERSION := $(shell $(DATE) -u "+%Y%m%d-%H%M%S") +DISTRIB_NAME = $(PROJECT_NAME)-$(DISTRIB_VERSION) +DISTRIB_PREFIX = $(DISTRIB_REPOSITORY)/$(DISTRIB_NAME) +DISTRIB_ARCHIVE = $(DISTRIB_REPOSITORY)/$(DISTRIB_NAME).tar.gz + +distrib-extract : + @if [ ! -f "$(DISTRIB_ARCHIVE)" ]; then \ + echo "Could not find source archive '$(DISTRIB_ARCHIVE)'"; \ + exit 1; \ + fi + @if [ -d "$(DISTRIB_PREFIX)" ]; then \ + $(call RUN,$(RM) -rf $(DISTRIB_PREFIX)); \ + fi + tar xvzf $(DISTRIB_ARCHIVE) -C $(DISTRIB_REPOSITORY) + +distrib-build-unix : + @$(MAKE) INSTALL_PREFIX=$(DISTRIB_PREFIX) \ + INSTALL_VERSION=$(DISTRIB_VERSION) install + tar czf $(DISTRIB_ARCHIVE) -C $(DISTRIB_REPOSITORY) $(DISTRIB_NAME) + +distrib-build-windows : + @$(MAKE) INSTALL_PREFIX=$(DISTRIB_PREFIX) \ + INSTALL_VERSION=$(DISTRIB_VERSION) install-windows + $(RM) -f $(DISTRIB_PREFIX).zip + cd $(DISTRIB_REPOSITORY); \ + $(ZIP) -q -r $(DISTRIB_NAME).zip $(DISTRIB_NAME) + +distrib-clean : + $(RM) -rf $(DISTRIB_PREFIX) + +distrib-unix : distrib-build-unix +distrib-unix : distrib-clean + +distrib-windows : DISTRIB_NAME=$(notdir $(ARGS:%.tar.gz=%)) +distrib-windows : DISTRIB_VERSION=$(DISTRIB_NAME:scala-%=%) +distrib-windows : distrib-extract +distrib-windows : distrib-build-windows +distrib-windows : distrib-clean + +distrib-all-oses : distrib-build-unix +distrib-all-oses : distrib-build-windows +distrib-all-oses : distrib-clean + +distrib-14 : + @if [ -f "$(ROOT)/bin/.scala_wrapper.bak" ]; then \ + echo "There is a backup of .scala_wrapper, maybe you should run: "; \ + echo "make distrib-13-undo"; \ + exit 1; \ + fi + @$(MAKE) distrib-all-oses DISTRIB_VERSION=$(DISTRIB_VERSION); + +distrib-13-undo : + @$(MAKE) clean; + mv $(ROOT)/bin/.scala_wrapper.bak $(ROOT)/bin/.scala_wrapper + +distrib-13 : PATH:=/home/linuxsoft/apps/java-1.3/bin:$(PATH) +distrib-13 : + @if [ -f "$(ROOT)/bin/.scala_wrapper.bak" ]; then \ + echo "Cannot save .scala_wrapper, there is already a backup," \ + "maybe you should run: "; \ + echo "make distrib-13-undo"; \ + exit 1; \ + fi + mv $(ROOT)/bin/.scala_wrapper $(ROOT)/bin/.scala_wrapper.bak + $(SED) -e "s/-enableassertions//" $(ROOT)/bin/.scala_wrapper.bak \ + > $(ROOT)/bin/.scala_wrapper + @$(MAKE) clean; + @$(MAKE) COMPILER_JC_FLAGS="$(COMPILER_JC_FLAGS) -target 1.3" + @$(MAKE) distrib-all-oses DISTRIB_VERSION=$(DISTRIB_VERSION)-jdk-1.3; + @$(MAKE) distrib-13-undo; + +distrib : distrib-14 +#distrib : distrib-13 + +.PHONY : distrib-extract +.PHONY : distrib-build-unix +.PHONY : distrib-build-windows +.PHONY : distrib-clean +.PHONY : distrib-unix +.PHONY : distrib-windows +.PHONY : distrib-all-oses +.PHONY : distrib-14 +.PHONY : distrib-13-undo +.PHONY : distrib-13 +.PHONY : distrib + +############################################################################## -- cgit v1.2.3