src/Pure/IsaMakefile
author wenzelm
Sat, 04 Oct 2008 16:05:09 +0200
changeset 28500 4b79e5d3d0aa
parent 28494 5350b32e1525
child 28545 2fb2d48de366
permissions -rw-r--r--
replaced ISATOOL by ISABELLE_TOOL;
     1 #
     2 # $Id$
     3 #
     4 # IsaMakefile for Pure
     5 #
     6 
     7 ## targets
     8 
     9 default: Pure
    10 images: Pure
    11 test: RAW Pure-ProofGeneral
    12 all: images test
    13 
    14 
    15 ## global settings
    16 
    17 SRC = $(ISABELLE_HOME)/src
    18 OUT = $(ISABELLE_OUTPUT)
    19 LOG = $(OUT)/log
    20 
    21 
    22 ## Pure
    23 
    24 Pure: $(OUT)/Pure
    25 
    26 $(OUT)/Pure: Concurrent/future.ML Concurrent/mailbox.ML			\
    27   Concurrent/par_list.ML Concurrent/schedule.ML				\
    28   Concurrent/simple_thread.ML Concurrent/task_queue.ML General/ROOT.ML	\
    29   General/alist.ML General/balanced_tree.ML General/basics.ML		\
    30   General/buffer.ML General/file.ML General/graph.ML General/heap.ML	\
    31   General/integer.ML General/markup.ML General/name_space.ML		\
    32   General/ord_list.ML General/output.ML General/path.ML			\
    33   General/position.ML General/pretty.ML General/print_mode.ML		\
    34   General/properties.ML General/queue.ML General/scan.ML		\
    35   General/secure.ML General/seq.ML General/source.ML General/stack.ML	\
    36   General/susp.ML General/symbol.ML General/symbol_pos.ML		\
    37   General/table.ML General/url.ML General/xml.ML General/yxml.ML	\
    38   Isar/ROOT.ML Isar/antiquote.ML Isar/args.ML Isar/attrib.ML		\
    39   Isar/auto_bind.ML Isar/calculation.ML Isar/class.ML Isar/code.ML	\
    40   Isar/code_unit.ML Isar/constdefs.ML Isar/context_rules.ML		\
    41   Isar/element.ML Isar/find_theorems.ML Isar/instance.ML Isar/isar.ML	\
    42   Isar/isar_cmd.ML Isar/isar_syn.ML Isar/local_defs.ML			\
    43   Isar/local_syntax.ML Isar/local_theory.ML Isar/locale.ML		\
    44   Isar/method.ML Isar/net_rules.ML Isar/object_logic.ML Isar/obtain.ML	\
    45   Isar/outer_keyword.ML Isar/outer_lex.ML Isar/outer_parse.ML		\
    46   Isar/outer_syntax.ML Isar/overloading.ML Isar/proof.ML		\
    47   Isar/proof_context.ML Isar/proof_display.ML Isar/proof_node.ML	\
    48   Isar/rule_cases.ML Isar/rule_insts.ML Isar/session.ML			\
    49   Isar/skip_proof.ML Isar/spec_parse.ML Isar/specification.ML		\
    50   Isar/subclass.ML Isar/theory_target.ML Isar/toplevel.ML		\
    51   ML-Systems/alice.ML ML-Systems/exn.ML ML-Systems/ml_name_space.ML	\
    52   ML-Systems/multithreading.ML ML-Systems/mosml.ML			\
    53   ML-Systems/multithreading_polyml.ML ML-Systems/overloading_smlnj.ML	\
    54   ML-Systems/polyml-4.1.3.ML ML-Systems/polyml-4.1.4.ML			\
    55   ML-Systems/polyml-4.2.0.ML ML-Systems/polyml-5.0.ML			\
    56   ML-Systems/polyml-5.1.ML ML-Systems/polyml_common.ML			\
    57   ML-Systems/polyml.ML ML-Systems/polyml_old_compiler4.ML		\
    58   ML-Systems/polyml_old_compiler5.ML ML-Systems/proper_int.ML		\
    59   ML-Systems/smlnj.ML ML-Systems/system_shell.ML			\
    60   ML-Systems/time_limit.ML ML-Systems/thread_dummy.ML			\
    61   ML-Systems/universal.ML ML/ml_context.ML ML/ml_antiquote.ML		\
    62   ML/ml_lex.ML ML/ml_parse.ML ML/ml_syntax.ML ML/ml_thms.ML		\
    63   Proof/extraction.ML Proof/proof_rewrite_rules.ML			\
    64   Proof/proof_syntax.ML Proof/proofchecker.ML Proof/reconstruct.ML	\
    65   ProofGeneral/ROOT.ML ProofGeneral/pgip.ML ProofGeneral/pgip_input.ML	\
    66   ProofGeneral/pgip_isabelle.ML ProofGeneral/pgip_markup.ML		\
    67   ProofGeneral/pgip_output.ML ProofGeneral/pgip_parser.ML		\
    68   ProofGeneral/pgip_tests.ML ProofGeneral/pgip_types.ML			\
    69   ProofGeneral/preferences.ML ProofGeneral/proof_general_emacs.ML	\
    70   ProofGeneral/proof_general_pgip.ML Pure.thy ROOT.ML Syntax/ast.ML	\
    71   Syntax/lexicon.ML Syntax/mixfix.ML Syntax/parser.ML			\
    72   Syntax/printer.ML Syntax/simple_syntax.ML Syntax/syn_ext.ML		\
    73   Syntax/syn_trans.ML Syntax/syntax.ML Syntax/type_ext.ML Thy/html.ML	\
    74   Thy/latex.ML Thy/present.ML Thy/term_style.ML Thy/thm_deps.ML		\
    75   Thy/thy_edit.ML Thy/thy_header.ML Thy/thy_info.ML Thy/thy_load.ML	\
    76   Thy/thy_output.ML Tools/ROOT.ML Tools/invoke.ML Tools/quickcheck.ML	\
    77   Tools/value.ML Tools/isabelle_process.ML Tools/named_thms.ML		\
    78   Tools/xml_syntax.ML assumption.ML axclass.ML codegen.ML config.ML	\
    79   conjunction.ML consts.ML context.ML context_position.ML conv.ML	\
    80   defs.ML display.ML drule.ML envir.ML facts.ML goal.ML			\
    81   interpretation.ML library.ML logic.ML meta_simplifier.ML more_thm.ML	\
    82   morphism.ML name.ML net.ML old_goals.ML pattern.ML primitive_defs.ML	\
    83   proofterm.ML pure_setup.ML pure_thy.ML search.ML sign.ML		\
    84   simplifier.ML sorts.ML subgoal.ML tactic.ML tctical.ML term.ML	\
    85   term_subst.ML theory.ML thm.ML type.ML type_infer.ML unify.ML		\
    86   variable.ML
    87 	@./mk
    88 
    89 
    90 ## special targets
    91 
    92 Pure-ProofGeneral: Pure $(LOG)/Pure-ProofGeneral.gz
    93 
    94 $(LOG)/Pure-ProofGeneral.gz: $(OUT)/Pure ProofGeneral/proof_general_keywords.ML
    95 	@$(ISABELLE_TOOL) usedir -f proof_general_keywords.ML $(OUT)/Pure ProofGeneral
    96 
    97 
    98 RAW: $(OUT)/RAW
    99 
   100 $(OUT)/RAW: ML-Systems/alice.ML ML-Systems/exn.ML		\
   101   ML-Systems/ml_name_space.ML ML-Systems/multithreading.ML	\
   102   ML-Systems/mosml.ML ML-Systems/multithreading_polyml.ML	\
   103   ML-Systems/overloading_smlnj.ML ML-Systems/polyml-4.1.3.ML	\
   104   ML-Systems/polyml-4.1.4.ML ML-Systems/polyml-4.2.0.ML		\
   105   ML-Systems/polyml-5.0.ML ML-Systems/polyml-5.1.ML		\
   106   ML-Systems/polyml_common.ML ML-Systems/polyml.ML		\
   107   ML-Systems/polyml_old_compiler4.ML				\
   108   ML-Systems/polyml_old_compiler5.ML ML-Systems/proper_int.ML	\
   109   ML-Systems/smlnj.ML ML-Systems/system_shell.ML		\
   110   ML-Systems/time_limit.ML ML-Systems/thread_dummy.ML		\
   111   ML-Systems/universal.ML
   112 	@./mk -r
   113 
   114 
   115 ## clean
   116 
   117 clean:
   118 	@rm -f $(OUT)/Pure $(LOG)/Pure.gz $(LOG)/Pure-ProofGeneral.gz \
   119           $(OUT)/RAW $(LOG)/RAW.gz
   120 
   121 
   122 ## Scala material
   123 
   124 SCALA_FILES = General/markup.scala General/position.scala		\
   125   General/symbol.scala General/xml.scala General/yxml.scala		\
   126   Isar/isar.scala Thy/thy_header.scala Tools/isabelle_process.scala	\
   127   Tools/isabelle_syntax.scala Tools/isabelle_system.scala
   128 
   129 
   130 SCALA_TARGET = $(ISABELLE_HOME)/lib/classes/Pure.jar
   131 
   132 jar: $(SCALA_TARGET)
   133 
   134 $(SCALA_TARGET): $(SCALA_FILES)
   135 	@rm -rf classes && mkdir classes
   136 	scalac -deprecation -d classes -target jvm-1.5 $(SCALA_FILES)
   137 	scaladoc -d classes $(SCALA_FILES)
   138 	@cp $(SCALA_FILES) classes/isabelle
   139 	@mkdir -p `dirname $@`
   140 	@cd classes; jar cf $@ isabelle
   141 	@rm -rf classes
   142 
   143 clean-jar:
   144 	@rm -f $(SCALA_TARGET)