diff options
author | paltherr <paltherr@epfl.ch> | 2003-08-11 07:59:30 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-08-11 07:59:30 +0000 |
commit | 5893d5b55b0b1d343c56743566789007ad4cd6a6 (patch) | |
tree | a82d9a6f0e91b30f582a8278ae5c56c461933883 | |
parent | 7c3f5b112308dc9d2fa8b51fab6579501588e098 (diff) | |
download | scala-5893d5b55b0b1d343c56743566789007ad4cd6a6.tar.gz scala-5893d5b55b0b1d343c56743566789007ad4cd6a6.tar.bz2 scala-5893d5b55b0b1d343c56743566789007ad4cd6a6.zip |
- Added compilation of scala documentation
-rw-r--r-- | Makefile | 8 | ||||
-rw-r--r-- | Makefile.config | 3 | ||||
-rw-r--r-- | support/make/sdc.mk | 110 |
3 files changed, 121 insertions, 0 deletions
@@ -87,6 +87,8 @@ LIBRARY_LIST = $(call READLIST,$(PROJECT_LISTDIR)/library.lst) LIBRARY_SOURCES += $(LIBRARY_LIST:%=$(LIBRARY_ROOT)/%) LIBRARY_JC_FILES += $(filter %.java,$(LIBRARY_SOURCES)) LIBRARY_SC_FILES += $(filter %.scala,$(LIBRARY_SOURCES)) +LIBRARY_SDC_FILES += $(LIBRARY_SC_FILES) +LIBRARY_SDC_OUTPUTDIR = $(PROJECT_APIDIR) # scala interpreter INTERPRETER_ROOT = $(PROJECT_SOURCEDIR)/scalai @@ -162,6 +164,7 @@ generate : .latest-generate compiler : .latest-compiler library : .latest-library-jc library : .latest-library-sc +library : .latest-library-sdc interpreter : .latest-interpreter scaladoc : .latest-scaladoc dtd2scala : .latest-dtd2scala @@ -209,6 +212,10 @@ dtd2scala : .latest-dtd2scala @$(make) sc target=LIBRARY LIBRARY_SC_FILES='$(subst $$,\$$$$,$?)' touch $@ +.latest-library-sdc : $(LIBRARY_SDC_FILES) + @$(make) sdc target=LIBRARY LIBRARY_SC_FILES='$(subst $$,\$$$$,$(LIBRARY_SC_FILES))' + touch $@ + .latest-interpreter : $(INTERPRETER_JC_FILES) @$(make) jc target=INTERPRETER INTERPRETER_JC_FILES='$?' touch $@ @@ -292,5 +299,6 @@ $(PROJECT_JAR_ARCHIVE) : include $(PROJECT_SUPPORTDIR)/make/jc.mk include $(PROJECT_SUPPORTDIR)/make/jar.mk include $(PROJECT_SUPPORTDIR)/make/sc.mk +include $(PROJECT_SUPPORTDIR)/make/sdc.mk ############################################################################## diff --git a/Makefile.config b/Makefile.config index 632ceeea85..b9a2c5dcd0 100644 --- a/Makefile.config +++ b/Makefile.config @@ -15,12 +15,14 @@ PROJECT_NAME ?= scala PROJECT_ROOT ?= $(ROOT) PROJECT_BINARYDIR ?= $(PROJECT_ROOT)/bin PROJECT_CONFIGDIR ?= $(PROJECT_ROOT)/config +PROJECT_DOCUMENTDIR ?= $(PROJECT_ROOT)/doc PROJECT_LIBRARYDIR ?= $(PROJECT_ROOT)/lib PROJECT_SUPPORTDIR ?= $(PROJECT_ROOT)/support PROJECT_SOURCEDIR ?= $(PROJECT_ROOT)/sources PROJECT_OUTPUTDIR ?= $(PROJECT_ROOT)/classes PROJECT_CLASSPATH ?= $(PROJECT_OUTPUTDIR) PROJECT_LISTDIR ?= $(PROJECT_CONFIGDIR)/list +PROJECT_APIDIR ?= $(PROJECT_DOCUMENTDIR)/api ############################################################################## # External libraries @@ -85,6 +87,7 @@ PICO_FLAGS ?= -make -source 1.4 # Scala compiler SCALAC ?= $(PROJECT_BINARYDIR)/scalac +SCALADOC ?= $(PROJECT_BINARYDIR)/scaladoc ############################################################################## # Makefile functions diff --git a/support/make/sdc.mk b/support/make/sdc.mk new file mode 100644 index 0000000000..5c9601d790 --- /dev/null +++ b/support/make/sdc.mk @@ -0,0 +1,110 @@ +############################################################-*-Makefile-*-#### +# SDC - Compile Scala Documentation Files +############################################################################## +# $Id$ + +############################################################################## +# Usage +# +# make sdc [target=<target>] {<VARIABLE>=<value>} +# +############################################################################## +# Variables +# +# SDC_COMPILER = compiler name, for example SCALADOC +# $(SDC_COMPILER) = compiler command +# $(SDC_COMPILER)_FLAGS = compiler-specific compilation flags +# SDC_FLAGS += compilation flags +# SDC_CLASSPATH = location of user class files +# SDC_SOURCEPATH = location of input source files +# SDC_BOOTCLASSPATH = location of bootstrap class files +# SDC_EXTDIRS = location of installed extensions +# SDC_OUTPUTDIR = directory where to place generated class files +# SDC_ENCODING = character encoding used by source files +# SDC_SOURCE = version of source code +# SDC_TARGET = version of target bytecode +# SDC_FILES += files to compile +# +# All variables may have target specific values which override the +# normal value. Those values are specified by variables whose name is +# prefixed with the target name. For example, to override the value of +# the variable SDC_CLASSPATH with target LIBRARY, one may define the +# variable LIBRARY_SDC_CLASSPATH. +# +############################################################################## +# Examples +# +# Compile file "sources/scala/Predef.scala" +# +# make sdc SDC_FILES=sources/scala/Predef.scala +# +# +# Compile the whole runtime +# +# make sdc target=LIBRARY +# +# +# A Makefile rule that compiles all modified files from the runtime +# +# .latest-library : $(LIBRARY_SDC_FILES) +# @$(MAKE) sdc target=LIBRARY LIBRARY_SDC_FILES='$?' +# touch $@ +# +############################################################################## + +############################################################################## +# Defaults + +SDC_COMPILER ?= SCALADOC +CYGWIN_PATH ?= $(1) +CYGWIN_FILE ?= $(1) +SCALADOC ?= scaladoc + +############################################################################## +# Values + +sdc_COMPILER = $(call SDC_LOOKUP,SDC_COMPILER) +sdc_compiler = $(call SDC_LOOKUP,$(sdc_COMPILER)) +sdc_compiler_flags = $(call SDC_LOOKUP,$(sdc_COMPILER)_FLAGS) +sdc_FLAGS = $(call SDC_LOOKUP,SDC_FLAGS) +sdc_CLASSPATH = $(call SDC_LOOKUP,SDC_CLASSPATH) +sdc_SOURCEPATH = $(call SDC_LOOKUP,SDC_SOURCEPATH) +sdc_BOOTCLASSPATH = $(call SDC_LOOKUP,SDC_BOOTCLASSPATH) +sdc_EXTDIRS = $(call SDC_LOOKUP,SDC_EXTDIRS) +sdc_OUTPUTDIR = $(call SDC_LOOKUP,SDC_OUTPUTDIR) +sdc_ENCODING = $(call SDC_LOOKUP,SDC_ENCODING) +sdc_SOURCE = $(call SDC_LOOKUP,SDC_SOURCE) +sdc_TARGET = $(call SDC_LOOKUP,SDC_TARGET) +sdc_FILES = $(call SDC_LOOKUP,SDC_FILES) + +############################################################################## +# Command + +sdc += $(sdc_compiler) +sdc += $(sdc_compiler_flags) +sdc += $(sdc_FLAGS) +sdc += $(sdc_CLASSPATH:%=-classpath $(call CYGWIN_PATH,%)) +sdc += $(sdc_SOURCEPATH:%=-sourcepath $(call CYGWIN_PATH,%)) +sdc += $(sdc_BOOTCLASSPATH:%=-bootclasspath $(call CYGWIN_PATH,%)) +sdc += $(sdc_EXTDIRS:%=-extdirs $(call CYGWIN_PATH,%)) +sdc += $(sdc_OUTPUTDIR:%=-d $(call CYGWIN_FILE,%)) +sdc += $(sdc_ENCODING:%=-encoding %) +sdc += $(sdc_SOURCE:%=-source %) +sdc += $(sdc_TARGET:%=-target %) +sdc += $(sdc_FILES:%=$(call CYGWIN_FILE,%)) + +############################################################################## +# Functions + +SDC_LOOKUP = $(if $($(target)_$(1)),$($(target)_$(1)),$($(1))) + +############################################################################## +# Rules + +sdc : + @[ -d "$(sdc_OUTPUTDIR)" ] || $(MKDIR) -p "$(sdc_OUTPUTDIR)" + $(strip $(sdc)) + +.PHONY : sdc + +############################################################################## |