rules revision a84a8d508a0778b13a4d097a6dd34b95feae78ac
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen# Authors: (c) Klaus Luettich, Christian Maeder, Uni Bremen 2002-2009
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen# Jens Elkner, Uni Magdeburg 2016
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen# This GNU Makefile will compile the hets system and provides also
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen# targets for test programs during implementation phases.
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenHETS_VERSION ?= $(shell printf `cat version_nr`)
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen# We assume ghc 7+
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen -fwarn-unrecognised-pragmas -fno-warn-orphans $(NO_BIND_WARNING)
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen# uncomment HC_PROF for profiling (and comment out packages in var.mk)
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen# call resulting binary with a final +RTS -p to get a file <binary>.prof
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen#HC_PROF := -prof -auto-all -osuf p_o +RTS -K100m -RTS
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen# -ddump-minimal-imports
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen# uncomment the above line to generate .imports files for displayDependencyGraph
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen# *.bin variants here to let them survive a 'make clean'
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen# Documentation (no haddock stuff, i.e. "docs/index.html", since developer can
2d84942c22d30cf7b3e53943bce1e3ad024c7c88Timo Sirainen# generated it on demand by themselves and other users dont't need it). Other
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen# papers (doc/*.pdf) are already pre-generated.
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenSED := $(shell [ "$(OSNAME)" = 'SunOS' ] && printf 'gsed' || printf 'sed')
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenTAR := $(shell [ "$(OSNAME)" = 'SunOS' ] && printf 'gtar' || printf 'tar')
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenINSTALL := $(shell [ "$(OSNAME)" = 'SunOS' ] && printf 'ginstall' || printf 'install')
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen# indicate, whether working on an exported repo
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenGIT_TIMESTAMP := $(shell printf "`git log -1 --format=%ct -- .`")
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenEXPORTED := $(shell [ -n "$(GIT_TIMESTAMP)" ] || printf 1)
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen# the 'replacing spaces' example was taken from the (GNU) Make info manual
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenDRIFT_ENV = DERIVEPATH=$(subst $(space),:,$(PFE_PATHS))
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenGENITCORRECTIONS_deps = utils/itcor/GenItCorrections.hs
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenGENRULECALL = $(GENRULES) -r ShATermConvertible \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen# list glade files
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenGTK_GLADE_FILES = $(wildcard GUI/Glade/*.glade)
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenGTK_GLADE_HSFILES = $(subst .glade,.hs,$(GTK_GLADE_FILES))
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen# the list of logics that need ShATermConvertible instances
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainenlogics = CASL HasCASL Isabelle Modal Hybrid TopHybrid Temporal \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen SoftFOL ConstraintCASL Propositional RelationalScheme VSE OMDoc DFOL \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen LF Framework Maude ExtModal CommonLogic CSL QBF Adl HolLight Fpl THF \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenTESTTARGETFILES += Scratch.hs CASL/fromKif.hs CASL/capa.hs HasCASL/hacapa.hs \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen Haskell/wrap.hs Isabelle/isa.hs Syntax/hetpa.hs \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen ATC/ATCTest.hs ATC/ATCTest2.hs Common/ATerm/ATermLibTest.hs \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen Common/ATerm/ATermDiffMain.hs Common/annos.hs \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen SoftFOL/tests/PrintTPTPTests.hs Comorphisms/test/showKP.hs \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen Comorphisms/test/sublogicGraph.hs PGIP/ParseProofScript.hs \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen SoftFOL/dfg.hs Adl/adl.hs GUI/displayDependencyGraph.hs
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen### list of directories to run checks in
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenTESTDIRS += Common CASL Fpl/test HasCASL test ExtModal/Tries \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainenhs_clean_files = Haskell/TiATC.hs Haskell/TiDecorateATC.hs \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen Haskell/TiPropATC.hs Haskell/ATC_Haskell.der.hs
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenPFE_DIRS = base/AST base/TI base/parse2 base/parse2/Lexer base/parse2/Parser \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen base/parse2/LexerGen base/parse2/LexerSpec base/tests/HbcLibraries \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen base/pretty base/syntax base/lib base/lib/Monads base/Modules base/defs \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen base/transforms base/transforms/Deriving property \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen property/syntax property/AST property/transforms \
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo Sirainen property/TI property/defs property/parse2 property/parse2/Parser
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenPFE_PATHS := $(addprefix $(PFE_TOOLDIR)/, $(PFE_DIRS))
53e8721fd333043c4a18dc4ae7af4557e7a1d5f1Timo SirainenAPPENDPRELUDESTRING = utils/appendHaskellPreludeString \
$(RM) $@
$(APPENDPRELUDESTRING) < $< > $@
#Ti_Prop_files = property/TI/TiPropDecorate property/syntax/PropSyntaxRec
-o $@ $(Haskell_files)
# unset this variable from var.mk because the programatica sources
# the rules to create ATC .der.hs file for DriFT
$(GENRULECALL) -o $@ $<
$(GENRULECALL) -o $@ $<
$(GENRULECALL) -o $@ $<
$(GENRULECALL) -o $@ $<
$(GENRULECALL) -o $@ $<
$(GENRULECALL2) -o $@ $<
-o $@ $(QVTR_files)
# all ATC .der.hs files for all logics
# a rule to create all .der.hs files
-i http://hackage.haskell.org/packages/archive/$(basename $(notdir $(file)))/latest/doc/html,$(file))
(cd utils/GenerateRules; \
GenerateRules.hs -o ../genRules)
# Common/LaTeX_maps.hs generation
$(TESTTARGETS)
CommonLogic/TestData/*.{pp.het,th} Common/testxmldiff \
$(DTD2HS) \
$(RM) $@
elif [ ! -e rev.txt ]; then \
.SUFFIXES:
$(RM) $@
%.d : %.hs
%.d : %.lhs
jars:
$(PFE_SETUP):
if [ -e $(PFE_SETUP) ]; then \
# remove trailing .txz or .tar.xz
if [ ! -e $(PFE_SETUP) ]; then \
if [ -e $(USER_GUIDE) ]; then \
DEFAULT_DESTDIR := \
SUBDIR_common := \
SUBDIR_hets := \
SUBDIR_hets_server := \
# see OWL2/ProveFact.hs - it doesn't use OSGi so we need to extract JNI libs
X=`ls ../lib/uk.ac.manchester.cs.owl.factplusplus*.jar` ; \
%.bin:
# *.debian.tar.xz, for local packages we generate it on demand.
-l$(CHANGELOG)
-l$(CHANGELOG)
-l$(CHANGELOG)