src/Pure/IsaMakefile
author wenzelm
Sun, 01 Mar 2009 16:48:06 +0100
changeset 30189 3633f560f4c3
parent 30178 70e42a88be37
child 30242 aea5d7fa7ef5
permissions -rw-r--r--
discontinued experimental support for Alice -- too hard to maintain its many language incompatibilities, never really worked anyway;
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@4518
    15
SRC = $(ISABELLE_HOME)/src
wenzelm@3118
    16
OUT = $(ISABELLE_OUTPUT)
wenzelm@4518
    17
LOG = $(OUT)/log
wenzelm@2431
    18
wenzelm@2431
    19
wenzelm@4518
    20
## Pure
wenzelm@4518
    21
wenzelm@30189
    22
BOOTSTRAP_FILES = ML-Systems/exn.ML ML-Systems/ml_name_space.ML		\
wenzelm@30189
    23
  ML-Systems/mosml.ML ML-Systems/multithreading.ML			\
wenzelm@30189
    24
  ML-Systems/multithreading_polyml.ML ML-Systems/overloading_smlnj.ML	\
wenzelm@30189
    25
  ML-Systems/polyml-4.1.3.ML ML-Systems/polyml-4.1.4.ML			\
wenzelm@30189
    26
  ML-Systems/polyml-4.2.0.ML ML-Systems/polyml-5.0.ML			\
wenzelm@30189
    27
  ML-Systems/polyml-5.1.ML ML-Systems/polyml-experimental.ML		\
wenzelm@30189
    28
  ML-Systems/polyml.ML ML-Systems/polyml_common.ML			\
wenzelm@30189
    29
  ML-Systems/polyml_old_compiler4.ML					\
wenzelm@30141
    30
  ML-Systems/polyml_old_compiler5.ML ML-Systems/proper_int.ML		\
wenzelm@30141
    31
  ML-Systems/smlnj.ML ML-Systems/system_shell.ML			\
wenzelm@30141
    32
  ML-Systems/thread_dummy.ML ML-Systems/time_limit.ML			\
wenzelm@30141
    33
  ML-Systems/universal.ML
wenzelm@30141
    34
wenzelm@30141
    35
RAW: $(OUT)/RAW
wenzelm@30141
    36
wenzelm@30141
    37
$(OUT)/RAW: $(BOOTSTRAP_FILES)
wenzelm@30141
    38
	@./mk -r
wenzelm@30141
    39
wenzelm@30141
    40
wenzelm@27204
    41
Pure: $(OUT)/Pure
wenzelm@4518
    42
wenzelm@30141
    43
$(OUT)/Pure: $(BOOTSTRAP_FILES) ../Tools/auto_solve.ML			\
wenzelm@30141
    44
  ../Tools/quickcheck.ML Concurrent/ROOT.ML Concurrent/future.ML	\
wenzelm@28632
    45
  Concurrent/mailbox.ML Concurrent/par_list.ML				\
wenzelm@29119
    46
  Concurrent/par_list_dummy.ML Concurrent/simple_thread.ML		\
wenzelm@29119
    47
  Concurrent/synchronized.ML Concurrent/task_queue.ML General/ROOT.ML	\
wenzelm@29119
    48
  General/alist.ML General/balanced_tree.ML General/basics.ML		\
wenzelm@29450
    49
  General/binding.ML General/buffer.ML General/file.ML			\
wenzelm@29450
    50
  General/graph.ML General/heap.ML General/integer.ML General/lazy.ML	\
wenzelm@29450
    51
  General/markup.ML General/name_space.ML General/ord_list.ML		\
wenzelm@29450
    52
  General/output.ML General/path.ML General/position.ML			\
wenzelm@29450
    53
  General/pretty.ML General/print_mode.ML General/properties.ML		\
wenzelm@29450
    54
  General/queue.ML General/scan.ML General/secure.ML General/seq.ML	\
wenzelm@29450
    55
  General/source.ML General/stack.ML General/symbol.ML			\
wenzelm@29450
    56
  General/symbol_pos.ML General/table.ML General/url.ML General/xml.ML	\
