This repository has been archived on 2021-01-01. You can view files and clone it, but cannot push or open issues or pull requests.
isabelle-ofmc/src/IsaMakefile

96 lines
3.6 KiB
Plaintext

#############################################################################
# Isabelle-OFMC --- Connecting OFMC and Isabelle/HOL
#
# IsaMakefile --- main build setup for Isabelle-OFMC
# This file is part of Isabelle-OFMC.
#
# Copyright (c) 2009 Achim D. Brucker, Germany
#
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * 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.
#
# * Neither the name of the copyright holders nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "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 COPYRIGHT
# OWNER OR CONTRIBUTORS 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.
##############################################################################
# $Id: IsaMakefile 935 2009-11-02 00:02:50Z brucker $
# determine current source version:
nullstring:=
space := $(nullstring) #
#
REVISION := $(shell svnversion .)
VER_MAIJOR=0
VER_MINOR=0
VER_MICRO=0
VER_TAG=$(space)(dev build: $(REVISION))
CONFIG_SED_SCRIPT='s/<COLLECTIONTYPE>/$(COLLECTIONTYPE)/;\
s/<UNIVERSE>/$(UNIVERSE)/;\
s/<VER_MAIJOR>/$(VER_MAIJOR)/;s/<VER_MINOR>/$(VER_MINOR)/;\
s/<VER_MICRO>/$(VER_MICRO)/;s/<VER_TAG>/${VER_TAG}/;\
s/<XMI_SUPPORT>/$(XMI_SUPPORT)/;\
s/<REVISION>/$(REVISION)/'
## global settings
# make internal configuration
.PHONY: config.sml
ECHO=echo
RM=rm
MV=mv
SED=sed
MLTON=mlton
## targets
HEAP=ofmc
SRC = $(ISABELLE_HOME)/src
OUT = $(ISABELLE_OUTPUT)
LOG = $(OUT)/log
USEDIR = $(ISATOOL) usedir -b -g true -v true -i true -d pdf -D generated
USEDIR = $(ISATOOL) usedir -b
$(LOG)/$(HEAP).gz: config.sml ROOT.ML *.thy *.ML ../bin/anb2thy
@(test -e generated && find generated -name .svn -type d -print0 | xargs -0 /bin/rm -fr || true)
@$(RM) -rf $(ISABELLE_BROWSER_INFO)/HOL/HOL/$(HEAP)/document
@($(USEDIR) HOL $(HEAP) \
|| \
($(ECHO) -e "\033[1;31;40m";\
$(ECHO) -e "\a *************************************************" ;\
$(ECHO) -e "\a ****************** BUILD FAILED ***************" ;\
$(ECHO) -e "\a *************************************************" ;\
$(ECHO) -e "\033[1;37;40m\033[0;37;0m")\
|| true)
config.sml:
@$(RM) -rf config.sml
@$(SED) -e $(CONFIG_SED_SCRIPT) config.sml.in > config.sml
../bin/anb2thy: encoder/*.sml
$(MLTON) encoder/anb2thy.cm
$(MV) encoder/anb2thy ../bin