Makefile revision 7bb0a9e92bc7a6f868eaa0b9c3212c0af4f96b7f
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# Authors: (c) Klaus Luettich, Christian Maeder, Uni Bremen 2002-2009
16e76cdd6e3cfaac7d91c3b0644ee1bc6cf52347agiri# Jens Elkner, Uni Magdeburg 2016
16e76cdd6e3cfaac7d91c3b0644ee1bc6cf52347agiri# This GNU Makefile will compile the hets system and provides also
16e76cdd6e3cfaac7d91c3b0644ee1bc6cf52347agiri# targets for test programs during implementation phases.
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota -fwarn-unrecognised-pragmas -fno-warn-orphans $(NO_BIND_WARNING)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# uncomment HC_PROF for profiling (and comment out packages in var.mk)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# call resulting binary with a final +RTS -p to get a file <binary>.prof
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#HC_PROF := -prof -auto-all -osuf p_o +RTS -K100m -RTS
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# -ddump-minimal-imports
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# uncomment the above line to generate .imports files for displayDependencyGraph
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# *.bin variants here to let them survive a 'make clean'
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# Documentation (no haddock stuff, i.e. "docs/index.html", since developer can
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# generated it on demand by themselves and other users dont't need it). Other
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# papers (doc/*.pdf) are already pre-generated.
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# Upgrade haskell-stack
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# Create the build environment
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota $(STACK) build --install-ghc --only-dependencies $(STACK_DEPENDENCIES_FLAGS)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaSED := $(shell [ "$(OSNAME)" = 'SunOS' ] && printf 'gsed' || printf 'sed')
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaTAR := $(shell [ "$(OSNAME)" = 'SunOS' ] && printf 'gtar' || printf 'tar')
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaINSTALL := $(shell [ "$(OSNAME)" = 'SunOS' ] && printf 'ginstall' || printf 'install')
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota -e '/^hetsVersionNumeric =/ { s/.*"\([^"]*\)".*/\1/; p; q; }' \
5e12ddada2833f3aa285210603ce9aaeb8be35ccEiji Ota# indicate, whether working on an exported repo
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# the 'replacing spaces' example was taken from the (GNU) Make info manual
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaGENITCORRECTIONS_deps = utils/itcor/GenItCorrections.hs
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# list glade files
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaGTK_GLADE_HSFILES = $(subst .glade,.hs,$(GTK_GLADE_FILES))
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota# the list of logics that need ShATermConvertible instances
a530e0a9c7875fde3c123c906ca193a70dfacc4fagirilogics = CASL HasCASL Isabelle Modal Hybrid TopHybrid Temporal \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota SoftFOL ConstraintCASL Propositional RelationalScheme VSE OMDoc DFOL \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota LF Framework Maude ExtModal CommonLogic CSL QBF Adl HolLight Fpl THF \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji OtaTESTTARGETFILES += Scratch.hs CASL/fromKif.hs CASL/capa.hs HasCASL/hacapa.hs \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota ATC/ATCTest.hs ATC/ATCTest2.hs Common/ATerm/ATermLibTest.hs \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota SoftFOL/tests/PrintTPTPTests.hs Comorphisms/test/showKP.hs \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota Comorphisms/test/sublogicGraph.hs PGIP/ParseProofScript.hs \
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota SoftFOL/dfg.hs Adl/adl.hs GUI/displayDependencyGraph.hs
$(APPENDPRELUDESTRING) < $< > $@
#Ti_Prop_files = property/TI/TiPropDecorate property/syntax/PropSyntaxRec
-o $@ $(Haskell_files)
# 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))
# Common/LaTeX_maps.hs generation
$(TESTTARGETS)
CommonLogic/TestData/*.{pp.het,th} Common/testxmldiff \
$(DTD2HS) \
.SUFFIXES:
%.d : %.hs
%.d : %.lhs
jars:
@if [ -e $(PFE_BASE) ]; then \
@if [ -e $(PFE_SETUP_FILE) ]; then \
# remove trailing .txz or .tar.xz
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)