src/Pure/IsaMakefile
author wenzelm
Mon, 09 Nov 2009 21:30:54 +0100
changeset 33540 edf497b5b5d2
parent 33374 8099185908a4
child 33984 c54498f88a77
permissions -rw-r--r--
setup for official Poly/ML 5.3.0, which is now the default;
wenzelm@2431
     1
#
wenzelm@4518
     2
# IsaMakefile for Pure
wenzelm@2431
     3
#
wenzelm@2431
     4
wenzelm@4518
     5
## targets
wenzelm@4518
     6
wenzelm@4518
     7
default: Pure
wenzelm@4518
     8
images: Pure
wenzelm@24880
     9
test: RAW Pure-ProofGeneral
wenzelm@4518
    10
all: images test
wenzelm@4518
    11
wenzelm@4518
    12
wenzelm@4518
    13
## global settings
wenzelm@4518
    14
wenzelm@31702
    15
SHELL = /bin/bash
wenzelm@31702
    16
wenzelm@4518
    17
SRC = $(ISABELLE_HOME)/src
wenzelm@3118
    18
OUT = $(ISABELLE_OUTPUT)
wenzelm@4518
    19
LOG = $(OUT)/log
wenzelm@2431
    20
wenzelm@2431
    21
wenzelm@4518
    22
## Pure
wenzelm@4518
    23
wenzelm@31312
    24
BOOTSTRAP_FILES = ML-Systems/compiler_polyml-5.0.ML			\
wenzelm@31312
    25
  ML-Systems/compiler_polyml-5.2.ML ML-Systems/compiler_polyml-5.3.ML	\
wenzelm@31312
    26
  ML-Systems/exn.ML ML-Systems/ml_name_space.ML				\
wenzelm@30622
    27
  ML-Systems/ml_pretty.ML ML-Systems/mosml.ML				\
wenzelm@30622
    28
  ML-Systems/multithreading.ML ML-Systems/multithreading_polyml.ML	\
wenzelm@31308
    29
  ML-Systems/overloading_smlnj.ML ML-Systems/polyml-5.0.ML		\
wenzelm@33540
    30
  ML-Systems/polyml-5.1.ML ML-Systems/polyml-5.2.ML			\
wenzelm@33540
    31
  ML-Systems/polyml-5.2.1.ML ML-Systems/polyml.ML			\
wenzelm@33540
    32
  ML-Systems/polyml_common.ML ML-Systems/pp_polyml.ML			\
wenzelm@33540
    33
  ML-Systems/proper_int.ML ML-Systems/smlnj.ML				\
wenzelm@30630
    34
  ML-Systems/system_shell.ML ML-Systems/thread_dummy.ML			\
wenzelm@31688
    35
  ML-Systems/timing.ML ML-Systems/time_limit.ML				\
wenzelm@32737
    36
  ML-Systems/universal.ML ML-Systems/unsynchronized.ML
wenzelm@30141
    37
wenzelm@30141
    38
RAW: $(OUT)/RAW
wenzelm@30141
    39
wenzelm@30141
    40
$(OUT)/RAW: $(BOOTSTRAP_FILES)
wenzelm@30141
    41
	@./mk -r
wenzelm@30141
    42
wenzelm@30141
    43
wenzelm@27204
    44
Pure: $(OUT)/Pure
wenzelm@4518
    45
wenzelm@32844
    46
$(OUT)/Pure: $(BOOTSTRAP_FILES) Concurrent/cache.ML			\
wenzelm@32844
    47
  Concurrent/future.ML Concurrent/lazy.ML				\
wenzelm@32844
    48
  Concurrent/lazy_sequential.ML Concurrent/mailbox.ML			\
wenzelm@32844
    49
  Concurrent/par_list.ML Concurrent/par_list_sequential.ML		\
wenzelm@32844
    50
  Concurrent/simple_thread.ML Concurrent/synchronized.ML		\
wenzelm@32844
    51
  Concurrent/synchronized_sequential.ML Concurrent/task_queue.ML	\
wenzelm@32844
    52
  General/alist.ML General/antiquote.ML General/balanced_tree.ML	\
wenzelm@32844
    53
  General/basics.ML General/binding.ML General/buffer.ML		\
wenzelm@32844
    54
  General/file.ML General/graph.ML General/heap.ML General/integer.ML	\
wenzelm@32844
    55
  General/long_name.ML General/markup.ML General/name_space.ML		\
wenzelm@32844
    56
  General/ord_list.ML General/output.ML General/path.ML			\
wenzelm@32844
    57
  General/position.ML General/pretty.ML General/print_mode.ML		\
wenzelm@32844
    58
  General/properties.ML General/queue.ML General/same.ML		\
