##########################################################################
#         x86 Multiprocessor Machine Code Semantics: HOL sources         #
#                                                                        #
#                                                                        #
#  Susmit Sarkar (1), Peter Sewell (1), Francesco Zappa Nardelli (2),    #
#  Scott Owens (1), Tom Ridge (1), Thomas Braibant (2),                  #
#  Magnus Myreen (1), Jade Alglave (2)                                   #
#                                                                        #
#   (1) Computer Laboratory, University of Cambridge                     #
#   (2) Moscova project, INRIA Paris-Rocquencourt                        #
#                                                                        #
#    Copyright 2007-2008                                                 #
#                                                                        #
#  Redistribution and use in source and binary forms, with or without    #
#  modification, are permitted provided that the following conditions    #
#  are met:                                                              #
#                                                                        #
#  1. Redistributions of source code must retain the above copyright     #
#     notice, this list of conditions and the following disclaimer.      #
#  2. Redistributions in binary form must reproduce the above copyright  #
#     notice, this list of conditions and the following disclaimer in    #
#     the documentation and/or other materials provided with the         #
#     distribution.                                                      #
#  3. The names of the authors may not be used to endorse or promote     #
#     products derived from this software without specific prior         #
#     written permission.                                                #
#                                                                        #
#  THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS    #
#  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED     #
#  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE    #
#  ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY       #
#  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL    #
#  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE     #
#  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS         #
#  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,          #
#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING             #
#  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS    #
#  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.          #
#                                                                        #
##########################################################################

SHELL=bash

all: defns proofs

defns: x86_event_opsemScript.sml  x86_lts_opsemScript.sml
	Holmake x86_programTheory.uo x86_niceness_statementTheory.uo x86_sequential_axiomatic_modelTheory.uo x86_hb_machine_thmsTheory.uo x86_Theory.uo

proofs: x86_event_opsemScript.sml  x86_lts_opsemScript.sml x86_niceness_proofTheory.uo
	Holmake x86_drfTheory.uo
	Holmake x86_program_event_structure_wfTheory.uo

x86_event_opsemScript.sml: x86_opsemScript.sml
	rm -rf x86_event_opsemScript.sml
	cat x86_opsemScript.sml | sed -e 's/seq_monad/event_monad/g'  | sed -e 's/x86_opsem/x86_event_opsem/g'  > x86_event_opsemScript.sml
	chmod ugo-w x86_event_opsemScript.sml

x86_lts_opsemScript.sml: x86_opsemScript.sml
	rm -rf x86_lts_opsemScript.sml
	cat x86_opsemScript.sml | sed -e 's/seq_monad/lts_monad/g'  | sed -e 's/x86_opsem/x86_lts_opsem/g'  > x86_lts_opsemScript.sml
	chmod ugo-w x86_lts_opsemScript.sml


########################################
# niceness

tactic.uo:
	Holmake $@

x86_niceness_statementTheory.uo: 
	Holmake $@

x86_niceness_proofTheory.sig x86_niceness_proofTheory.sml: x86_niceness_statementTheory.uo tactic.uo
	hol <<< 'use "x86_niceness_proofScript.sml";'

x86_niceness_proofTheory.uo: x86_niceness_proofTheory.sig x86_niceness_proofTheory.sml
	Holmake $@

