summaryrefslogtreecommitdiff
path: root/Makefile.distrib
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-08-05 08:59:37 +0000
committerpaltherr <paltherr@epfl.ch>2003-08-05 08:59:37 +0000
commitbb672e7f07f05d03ee0a7b0da69c6cf763a542b9 (patch)
tree4c0248328cc36f22ba73ec1ee23142967d33c52c /Makefile.distrib
parent863a5f0add804e0629b6add803438e0c0027883f (diff)
downloadscala-bb672e7f07f05d03ee0a7b0da69c6cf763a542b9.tar.gz
scala-bb672e7f07f05d03ee0a7b0da69c6cf763a542b9.tar.bz2
scala-bb672e7f07f05d03ee0a7b0da69c6cf763a542b9.zip
- Split Makefile into 3 files
- Removed references to linuxsoft
Diffstat (limited to 'Makefile.distrib')
-rw-r--r--Makefile.distrib221
1 files changed, 221 insertions, 0 deletions
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
+
+##############################################################################