wenzelm@32844
    59
  General/scan.ML General/secure.ML General/seq.ML General/source.ML	\
wenzelm@32844
    60
  General/stack.ML General/symbol.ML General/symbol_pos.ML		\
wenzelm@32844
    61
  General/table.ML General/url.ML General/xml.ML General/yxml.ML	\
wenzelm@32844
    62
  Isar/args.ML Isar/attrib.ML Isar/auto_bind.ML Isar/calculation.ML	\
wenzelm@32844
    63
  Isar/class.ML Isar/class_target.ML Isar/code.ML Isar/constdefs.ML	\
wenzelm@32844
    64
  Isar/context_rules.ML Isar/element.ML Isar/expression.ML		\
wenzelm@32844
    65
  Isar/isar_cmd.ML Isar/isar_document.ML Isar/isar_syn.ML		\
wenzelm@32844
    66
  Isar/local_defs.ML Isar/local_syntax.ML Isar/local_theory.ML		\
wenzelm@32844
    67
  Isar/locale.ML Isar/method.ML Isar/object_logic.ML Isar/obtain.ML	\
wenzelm@32844
    68
  Isar/outer_keyword.ML Isar/outer_lex.ML Isar/outer_parse.ML		\
wenzelm@32844
    69
  Isar/outer_syntax.ML Isar/overloading.ML Isar/proof.ML		\
wenzelm@32844
    70
  Isar/proof_context.ML Isar/proof_display.ML Isar/proof_node.ML	\
wenzelm@32844
    71
  Isar/rule_cases.ML Isar/rule_insts.ML Isar/runtime.ML			\
wenzelm@33374
    72
  Isar/skip_proof.ML Isar/spec_parse.ML Isar/spec_rules.ML		\
wenzelm@33374
    73
  Isar/specification.ML Isar/theory_target.ML Isar/toplevel.ML		\
wenzelm@33374
    74
  Isar/value_parse.ML ML/ml_antiquote.ML ML/ml_compiler.ML		\
wenzelm@33374
    75
  ML/ml_compiler_polyml-5.3.ML ML/ml_context.ML ML/ml_env.ML		\
wenzelm@33374
    76
  ML/ml_lex.ML ML/ml_parse.ML ML/ml_syntax.ML ML/ml_thms.ML		\
wenzelm@33374
    77
  ML-Systems/install_pp_polyml.ML ML-Systems/install_pp_polyml-5.3.ML	\
wenzelm@33374
    78
  ML-Systems/use_context.ML Proof/extraction.ML				\
wenzelm@33374
    79
  Proof/proof_rewrite_rules.ML Proof/proof_syntax.ML			\
wenzelm@33374
    80
  Proof/proofchecker.ML Proof/reconstruct.ML ProofGeneral/pgip.ML	\
wenzelm@33374
    81
  ProofGeneral/pgip_input.ML ProofGeneral/pgip_isabelle.ML		\
wenzelm@33374
    82
  ProofGeneral/pgip_markup.ML ProofGeneral/pgip_output.ML		\
wenzelm@33374
    83
  ProofGeneral/pgip_parser.ML ProofGeneral/pgip_tests.ML		\
wenzelm@33374
    84
  ProofGeneral/pgip_types.ML ProofGeneral/preferences.ML		\
wenzelm@33374
    85
  ProofGeneral/proof_general_emacs.ML					\
wenzelm@26097
    86
  ProofGeneral/proof_general_pgip.ML Pure.thy ROOT.ML Syntax/ast.ML	\
wenzelm@26097
    87
  Syntax/lexicon.ML Syntax/mixfix.ML Syntax/parser.ML			\
wenzelm@26097
    88
  Syntax/printer.ML Syntax/simple_syntax.ML Syntax/syn_ext.ML		\
wenzelm@30174
    89
  Syntax/syn_trans.ML Syntax/syntax.ML Syntax/type_ext.ML		\
wenzelm@30174
    90
  System/isabelle_process.ML System/isar.ML System/session.ML		\
wenzelm@30174
    91
  Thy/html.ML Thy/latex.ML Thy/present.ML Thy/term_style.ML		\
wenzelm@30174
    92
  Thy/thm_deps.ML Thy/thy_header.ML Thy/thy_info.ML Thy/thy_load.ML	\
wenzelm@31436
    93
  Thy/thy_output.ML Thy/thy_syntax.ML Tools/find_consts.ML		\
wenzelm@31436
    94
  Tools/find_theorems.ML Tools/named_thms.ML Tools/xml_syntax.ML	\
wenzelm@31436
    95
  assumption.ML axclass.ML codegen.ML config.ML conjunction.ML		\
wenzelm@31436
    96
  consts.ML context.ML context_position.ML conv.ML defs.ML display.ML	\
