src/HOLCF/Makefile
changeset 2094 2061df98aab5
parent 2023 aa25f20c5d8b
child 2117 292df12bace5
equal deleted inserted replaced
2093:8e3e56fecfbe 2094:2061df98aab5
     1 # $Id$
     1 # $Id$
     2 ############################################################################
     2 ############################################################################
     3 #                                                                          #
     3 #									   #
     4 #                   Makefile for Isabelle (HOLCF)                          #
     4 #		    Makefile for Isabelle (HOLCF)			   #
     5 #                                                                          #
     5 #									   #
     6 ############################################################################
     6 ############################################################################
     7 
     7 
     8 #To make the system, cd to this directory and type  
     8 #To make the system, cd to this directory and type  
     9 #	make
     9 #	make
    10 #To make the system and test it on standard examples, type 
    10 #To make the system and test it on standard examples, type 
    31        Tr1.thy Tr2.thy HOLCF.thy 
    31        Tr1.thy Tr2.thy HOLCF.thy 
    32 
    32 
    33 FILES = ROOT.ML Porder0.thy  $(THYS) $(THYS:.thy=.ML)
    33 FILES = ROOT.ML Porder0.thy  $(THYS) $(THYS:.thy=.ML)
    34 
    34 
    35 #Uses cp rather than make_database because Poly/ML allows only 3 levels
    35 #Uses cp rather than make_database because Poly/ML allows only 3 levels
    36 $(BIN)/HOLCF:   $(BIN)/HOL  $(FILES) 
    36 $(BIN)/HOLCF:	$(BIN)/HOL  $(FILES) 
    37 	case "$(COMP)" in \
    37 	case "$(COMP)" in \
    38 	poly*)  cp $(BIN)/HOL $(BIN)/HOLCF; chmod u+w $(BIN)/HOLCF;\
    38 	poly*)	cp $(BIN)/HOL $(BIN)/HOLCF; chmod u+w $(BIN)/HOLCF;\
    39                 if [ "$${MAKE_HTML}" = "true" ]; \
    39 		if [ "$${MAKE_HTML}" = "true" ]; \
    40                 then echo 'open PolyML; make_html := true; exit_use_dir".";' \
    40 		then echo 'open PolyML; make_html := true; exit_use_dir".";' \
    41                        | $(COMP) $(BIN)/HOLCF;\
    41 		       | $(COMP) $(BIN)/HOLCF;\
    42 		elif [ "$${MAKE_HTML-undefined}" != "undefined" ]; \
    42 		elif [ "$${MAKE_HTML-undefined}" != "undefined" ]; \
    43                 then echo 'open PolyML; make_html := true; exit_use_dir".";                               make_html := false;' | $(COMP) $(BIN)/HOLCF;\
    43 		then echo 'open PolyML; make_html := true; exit_use_dir".";				  make_html := false;' | $(COMP) $(BIN)/HOLCF;\
    44                 else echo 'open PolyML; exit_use_dir".";' \
    44 		else echo 'open PolyML; exit_use_dir".";' \
    45 		       | $(COMP) $(BIN)/HOLCF;\
    45 		       | $(COMP) $(BIN)/HOLCF;\
    46                 fi;\
    46 		fi;\
    47 		discgarb -c $(BIN)/HOLCF;;\
    47 		discgarb -c $(BIN)/HOLCF;;\
    48 	sml*)	if [ "$${MAKE_HTML}" = "true" ]; \
    48 	sml*)	if [ "$${MAKE_HTML}" = "true" ]; \
    49                 then echo 'make_html := true; exit_use_dir".";                                            xML"$(BIN)/HOLCF" banner;' | $(BIN)/HOL;\
    49 		then echo 'make_html := true; exit_use_dir".";						  xML"$(BIN)/HOLCF" banner;' | $(BIN)/HOL;\
    50                 elif [ "$${MAKE_HTML-undefined}" != "undefined" ];\
    50 		elif [ "$${MAKE_HTML-undefined}" != "undefined" ];\
    51                 then echo 'make_html := true; exit_use_dir".";                                            make_html := false; xML"$(BIN)/HOLCF" banner;' \
    51 		then echo 'make_html := true; exit_use_dir".";						  make_html := false; xML"$(BIN)/HOLCF" banner;' \
    52                        | $(BIN)/HOL;\
    52 		       | $(BIN)/HOL;\
    53                 else echo 'exit_use_dir"."; xML"$(BIN)/HOLCF" banner;' \
    53 		else echo 'exit_use_dir"."; xML"$(BIN)/HOLCF" banner;' \
    54                        | $(BIN)/HOL;\
    54 		       | $(BIN)/HOL;\
    55                 fi;;\
    55 		fi;;\
    56 	*)	echo Bad value for ISABELLECOMP: \
    56 	*)	echo Bad value for ISABELLECOMP: \
    57                 	$(COMP) is not poly or sml;;\
    57 			$(COMP) is not poly or sml;;\
    58 	esac
    58 	esac
    59 
    59 
    60 $(BIN)/HOL:
    60 $(BIN)/HOL:
    61 	cd ../HOL;  $(MAKE)
    61 	cd ../HOL;  $(MAKE)
    62 
    62 
    63 EX_THYS =  ex/Fix2.thy ex/Hoare.thy \
    63 EX_THYS =  ex/Fix2.thy ex/Hoare.thy \
    64            ex/Loop.thy  
    64 	   ex/Loop.thy	
    65 
    65 
    66 EX_FILES = ex/ROOT.ML ex/loeckx.ML $(EX_THYS) $(EX_THYS:.thy=.ML)
    66 EX_FILES = ex/ROOT.ML ex/loeckx.ML $(EX_THYS) $(EX_THYS:.thy=.ML)
    67 
    67 
    68 test:   ex/ROOT.ML  $(BIN)/HOLCF  $(EX_FILES) 
    68 test:	ex/ROOT.ML  $(BIN)/HOLCF  $(EX_FILES) 
    69 	case "$(COMP)" in \
    69 	case "$(COMP)" in \
    70 	poly*)	if [ "$${MAKE_HTML-undefined}" != "undefined" ]; \
    70 	poly*)	if [ "$${MAKE_HTML-undefined}" != "undefined" ]; \
    71                 then echo 'make_html := true; exit_use_dir"ex"; quit();' \
    71 		then echo 'make_html := true; exit_use_dir"ex"; quit();' \
    72                        | $(COMP) $(BIN)/HOLCF;\
    72 		       | $(COMP) $(BIN)/HOLCF;\
    73                 else echo 'exit_use_dir"ex"; quit();' | $(COMP) $(BIN)/HOLCF;\
    73 		else echo 'exit_use_dir"ex"; quit();' | $(COMP) $(BIN)/HOLCF;\
    74                 fi;;\
    74 		fi;;\
    75 	sml*)	if [ "$${MAKE_HTML-undefined}" != "undefined" ]; \
    75 	sml*)	if [ "$${MAKE_HTML-undefined}" != "undefined" ]; \
    76                 then echo 'make_html := true; exit_use_dir"ex";' \
    76 		then echo 'make_html := true; exit_use_dir"ex";' \
    77                        | $(BIN)/HOLCF;\
    77 		       | $(BIN)/HOLCF;\
    78                 else echo 'exit_use_dir"ex";' | $(BIN)/HOLCF;\
    78 		else echo 'exit_use_dir"ex";' | $(BIN)/HOLCF;\
    79                 fi;;\
    79 		fi;;\
    80 	*)	echo Bad value for ISABELLECOMP: \
    80 	*)	echo Bad value for ISABELLECOMP: \
    81                 	$(COMP) is not poly or sml;;\
    81 			$(COMP) is not poly or sml;;\
    82 	esac
    82 	esac
    83 
    83 
    84 EXPLICIT_DOMAINS_THYS = explicit_domains/Coind.thy explicit_domains/Dlist.thy \
    84 EXPLICIT_DOMAINS_THYS = explicit_domains/Coind.thy explicit_domains/Dlist.thy \
    85 			explicit_domains/Dnat2.thy explicit_domains/Stream.thy \
    85 			explicit_domains/Dnat2.thy explicit_domains/Stream.thy \
    86 			explicit_domains/Dagstuhl.thy explicit_domains/Dnat.thy\
    86 			explicit_domains/Dagstuhl.thy explicit_domains/Dnat.thy\
    87 			explicit_domains/Focus_ex.thy explicit_domains/Stream2.thy
    87 			explicit_domains/Focus_ex.thy explicit_domains/Stream2.thy
    88 
    88 
    89 EXPLICIT_DOMAINS_FILES = explicit_domains/ROOT.ML $(EXPLICIT_DOMAINS_THYS)\
    89 EXPLICIT_DOMAINS_FILES = explicit_domains/ROOT.ML $(EXPLICIT_DOMAINS_THYS)\
    90 			 $(EXPLICIT_DOMAINS_THYS:.thy=.ML)
    90 			 $(EXPLICIT_DOMAINS_THYS:.thy=.ML)
    91 
    91 
    92 test2:	explicit_domains/ROOT.ML  $(BIN)/HOLCF  $(EXPLICIT_DOMAINS_FILES) 
    92 test2:	explicit_domains/ROOT.ML  $(BIN)/HOLCF	$(EXPLICIT_DOMAINS_FILES) 
    93 	case "$(COMP)" in \
    93 	case "$(COMP)" in \
    94 	poly*)	if [ "$${MAKE_HTML-undefined}" != "undefined" ]; \
    94 	poly*)	if [ "$${MAKE_HTML-undefined}" != "undefined" ]; \
    95                 then echo 'make_html := true; exit_use_dir"explicit_domains";                             quit();' | $(COMP) $(BIN)/HOLCF;\
    95 		then echo 'make_html := true; exit_use_dir"explicit_domains";				  quit();' | $(COMP) $(BIN)/HOLCF;\
    96                 else echo 'exit_use_dir"explicit_domains"; quit();' \
    96 		else echo 'exit_use_dir"explicit_domains"; quit();' \
    97                        | $(COMP) $(BIN)/HOLCF;\
    97 		       | $(COMP) $(BIN)/HOLCF;\
    98                 fi;;\
    98 		fi;;\
    99 	sml*)	if [ "$${MAKE_HTML-undefined}" != "undefined" ]; \
    99 	sml*)	if [ "$${MAKE_HTML-undefined}" != "undefined" ]; \
   100                 then echo 'make_html := true; exit_use_dir"exlicit_domains";' \
   100 		then echo 'make_html := true; exit_use_dir"exlicit_domains";' \
   101                        | $(BIN)/HOLCF;\
   101 		       | $(BIN)/HOLCF;\
   102                 else echo 'exit_use_dir"explicit_domains";' | $(BIN)/HOLCF;\
   102 		else echo 'exit_use_dir"explicit_domains";' | $(BIN)/HOLCF;\
   103                 fi;;\
   103 		fi;;\
   104 	*)	echo Bad value for ISABELLECOMP: \
   104 	*)	echo Bad value for ISABELLECOMP: \
   105                 	$(COMP) is not poly or sml;;\
   105 			$(COMP) is not poly or sml;;\
   106 	esac
   106 	esac
   107 
   107 
   108 .PRECIOUS:  $(BIN)/HOL  $(BIN)/HOLCF 
   108 .PRECIOUS:  $(BIN)/HOL	$(BIN)/HOLCF 
   109 
   109