wenzelm@29450
    57
  General/yxml.ML Isar/ROOT.ML Isar/antiquote.ML Isar/args.ML		\
wenzelm@29450
    58
  Isar/attrib.ML Isar/auto_bind.ML Isar/calculation.ML Isar/class.ML	\
wenzelm@29450
    59
  Isar/class_target.ML Isar/code.ML Isar/code_unit.ML			\
wenzelm@29450
    60
  Isar/constdefs.ML Isar/context_rules.ML Isar/element.ML		\
wenzelm@30174
    61
  Isar/expression.ML Isar/isar_cmd.ML Isar/isar_document.ML		\
wenzelm@30174
    62
  Isar/isar_syn.ML Isar/local_defs.ML Isar/local_syntax.ML		\
wenzelm@30174
    63
  Isar/local_theory.ML Isar/locale.ML Isar/method.ML Isar/net_rules.ML	\
wenzelm@30174
    64
  Isar/object_logic.ML Isar/obtain.ML Isar/outer_keyword.ML		\
wenzelm@30174
    65
  Isar/outer_lex.ML Isar/outer_parse.ML Isar/outer_syntax.ML		\
wenzelm@30174
    66
  Isar/overloading.ML Isar/proof.ML Isar/proof_context.ML		\
wenzelm@30174
    67
  Isar/proof_display.ML Isar/proof_node.ML Isar/rule_cases.ML		\
wenzelm@30174
    68
  Isar/rule_insts.ML Isar/skip_proof.ML Isar/spec_parse.ML		\
wenzelm@30174
    69
  Isar/specification.ML Isar/theory_target.ML Isar/toplevel.ML		\
wenzelm@30174
    70
  Isar/value_parse.ML ML/ml_antiquote.ML ML/ml_context.ML ML/ml_lex.ML	\
wenzelm@30178
    71
  ML/ml_parse.ML ML/ml_syntax.ML ML/ml_thms.ML				\
wenzelm@30178
    72
  ML-Systems/install_pp_polyml.ML Proof/extraction.ML			\
wenzelm@30141
    73
  Proof/proof_rewrite_rules.ML Proof/proof_syntax.ML			\
wenzelm@30141
    74
  Proof/proofchecker.ML Proof/reconstruct.ML ProofGeneral/ROOT.ML	\
wenzelm@30141
    75
  ProofGeneral/pgip.ML ProofGeneral/pgip_input.ML			\
wenzelm@26097
    76
  ProofGeneral/pgip_isabelle.ML ProofGeneral/pgip_markup.ML		\
wenzelm@26097
    77
  ProofGeneral/pgip_output.ML ProofGeneral/pgip_parser.ML		\
wenzelm@26097
    78
  ProofGeneral/pgip_tests.ML ProofGeneral/pgip_types.ML			\
wenzelm@28030
    79
  ProofGeneral/preferences.ML ProofGeneral/proof_general_emacs.ML	\
wenzelm@26097
    80
  ProofGeneral/proof_general_pgip.ML Pure.thy ROOT.ML Syntax/ast.ML	\
wenzelm@26097
    81
  Syntax/lexicon.ML Syntax/mixfix.ML Syntax/parser.ML			\
wenzelm@26097
    82
  Syntax/printer.ML Syntax/simple_syntax.ML Syntax/syn_ext.ML		\
wenzelm@30174
    83
  Syntax/syn_trans.ML Syntax/syntax.ML Syntax/type_ext.ML		\
wenzelm@30174
    84
  System/isabelle_process.ML System/isar.ML System/session.ML		\
wenzelm@30174
    85
  Thy/html.ML Thy/latex.ML Thy/present.ML Thy/term_style.ML		\
wenzelm@30174
    86
  Thy/thm_deps.ML Thy/thy_header.ML Thy/thy_info.ML Thy/thy_load.ML	\
wenzelm@30174
    87
  Thy/thy_output.ML Thy/thy_syntax.ML Tools/ROOT.ML			\
wenzelm@30174
    88
  Tools/find_consts.ML Tools/find_theorems.ML Tools/named_thms.ML	\
