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