wenzelm@32187
    97
  drule.ML envir.ML facts.ML goal.ML goal_display.ML interpretation.ML	\
wenzelm@32109
    98
  item_net.ML library.ML logic.ML meta_simplifier.ML more_thm.ML	\
wenzelm@32109
    99
  morphism.ML name.ML net.ML old_goals.ML old_term.ML pattern.ML	\
wenzelm@32109
   100
  primitive_defs.ML proofterm.ML pure_setup.ML pure_thy.ML search.ML	\
wenzelm@32169
   101
  sign.ML simplifier.ML sorts.ML subgoal.ML tactic.ML tactical.ML	\
wenzelm@32109
   102
  term.ML term_ord.ML term_subst.ML theory.ML thm.ML type.ML		\
wenzelm@32109
   103
  type_infer.ML unify.ML variable.ML
wenzelm@2431
   104
	@./mk
wenzelm@2431
   105
wenzelm@4518
   106
wenzelm@30141
   107
## Proof General keywords
wenzelm@10102
   108
wenzelm@24880
   109
Pure-ProofGeneral: Pure $(LOG)/Pure-ProofGeneral.gz
wenzelm@24880
   110
wenzelm@27204
   111
$(LOG)/Pure-ProofGeneral.gz: $(OUT)/Pure ProofGeneral/proof_general_keywords.ML
wenzelm@28500
   112
	@$(ISABELLE_TOOL) usedir -f proof_general_keywords.ML $(OUT)/Pure ProofGeneral
wenzelm@24880
   113
wenzelm@24880
   114
wenzelm@4518
   115
## clean
wenzelm@4441
   116
wenzelm@4441
   117
clean:
wenzelm@30141
   118
	@rm -f $(OUT)/Pure $(LOG)/Pure.gz $(OUT)/RAW $(LOG)/RAW.gz \
wenzelm@30141
   119
          $(LOG)/Pure-ProofGeneral.gz
wenzelm@27902
   120
wenzelm@27902
   121
wenzelm@27902
   122
## Scala material
wenzelm@27902
   123
wenzelm@32464
   124
SCALA_FILES = General/event_bus.scala General/linear_set.scala		\
wenzelm@32464
   125
  General/markup.scala General/position.scala General/scan.scala	\
wenzelm@32464
   126
  General/swing_thread.scala General/symbol.scala General/xml.scala	\
wenzelm@32486
   127
  General/yxml.scala Isar/isar_document.scala Isar/outer_keyword.scala	\
wenzelm@32486
   128
  System/cygwin.scala System/gui_setup.scala				\
wenzelm@32448
   129
  System/isabelle_process.scala System/isabelle_syntax.scala		\
wenzelm@32448
   130
  System/isabelle_system.scala System/platform.scala			\
wenzelm@32464
   131
  Thy/completion.scala Thy/thy_header.scala
wenzelm@27950
   132
wenzelm@31845
   133
JAR_DIR = $(ISABELLE_HOME)/lib/classes
wenzelm@31845
   134
PURE_JAR = $(JAR_DIR)/Pure.jar
wenzelm@31845
   135
FULL_JAR = $(JAR_DIR)/isabelle-scala.jar
wenzelm@27902
   136
wenzelm@31845
   137
jars: $(FULL_JAR)
wenzelm@27902
   138
wenzelm@31845
   139
$(FULL_JAR): $(SCALA_FILES)
wenzelm@27902
   140
	@rm -rf classes && mkdir classes
wenzelm@32539
   141
	"$(SCALA_HOME)/bin/scalac" -unchecked -deprecation -d classes -target jvm-1.5 $(SCALA_FILES)
wenzelm@31845
   142
	"$(SCALA_HOME)/bin/scaladoc" -d classes $(SCALA_FILES)
wenzelm@28295
   143
	@cp $(SCALA_FILES) classes/isabelle
wenzelm@31845
   144
	@mkdir -p "$(JAR_DIR)"
wenzelm@31845
   145
	@cd classes; jar cfe `jvmpath "$(PURE_JAR)"` isabelle.GUI_Setup isabelle
wenzelm@31845
   146
	@cd classes; cp "$(SCALA_HOME)/lib/scala-swing.jar" .; jar xf scala-swing.jar; \
wenzelm@31845
   147
          cp "$(SCALA_HOME)/lib/scala-library.jar" "$(FULL_JAR)"; \
wenzelm@31845
   148
          jar ufe `jvmpath $(FULL_JAR)` isabelle.GUI_Setup isabelle scala
wenzelm@28003
   149
	@rm -rf classes
wenzelm@27902
   150
wenzelm@31840
   151
clean-jars:
wenzelm@31845
   152
	@rm -f "$(PURE_JAR)" "$(FULL_JAR)"