wenzelm@30142
    89
  Tools/xml_syntax.ML assumption.ML axclass.ML codegen.ML config.ML	\
wenzelm@30142
    90
  conjunction.ML consts.ML context.ML context_position.ML conv.ML	\
wenzelm@30142
    91
  defs.ML display.ML drule.ML envir.ML facts.ML goal.ML			\
wenzelm@30142
    92
  interpretation.ML library.ML logic.ML meta_simplifier.ML more_thm.ML	\
wenzelm@30142
    93
  morphism.ML name.ML net.ML old_goals.ML old_term.ML pattern.ML	\
wenzelm@30142
    94
  primitive_defs.ML proofterm.ML pure_setup.ML pure_thy.ML search.ML	\
wenzelm@30142
    95
  sign.ML simplifier.ML sorts.ML subgoal.ML tactic.ML tctical.ML	\
wenzelm@30142
    96
  term.ML term_ord.ML term_subst.ML theory.ML thm.ML type.ML		\
wenzelm@30142
    97
  type_infer.ML unify.ML variable.ML
wenzelm@2431
    98
	@./mk
wenzelm@2431
    99
wenzelm@4518
   100
wenzelm@30141
   101
## Proof General keywords
wenzelm@10102
   102
wenzelm@24880
   103
Pure-ProofGeneral: Pure $(LOG)/Pure-ProofGeneral.gz
wenzelm@24880
   104
wenzelm@27204
   105
$(LOG)/Pure-ProofGeneral.gz: $(OUT)/Pure ProofGeneral/proof_general_keywords.ML
wenzelm@28500
   106
	@$(ISABELLE_TOOL) usedir -f proof_general_keywords.ML $(OUT)/Pure ProofGeneral
wenzelm@24880
   107
wenzelm@24880
   108
wenzelm@4518
   109
## clean
wenzelm@4441
   110
wenzelm@4441
   111
clean:
wenzelm@30141
   112
	@rm -f $(OUT)/Pure $(LOG)/Pure.gz $(OUT)/RAW $(LOG)/RAW.gz \
wenzelm@30141
   113
          $(LOG)/Pure-ProofGeneral.gz
wenzelm@27902
   114
wenzelm@27902
   115
wenzelm@27902
   116
## Scala material
wenzelm@27902
   117
wenzelm@29202
   118
SCALA_FILES = General/event_bus.scala General/markup.scala		\
wenzelm@29202
   119
  General/position.scala General/swing.scala General/symbol.scala	\
wenzelm@29202
   120
  General/xml.scala General/yxml.scala Isar/isar.scala			\
wenzelm@29553
   121
  Isar/isar_document.scala Isar/outer_keyword.scala			\
wenzelm@30175
   122
  System/isabelle_process.scala System/isabelle_system.scala		\
wenzelm@30175
   123
  Thy/thy_header.scala Tools/isabelle_syntax.scala
wenzelm@27950
   124
wenzelm@27950
   125
wenzelm@27902
   126
SCALA_TARGET = $(ISABELLE_HOME)/lib/classes/Pure.jar
wenzelm@27902
   127
wenzelm@27902
   128
jar: $(SCALA_TARGET)
wenzelm@27902
   129
wenzelm@27902
   130
$(SCALA_TARGET): $(SCALA_FILES)
wenzelm@27902
   131
	@rm -rf classes && mkdir classes
wenzelm@27950
   132
	scalac -deprecation -d classes -target jvm-1.5 $(SCALA_FILES)
wenzelm@27925
   133
	scaladoc -d classes $(SCALA_FILES)
wenzelm@28295
   134
	@cp $(SCALA_FILES) classes/isabelle
wenzelm@27902
   135
	@mkdir -p `dirname $@`
wenzelm@27922
   136
	@cd classes; jar cf $@ isabelle
wenzelm@28003
   137
	@rm -rf classes
wenzelm@27902
   138
wenzelm@27902
   139
clean-jar:
wenzelm@27902
   140
	@rm -f $(SCALA_TARGET)