Makefile revision 80875f917d741946a39d0ec0b5721e46ba609823
d734818278966c45af997c7242e8cccd7a91a0b3Mark Andrews# Authors: (c) Klaus Luettich, Christian Maeder, Uni Bremen 2002-2009
d734818278966c45af997c7242e8cccd7a91a0b3Mark Andrews# Jens Elkner, Uni Magdeburg 2016
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews# This GNU Makefile will compile the hets system and provides also
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews# targets for test programs during implementation phases.
33399d6a143403bc4a9ccb9307af43ef04ab7633Mark Andrews -fwarn-unrecognised-pragmas -fno-warn-orphans $(NO_BIND_WARNING)
33399d6a143403bc4a9ccb9307af43ef04ab7633Mark Andrews# uncomment HC_PROF for profiling (and comment out packages in var.mk)
ef117da20559f2a65f46ed9eb40deab5026cbd66Mark Andrews# call resulting binary with a final +RTS -p to get a file <binary>.prof
ef117da20559f2a65f46ed9eb40deab5026cbd66Mark Andrews#HC_PROF := -prof -auto-all -osuf p_o +RTS -K100m -RTS
ba5c73b383b08326ab6b5ad2d7ca43e117e212f1Mark Andrews# -ddump-minimal-imports
ba5c73b383b08326ab6b5ad2d7ca43e117e212f1Mark Andrews# uncomment the above line to generate .imports files for displayDependencyGraph
cac2181160bdb3ccc89e3560addae5e38d4c05e3Evan Hunt# *.bin variants here to let them survive a 'make clean'
b8a9632333a92d73a503afe1aaa7990016c8bee9Evan Hunt# Documentation (no haddock stuff, i.e. "docs/index.html", since developer can
b8a9632333a92d73a503afe1aaa7990016c8bee9Evan Hunt# generated it on demand by themselves and other users dont't need it). Other
b8a9632333a92d73a503afe1aaa7990016c8bee9Evan Hunt# papers (doc/*.pdf) are already pre-generated.
b8a9632333a92d73a503afe1aaa7990016c8bee9Evan Hunt# Upgrade haskell-stack
f5bb5eb7f6640af4a94e666bf1d7f84a6a7f1f23Mark Andrews# Create the build environment
a0d411c05f12c36b298d811af3b4f2c9f08e86d4Mark Andrews $(STACK) build --install-ghc --only-dependencies $(STACK_DEPENDENCIES_FLAGS)
a0d411c05f12c36b298d811af3b4f2c9f08e86d4Mark AndrewsSED := $(shell [ "$(OSNAME)" = 'SunOS' ] && printf 'gsed' || printf 'sed')
42782931073786f98d3d0a617351db40066949a4Mukund SivaramanTAR := $(shell [ "$(OSNAME)" = 'SunOS' ] && printf 'gtar' || printf 'tar')
42782931073786f98d3d0a617351db40066949a4Mukund SivaramanINSTALL := $(shell [ "$(OSNAME)" = 'SunOS' ] && printf 'ginstall' || printf 'install')
c1d33c159bf81d6faf9948ac9a6f307ca52284afEvan Hunt -e '/^hetsVersionNumeric =/ { s/.*"\([^"]*\)".*/\1/; p; q; }' \
8d8f9f7f86a33a155dd74b9b2c1317afca555d54Evan Hunt# indicate, whether working on an exported repo
7c9d11b654028f9901183c076b37a5494635f447Evan Hunt# the 'replacing spaces' example was taken from the (GNU) Make info manual
3b187cad7a1754e098ab9dabfcb44c8b437fb589Mark AndrewsGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
b16d99bac1d100735224ab3eaa84632537ff21b5Mark AndrewsGENITCORRECTIONS_deps = utils/itcor/GenItCorrections.hs
79d27f505a67ee1fb5cf104cbe7b1ead67d252b4Mukund SivaramanGENRULECALL = $(GENRULES) -r ShATermConvertible \
0cfb24736841b3e98bb25853229a0efabab88bddEvan Hunt# list glade files
fa6308bd57f716732ba70bbafc1d09e861e4acc1Mark AndrewsGTK_GLADE_HSFILES = $(subst .glade,.hs,$(GTK_GLADE_FILES))
a4d76e3f0ba6f1fc2ba4b324f318e909b83bc860Evan Hunt# the list of logics that need ShATermConvertible instances
a4d76e3f0ba6f1fc2ba4b324f318e909b83bc860Evan Huntlogics = CASL HasCASL Isabelle Modal Hybrid TopHybrid Temporal \
3d751891410f9892ca1c1deba2f7d8556ae91b0cMark Andrews SoftFOL ConstraintCASL Propositional RelationalScheme VSE OMDoc DFOL \
3d751891410f9892ca1c1deba2f7d8556ae91b0cMark Andrews LF Framework Maude ExtModal CommonLogic CSL QBF Adl HolLight Fpl THF \
800d25b8482c52487b4dab53cb10fa74061f1e94Mark AndrewsTESTTARGETFILES += Scratch.hs CASL/fromKif.hs CASL/capa.hs HasCASL/hacapa.hs \
800d25b8482c52487b4dab53cb10fa74061f1e94Mark Andrews Haskell/wrap.hs Isabelle/isa.hs Syntax/hetpa.hs \
9b819daddf8f4a5bd42276ee91bf9686d42f3ceeMark Andrews ATC/ATCTest.hs ATC/ATCTest2.hs Common/ATerm/ATermLibTest.hs \
9b819daddf8f4a5bd42276ee91bf9686d42f3ceeMark Andrews Common/ATerm/ATermDiffMain.hs Common/annos.hs \
9b819daddf8f4a5bd42276ee91bf9686d42f3ceeMark Andrews SoftFOL/tests/PrintTPTPTests.hs Comorphisms/test/showKP.hs \
586d94eb740587975d5348b22a5fb8440d95925dMark Andrews Comorphisms/test/sublogicGraph.hs PGIP/ParseProofScript.hs \
f7ae6c8fdd2cd5e276251647e6852cccfc92847bMark Andrews SoftFOL/dfg.hs Adl/adl.hs GUI/displayDependencyGraph.hs
a569e1b3213668bc704194367ea12c23456ad1d2Mark Andrews### list of directories to run checks in
a569e1b3213668bc704194367ea12c23456ad1d2Mark AndrewsTESTDIRS += Common CASL Fpl/test HasCASL test ExtModal/Tries \
c6f7d2b5f1378e3d61770766ee9fdd922471eb2fMark Andrewshs_clean_files = Haskell/TiATC.hs Haskell/TiDecorateATC.hs \
c6f7d2b5f1378e3d61770766ee9fdd922471eb2fMark Andrews Haskell/TiPropATC.hs Haskell/ATC_Haskell.der.hs
ba586e9568364eb2da871f5fb2b71716f7c31865Mark AndrewsPFE_DIRS := base/AST base/TI base/parse2 base/parse2/Lexer base/parse2/Parser \
ba586e9568364eb2da871f5fb2b71716f7c31865Mark Andrews base/parse2/LexerGen base/parse2/LexerSpec base/tests/HbcLibraries \
a0f91e910bd9af006a65e555ec4082864ca1eb8dMark Andrews base/pretty base/syntax base/lib base/lib/Monads base/Modules base/defs \
570216f5a373cdaaa2eb2d9b5990150dd5a7b41bEvan Hunt base/transforms base/transforms/Deriving property \
a0f91e910bd9af006a65e555ec4082864ca1eb8dMark Andrews property/syntax property/AST property/transforms \
a0f91e910bd9af006a65e555ec4082864ca1eb8dMark Andrews property/TI property/defs property/parse2 property/parse2/Parser
0fe07891819138ad6e1de45f279cff940d170542Mark AndrewsPFE_PATHS := $(addprefix $(PFE_TOOLDIR)/, $(PFE_DIRS))
0fe07891819138ad6e1de45f279cff940d170542Mark AndrewsDRIFT_ENV := DERIVEPATH=$(subst $(space),:,$(PFE_PATHS))
27b09ceb12ec95de461bd2780615d4064ccb1419Mark AndrewsAPPENDPRELUDESTRING = utils/appendHaskellPreludeString \
896f49f8bdee644cd8d10e320ea3084ca3f74e2aEvan Hunt## rule for appendHaskellPreludeString
896f49f8bdee644cd8d10e320ea3084ca3f74e2aEvan HuntHaskell/PreludeString.hs: Haskell/PreludeString.append.hs \
6fa84a3e255ef9e6233f0a8d134fc6d273f04599Evan HuntAst_Haskell_files = HsDeclStruct HsExpStruct HsFieldsStruct \
6fa84a3e255ef9e6233f0a8d134fc6d273f04599Evan Hunt HsGuardsStruct HsKindStruct HsPatStruct HsTypeStruct HsAssocStruct \
ca84a056bdb492e8894c70fd7bf6a885df03039fMark Andrews#Ti_Haskell_files = TiTypes TiKinds TiDecorate TiInstanceDB
01f881c1c5683054ee3366929eae6f811777ce46Mark Andrews#Ti_Prop_files = property/TI/TiPropDecorate property/syntax/PropSyntaxRec
ca84a056bdb492e8894c70fd7bf6a885df03039fMark AndrewsOther_PFE_files := property/AST/HsPropStruct base/defs/PNT \
a14fe8522977d391096942aae5250f00ca32d2d4Mark Andrews base/defs/UniqueNames base/Modules/TypedIds base/Modules/Ents \
a14fe8522977d391096942aae5250f00ca32d2d4Mark Andrews base/parse2/SourceNames base/syntax/SyntaxRec \
5a8edcafd13fc63a066e8e42e0f95cdbf9606414Mark Andrews $(addprefix $(PFE_TOOLDIR)/base/AST/, $(Ast_Haskell_files)) \
05816676bb82a5657a741ef4d378c7fb83912cfcMark Andrews $(addprefix $(PFE_TOOLDIR)/, $(Other_PFE_files)))
05816676bb82a5657a741ef4d378c7fb83912cfcMark Andrews## rule for ATC generation
29225772176ec580b2c903928a5c18e2e24889d0Mark AndrewsHaskell/ATC_Haskell.der.hs: $(Haskell_files) $(GENRULES)
29225772176ec580b2c903928a5c18e2e24889d0Mark Andrews $(GENRULECALL) -r Typeable -i Data.Typeable -i Haskell.BaseATC \
0e338b60cdb2cf7cedb4fc17f6a14b518d1245c8Mark AndrewsTESTTARGETFILES += Haskell/hana.hs Haskell/h2h.hs Haskell/h2hf.hs
faa01edd13613c077c3cb663c36f36bd527d1a4bMark Andrews# end of programatica stuff (PFE_FLAGS)
60988462e5d6db53205851d056e3482a29239be9Evan Hunt# files generated by DriFT
60988462e5d6db53205851d056e3482a29239be9Evan Hunt CASL/AS_Basic_CASL.hs Modal/AS_Modal.hs Hybrid/AS_Hybrid.hs TopHybrid/AS_TopHybrid.hs \
cd07e4d038fda6f9bacecb3067cc6fa43a67fc0aMark Andrews Syntax/AS_Structured.hs Syntax/AS_Architecture.hs Syntax/AS_Library.hs \
fe148bca7ea6612bb7e931fdcd2e66c32d2d2a9aMark Andrews CspCASL/AS_CspCASL_Process.hs CspCASL/AS_CspCASL.hs \
5d739300d12363f36ffa72836d2c10ff8c791b12Mark Andrews# files to extract data types from to generate ShATermConvertible instances
5d739300d12363f36ffa72836d2c10ff8c791b12Mark Andrewsatc_files = Common/AS_Annotation.der.hs Common/DefaultMorphism.hs \
5d739300d12363f36ffa72836d2c10ff8c791b12Mark Andrews Syntax/AS_Structured.der.hs Syntax/AS_Architecture.der.hs \
5d739300d12363f36ffa72836d2c10ff8c791b12Mark Andrews Common/GlobalAnnotations.hs Syntax/AS_Library.der.hs \
6f78147f569c9f505ef048c2f9e4e1b5ef2a27e7Mark Andrews Logic/Prover.hs Common/LibName.hs Common/ExtSign.hs \
87344c2cb3d4b413941d514a078f4098bcb816e9Mark Andrews Static/DgUtils.hs Static/XGraph.hs Static/DevGraph.hs \
44613d4d868ed5e73a1132280880f0699af56733Evan Hunt Common/Id.hs Common/Result.hs Common/OrderedMap.hs \
44613d4d868ed5e73a1132280880f0699af56733Evan Hunt# files generated by genRules as input for DriFT
2b78610512f208a6a35eb0976d039c2001cba7e6Evan Hunt ATC/$(basename $(basename $(notdir $(file)))).der.hs)
2b78610512f208a6a35eb0976d039c2001cba7e6Evan Hunt# the rules to create ATC .der.hs file for DriFT
5cef2421bde74ef8f789c9c83c1219553060ce16Mark AndrewsATC/OrderedMap.der.hs: Common/OrderedMap.hs $(GENRULES)
6bc767b003ed72f831dff7bb1b8f1855de281eb6Mark AndrewsATC/ProofTree.der.hs: Common/ProofTree.hs $(GENRULES)
c11e46110b2b6236c68d89d4ea557c1d35e5d271Mark AndrewsATC/AS_Annotation.der.hs: Common/AS_Annotation.der.hs $(GENRULES)
c11e46110b2b6236c68d89d4ea557c1d35e5d271Mark Andrews $(GENRULECALL) -i ATC.IRI -i Common.ATerm.ConvInstances -o $@ $<
e01fbe2a45f9641968264a3bdf76d290e20521d7Evan HuntATC/Consistency.der.hs: Common/Consistency.hs $(GENRULES)
e01fbe2a45f9641968264a3bdf76d290e20521d7Evan Hunt $(GENRULECALL) -x Common.Consistency.ConservativityChecker -o $@ $<
76884179fd3ba491db80a285c752671025f74730Mark Andrews $(GENRULECALL) -i ATC.IRI -i Common.ATerm.ConvInstances -o $@ $<
eb1a7730f013e9a16d709c9ee8f41d73cde3680eEvan Hunt $(GENRULECALL) -i Common.ATerm.ConvInstances -o $@ $<
aefb3e308ba01ad47a3d3aaadf77a5edd4261cb9Evan HuntATC/DefaultMorphism.der.hs: Common/DefaultMorphism.hs $(GENRULES)
aefb3e308ba01ad47a3d3aaadf77a5edd4261cb9Evan HuntATC/AS_Structured.der.hs: Syntax/AS_Structured.der.hs $(GENRULES)
aefb3e308ba01ad47a3d3aaadf77a5edd4261cb9Evan HuntATC/AS_Architecture.der.hs: Syntax/AS_Architecture.der.hs $(GENRULES)
aefb3e308ba01ad47a3d3aaadf77a5edd4261cb9Evan HuntATC/AS_Library.der.hs: Syntax/AS_Library.der.hs $(GENRULES)
aefb3e308ba01ad47a3d3aaadf77a5edd4261cb9Evan Hunt $(GENRULECALL2) -i ATC.AS_Architecture -i ATC.LibName -o $@ $<
36e5ac00333d89001f0c518a7d381d16c38d0402Mark AndrewsATC/GlobalAnnotations.der.hs: Common/GlobalAnnotations.hs $(GENRULES)
36e5ac00333d89001f0c518a7d381d16c38d0402Mark Andrews $(GENRULECALL) -i ATC.AS_Annotation -i ATC.Result -o $@ $<
37f7c4c673622e984a41570fda42c1a678622fa4Tinderbox UserATC/Prover.der.hs: Logic/Prover.hs $(GENRULES)
e916c4f840e6f05c1137a2653b4ef70a1056bf74Mark Andrews $(GENRULECALL) -x Logic.Prover.ProverTemplate \
e916c4f840e6f05c1137a2653b4ef70a1056bf74Mark Andrews -i ATC.AS_Annotation -i ATC.OrderedMap -o $@ $<
471f2b71d89897204af3f2ab00a010e4327e44f9Mark AndrewsATC/DgUtils.der.hs: Static/DgUtils.hs $(GENRULES)
471f2b71d89897204af3f2ab00a010e4327e44f9Mark Andrews $(GENRULECALL2) -i ATC.LibName -i ATC.Consistency -o $@ $<
471f2b71d89897204af3f2ab00a010e4327e44f9Mark AndrewsATC/DevGraph.der.hs: Static/DevGraph.hs $(GENRULES)
471f2b71d89897204af3f2ab00a010e4327e44f9Mark Andrews $(GENRULECALL2) -i ATC.XGraph -i ATC.AS_Library -o $@ $<
ec3b216506b715f10e0b653afc20068ce8c5aa79Evan Hunt# ATC files for every logic
ec3b216506b715f10e0b653afc20068ce8c5aa79Evan HuntCASL_files = CASL/Sublogic.hs CASL/Morphism.hs CASL/Sign.hs \
ec3b216506b715f10e0b653afc20068ce8c5aa79Evan HuntHasCASL_files = Common/Prec.hs HasCASL/As.hs HasCASL/Le.hs HasCASL/Sublogic.hs
4e7973990c2aaec391cf307a7e60583331568e01Evan HuntPropositional_files = Propositional/Sign.hs Propositional/Morphism.hs \
4e7973990c2aaec391cf307a7e60583331568e01Evan Hunt Propositional/AS_BASIC_Propositional.hs Propositional/Symbol.hs \
e560fbdf77b08ff23ab71b107f022829bcd552dbMark AndrewsHolLight_files = HolLight/Sentence.hs HolLight/Sign.hs \
7318bbc26262a66a0d740ceefed769961ef7e476Evan HuntQBF_files = Propositional/Sign.hs QBF/Morphism.hs \
469bbe0f973bf33e20d6011748cb68fab8a9a12dMark AndrewsRS_files = RelationalScheme/AS.hs RelationalScheme/Sign.hs
993cde8f0fe3e08283990cc9ff4a555b5e48ab91Mark AndrewsModal_files = Modal/AS_Modal.hs Modal/ModalSign.hs
2dc978b8a1563f6dd413a8a9456659ade00f9e9eEvan HuntHybrid_files = Hybrid/AS_Hybrid.hs Hybrid/HybridSign.hs
2dc978b8a1563f6dd413a8a9456659ade00f9e9eEvan HuntTopHybrid_files = TopHybrid/AS_TopHybrid.hs TopHybrid/TopHybridSign.hs
7dcb304dd0bfe5888593199e0a9a8d64b8f022adMark AndrewsTemporal_files = Temporal/AS_BASIC_Temporal.hs Temporal/Sign.hs \
92fe6db3e46016f4ce0d6e372c745469bba10b5eEvan HuntConstraintCASL_files = ConstraintCASL/AS_ConstraintCASL.hs
7cd8e7915afba7064c18c4bf74ecce0627c61027Evan HuntCoCASL_files = CoCASL/AS_CoCASL.hs CoCASL/CoCASLSign.hs
f5df4974b7b5081c4778d5796127b4d6584e834eEvan HuntCspCASL_files = CspCASL/AS_CspCASL.hs CspCASL/AS_CspCASL_Process.hs \
f5df4974b7b5081c4778d5796127b4d6584e834eEvan Hunt CspCASL/SignCSP.hs CspCASL/SymbItems.hs CspCASL/Symbol.hs \
f45f40ec2814a5ff1ed443c968772a1b2e25c462Mark AndrewsCASL_DL_files = CASL_DL/AS_CASL_DL.hs CASL_DL/Sign.hs CASL_DL/Sublogics.hs
baad8d9fd8dd054ce1edf350ff0c0f2038a1519eEvan HuntDFOL_files = DFOL/AS_DFOL.hs DFOL/Sign.hs DFOL/Morphism.hs DFOL/Symbol.hs
866606b9c712ac654689e02a0c12151eaa86fbc1Mark AndrewsMaude_files = Maude/Sign.hs Maude/Morphism.hs Maude/Sentence.hs \
f0e9d6e905235482ff9b4be770ee35018fcd8234Evan HuntExtModal_files = ExtModal/AS_ExtModal.hs ExtModal/ExtModalSign.hs \
7ef5dc87b64d639cadfcce868428f9fb2a84fb92Evan Hunt ExtModal/MorphismExtension.hs ExtModal/Sublogic.hs
7ef5dc87b64d639cadfcce868428f9fb2a84fb92Evan HuntCSL_files = CSL/Sign.hs CSL/Morphism.hs CSL/AS_BASIC_CSL.hs CSL/Symbol.hs \
44fbdddcadd85a6e40ebc7b7834e08e156c681a1Evan HuntCommonLogic_files = CommonLogic/AS_CommonLogic.hs CommonLogic/Sign.hs \
0dfd942409fbd3ad1e9a06c887742f0c8760ffd7Mark Andrews CommonLogic/Symbol.hs CommonLogic/Morphism.hs CommonLogic/Sublogic.hs
51e6164fd6b47121040f79b6330edf6258418a0bMark AndrewsTHF_files = THF/As.hs THF/Cons.hs THF/Sign.hs THF/Sublogic.hs
6ffa8fcf764121bbe3b9eb116ddade5778608375Mark AndrewsOWL2_files = OWL2/AS.hs OWL2/Symbols.hs OWL2/Sign.hs OWL2/MS.hs \
6ffa8fcf764121bbe3b9eb116ddade5778608375Mark Andrews OWL2/Morphism.hs OWL2/ProfilesAndSublogics.hs OWL2/Sublogic.hs \
bbd5c0ab33b7c76058a4b17bd1f9ce443aa90c7fEvan HuntRDF_files = RDF/AS.hs OWL2/AS.hs RDF/Symbols.hs RDF/Sign.hs RDF/Morphism.hs \
09ab38c151751b76b8043275422239463eb70cbdMark AndrewsTPTP_files = TPTP/AS.hs TPTP/Sign.hs TPTP/Sublogic.hs
09ab38c151751b76b8043275422239463eb70cbdMark Andrews# ATC DrIFT-rule generation for logics
adbb48b4a0c6216f96d8b40712f23da893444f1cMark Andrews $(GENRULECALL) -i ATC.GlobalAnnotations -o $@ $(CASL_files)
61cfadb50e2ddce1073760e77880de73eb6e65daMark AndrewsRelationalScheme/ATC_RelationalScheme.der.hs: $(RS_files) $(GENRULES)
61cfadb50e2ddce1073760e77880de73eb6e65daMark Andrews $(GENRULECALL) -i ATC.GlobalAnnotations -o $@ $(RS_files)
9896a01aebb4201459079f8926dcd8045514b73aEvan HuntPropositional/ATC_Propositional.der.hs: $(Propositional_files) $(GENRULES)
22e29471c784acd09619841926c4f765e36ac74aEvan Hunt $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(Propositional_files)
22e29471c784acd09619841926c4f765e36ac74aEvan Hunt $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(QBF_files)
acbb301e648b82fcc38b876a44403cf0fe539cc9Evan HuntHolLight/ATC_HolLight.der.hs: $(HolLight_files) $(GENRULES)
9823d3d0fa2995a90f577a5801b1e5f7288a1facJeremy C. Reed $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(HolLight_files)
9823d3d0fa2995a90f577a5801b1e5f7288a1facJeremy C. ReedHasCASL/ATC_HasCASL.der.hs: $(HasCASL_files) $(GENRULES)
3911e7610f29dc664cbe8336f35c0652cd74652eMark Andrews $(GENRULECALL) -i ATC.GlobalAnnotations -o $@ $(HasCASL_files)
89740699cd2191d9b84e67716c281b2dfeba5e56Evan HuntIsabelle/ATC_Isabelle.der.hs: $(Isabelle_files) $(GENRULES)
89740699cd2191d9b84e67716c281b2dfeba5e56Evan Hunt $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(Modal_files)
46bc64f4b1a0e84ab0397943453fe83a17baf2c4Evan HuntHybrid/ATC_Hybrid.der.hs: $(Hybrid_files) $(GENRULES)
46bc64f4b1a0e84ab0397943453fe83a17baf2c4Evan Hunt $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(Hybrid_files)
46bc64f4b1a0e84ab0397943453fe83a17baf2c4Evan HuntTopHybrid/ATC_TopHybrid.der.hs: $(TopHybrid_files) $(GENRULES)
1cf8e9c0b7e75fcd2bfd10367ff362c674972a0dMark Andrews $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(TopHybrid_files)
62258ada486dfe76afc3f0f3835d3a45d2d8105cEvan HuntTemporal/ATC_Temporal.der.hs: $(Temporal_files) $(GENRULES)
62258ada486dfe76afc3f0f3835d3a45d2d8105cEvan Hunt $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(Temporal_files)
8cbf3b6fc35091abde426930f2eadb8f53476c98Evan HuntConstraintCASL/ATC_ConstraintCASL.der.hs: $(ConstraintCASL_files) $(GENRULES)
8cbf3b6fc35091abde426930f2eadb8f53476c98Evan Hunt $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(ConstraintCASL_files)
8cbf3b6fc35091abde426930f2eadb8f53476c98Evan HuntCASL_DL/ATC_CASL_DL.der.hs: $(CASL_DL_files) $(GENRULES)
7bd455641455950eff7d21be652c8142b134d32fTinderbox User $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CASL_DL_files)
7b46a4aa418de3e1f2df63b9353b7148584afe64Evan HuntCoCASL/ATC_CoCASL.der.hs: $(CoCASL_files) $(GENRULES)
9ba2cef72dacb1dc1105415956e1c311ac25d02cEvan Hunt $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CoCASL_files)
78f79084fcfc40f1237c99e2d4325b24b750d012Evan Hunt $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(COL_files)
78f79084fcfc40f1237c99e2d4325b24b750d012Evan HuntCspCASL/ATC_CspCASL.der.hs: $(CspCASL_files) $(GENRULES)
a2fd1de97d9ff685697aadba7f67a450557b0a06Evan Hunt $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(CspCASL_files)
a2fd1de97d9ff685697aadba7f67a450557b0a06Evan HuntSoftFOL/ATC_SoftFOL.der.hs: $(SoftFOL_files) $(GENRULES)
def8172275039dd667d2c54afa51af80fef9c2abEvan Hunt $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(SoftFOL_files)
e7c0d42b11358f08e04316d31c67c23261dcdf36Evan Hunt $(GENRULECALL) -x VSE.As.FoldRec -i CASL.ATC_CASL -o $@ $(VSE_files)
e69790ac0067c0034f57e070d513833550786a93Evan Hunt $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(DFOL_files)
67d01dcacb2051a03377c8ec5c0e36604c17aea5Evan Hunt $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(LF_files)
67d01dcacb2051a03377c8ec5c0e36604c17aea5Evan HuntFramework/ATC_Framework.der.hs: $(Framework_files) $(GENRULES)
6be12fa63b38fe7648811e042c9aad58cee2ead7Evan Hunt $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(Framework_files)
6be12fa63b38fe7648811e042c9aad58cee2ead7Evan Hunt $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(Maude_files)
262fea66373a062cac1a0e99b5a4675987bb61ffEvan HuntExtModal/ATC_ExtModal.der.hs: $(ExtModal_files) $(GENRULES)
262fea66373a062cac1a0e99b5a4675987bb61ffEvan Hunt $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(ExtModal_files)
084ba95b083dc55fd10631ad43fa8fff48707648Evan Hunt $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(CSL_files)
3ef4b7383ab4310df48ee5143e361ab1cfa3c8e8Evan HuntCommonLogic/ATC_CommonLogic.der.hs: $(CommonLogic_files) $(GENRULES)
3ef4b7383ab4310df48ee5143e361ab1cfa3c8e8Evan Hunt $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(CommonLogic_files)
72aa3b2a4e33a1b9b3521fddce383002b7201ab7Evan Hunt $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(Adl_files)
368aedf188d7c7782cae8a5ce2a978be47b5a764Evan Hunt $(GENRULECALL) -i CASL.ATC_CASL -o $@ $(Fpl_files)
e71905610c72f474a2943934a48f43121c79c939Evan Hunt $(GENRULECALL) -i ATC.Id -i ATC.GlobalAnnotations -o $@ $(THF_files)
1aced7b8702288f656ded594cd5bd7678bb4fe70Evan HuntFreeCAD/ATC_FreeCAD.der.hs: $(FreeCAD_files) $(GENRULES)
1aced7b8702288f656ded594cd5bd7678bb4fe70Evan Hunt $(GENRULECALL) -i Common.ATerm.ConvInstances -o $@ $(FreeCAD_files)
f79ee00c69259b9a27f9f0d12afa6c7b64005dedEvan Hunt $(GENRULECALL) -i Common.ATerm.ConvInstances -o $@ $(CSMOF_files)
7fbbc9bfd34f47aab843de668d5f5ffbc53d6e45Mark AndrewsQVTR/ATC_QVTR.der.hs: $(QVTR_files) CSMOF/ATC_CSMOF.hs $(GENRULES)
7fbbc9bfd34f47aab843de668d5f5ffbc53d6e45Mark Andrews $(GENRULECALL) -i CSMOF.ATC_CSMOF -i Common.ATerm.ConvInstances \
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt $(GENRULECALL) -i ATC.AS_Annotation -o $@ $(TPTP_files)
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt# all ATC .der.hs files for all logics
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Huntatc_logic_files = $(foreach logic, $(logics), $(logic)/ATC_$(logic).der.hs)
1eb5e1b4d7ea98dea07000edef15148d3d714b9dEvan Huntgenerated_rule_files = $(atc_der_files) $(atc_logic_files)
3a01ded15da064de23124e5d1a89143eceec5523Evan Hunt# a rule to create all .der.hs files
0072ae822d966550f7c0956ed22184ec20e98f34Mark Andrews# the final ATC target files created by DriFT
0072ae822d966550f7c0956ed22184ec20e98f34Mark Andrewsgendrifted_files = $(patsubst %.der.hs, %.hs, $(generated_rule_files))
0072ae822d966550f7c0956ed22184ec20e98f34Mark Andrews# all sources that need to be created before ghc can be called
9e39bafd2ef3e52719b5f16aec077c7885e7e1f1Mark Andrewsderived_sources += $(drifted_files) $(hs_der_files)
02a5e3ed85cbfc099874bb34e5901537399b5e24Mark Andrews####################################################################
02a5e3ed85cbfc099874bb34e5901537399b5e24Mark Andrews# BUILD related targets
bce9696c7ac65792469b29ce0ad13564953b62caEvan Hunt####################################################################
bce9696c7ac65792469b29ce0ad13564953b62caEvan Hunt.PHONY: all hets-opt hets-optimized hets_server-opt docs jars \
bce9696c7ac65792469b29ce0ad13564953b62caEvan Hunt clean o_clean clean_pretty bin_clean java_clean realclean distclean \
bce9696c7ac65792469b29ce0ad13564953b62caEvan Hunt annos check test capa hacapa h2h h2hf showKP clean_genRules genRules \
edd82b2ce275d513fb2799b90ec464f434880e87Mark Andrews count fromKif release cgi ghci build-hets callghc \
edd82b2ce275d513fb2799b90ec464f434880e87Mark Andrews get-programatica check_desktop check_server check_cgi \
86856f4f3069bb2d75851b56401ffde18f41198fMark Andrews install install-common install-owl-tools archive \
86856f4f3069bb2d75851b56401ffde18f41198fMark Andrews build-indep build-arch build binary-indep binary-arch binary
83eecff731c1a049b12f01fb699fa15ab7ddac2eEvan Hunt# dummy target to force ghc invocation
64584aa0980625f834fa148dc3c95ab714efe703Evan Hunt# some trickery to trigger a full clean if the main target (hets, hets_server)
64584aa0980625f834fa148dc3c95ab714efe703Evan Hunt# changed since last call
64584aa0980625f834fa148dc3c95ab714efe703Evan Hunt -@[ -e .hets_server -o -e .hets_cgi -o -e .hets_oow ] && $(MAKE) clean
d7b9756a214030b0022ce791b67b12fb7bceeea0Evan Hunt -@[ -e .hets_desktop -o -e .hets_cgi -o -e .hets_oow ] && $(MAKE) clean
4357e13a4bc2e175d73b20f9ef3e809b3e269ee4Evan Hunt -@[ -e .hets_desktop -o -e .hets_server -o -e .hets_oow ] && $(MAKE) clean
7f5bdf7f4063c2fefb18900468d2c851f8de7816Evan Hunt# the variant without GUI
35f6a21f5f8114542c050bfcb484b39ce513d4bdEvan Hunthets_server hets_server-opt: check_server $(derived_sources)
1361e038900701e126213261c0a1178025ae5a72Tinderbox User $(HC) --make $(HC_OPTS) -o hets_server hets.hs
6a3fa181d1253db5191139e20231512eebaddeebEvan Hunt# deprecated target name
96a35905057eb2ba7d977460776b06ae0911c8a7Evan Hunthets_cgi hets_cgi-opt: check_cgi GUI/hets_cgi.hs $(derived_sources)
1361e038900701e126213261c0a1178025ae5a72Tinderbox User $(HC) --make $(HC_OPTS) -o hets.cgi GUI/hets_cgi.hs
b5f6271f4daf1e54501af2cb7dd278d7e8003d65Mark AndrewsTEX_FILES := $(wildcard doc/*.tex doc/*.png doc/*.dot doc/*.sty doc/*.eps)
1361e038900701e126213261c0a1178025ae5a72Tinderbox User if [ -n "$$X" ]; then \
1361e038900701e126213261c0a1178025ae5a72Tinderbox User -pdflatex="pdflatex -interaction=nonstopmode" UserGuide.tex ; \
1361e038900701e126213261c0a1178025ae5a72Tinderbox User printf '\nMissing "latexmk" - unable to create doc/UserGuide.pdf!\n\n';\
1361e038900701e126213261c0a1178025ae5a72Tinderbox User# replace '$Header$' in all *.hs with the filename of the containing file
38eabfcee7a9f206c268834ab9cb6d3408a31380Mark Andrews# call it from time to time
38eabfcee7a9f206c268834ab9cb6d3408a31380Mark Andrews @find . -name '*.hs' -exec fgrep -l '$$Header$$' {} + | xargs -I@ \
7b9cb698dd07644762c675b5f57446467b4d5663Mark AndrewsGHC_LIBDIR := $(shell $(STACK_EXEC) ghc --print-libdir)
7b9cb698dd07644762c675b5f57446467b4d5663Mark AndrewsGHC_BASEDIR := $(shell cd $(GHC_LIBDIR)/../.. && printf "$${PWD}")
1d761cb453c76353deb8423c78e98d00c5f86ffaEvan Hunt# scanning the "whole" NFS server isn't so smart, so restrict to wellknown dirs
1d761cb453c76353deb8423c78e98d00c5f86ffaEvan HuntHADDOCK_INTERFACES = $(shell find $(GHC_BASEDIR)/share/doc/ghc \
1d761cb453c76353deb8423c78e98d00c5f86ffaEvan Hunt $(GHC_BASEDIR)/lib/ghc-doc/haddock -name '*.haddock' 2>/dev/null)
1d761cb453c76353deb8423c78e98d00c5f86ffaEvan Hunt -i http://hackage.haskell.org/packages/archive/$(basename $(notdir $(file)))/latest/doc/html,$(file))
31f6244cc25ab0f8937edc26dbb26ba4f6a01f19Evan Hunt -t 'Hets - the Heterogeneous Tool Set' \
842a3e6d0eb745e34a3cc3e19c8c39b9492ac739Evan Hunt cd utils/DrIFT-src; $(HC) --make -o ../DrIFT DrIFT.hs
842a3e6d0eb745e34a3cc3e19c8c39b9492ac739Evan Hunt$(DTD2HS): $(DTD2HS_deps) utils/DtdToHaskell-src/DtdToHaskell.hs
1124950b35ae05a12e804e670607fe5ba775cb4aTinderbox User @mkdir -p utils/DtdToHaskell-src/DtdToHaskell
dbb012765c735ee0d82dedb116cdc7cf18957814Evan Hunt @cp -f $(DTD2HS_deps) utils/DtdToHaskell-src/DtdToHaskell
dbb012765c735ee0d82dedb116cdc7cf18957814Evan Hunt $(HC) --make $(HC_OPTS) -iutils/DtdToHaskell-src -o $@ \
d7729155dff87d3c7a2b9103bf6e5164ea4d7dd7Mark AndrewsIsabelle/IsaExport.hs: $(DTD2HS) Isabelle/IsaExport.dtd
62ec9fd1681ffae7d6b0d54618599ecf650e3100Mark Andrews $(DTD2HS) Isabelle/IsaExport.dtd Isabelle/IsaExport.hs Isabelle.
62ec9fd1681ffae7d6b0d54618599ecf650e3100Mark Andrews $(HC) --make -i../DrIFT-src -i../.. $(HC_WARN) \
41e55d04032c0eefd39d74ffb73657b04fb821ecEvan Huntutils/appendHaskellPreludeString: utils/appendHaskellPreludeString.hs
166341d55424ca522eb456a1c7d0211e391f1ac8Evan Huntpretty/LaTeX_maps.hs: utils/words.pl utils/genItCorrections \
166341d55424ca522eb456a1c7d0211e391f1ac8Evan Hunt pretty/words.input pretty/fonts.input pretty/width-table.tex.templ
166341d55424ca522eb456a1c7d0211e391f1ac8Evan Hunt $(info $(EOL)Generating pretty/LaTeX_maps.hs ...$(EOL))
166341d55424ca522eb456a1c7d0211e391f1ac8Evan Hunt ../utils/genItCorrections gen_it_characters gen_it_words >> LaTeX_maps.hs
a165a17a81ff3285f4f4d79785fafb465e626183Evan Hunt $(info $(EOL)Done.$(EOL)Please copy the file manually to Common$(EOL))
a165a17a81ff3285f4f4d79785fafb465e626183Evan Hunt @$(RM) $(generated_rule_files) $(gendrifted_files) $(hs_clean_files)
08c67b5b7a54047fbfed423a59b48c86177b9859Evan Hunt### removes all *.o, *.hi and *.p_o files in all subdirectories except for
08c67b5b7a54047fbfed423a59b48c86177b9859Evan Hunt### .stack-work, where the compiled dependencies reside
e5f9fa7e18d50569a7d723acbb6f641e13ed3787Evan Hunt -o \( -name '*.o' -o -name '*.hi' -o -name '*.p_o' \
62cce60a15990bf8ec05b4234a5c965a5a8e86c0Evan Hunt -o -name '*.dyn_hi' -o -name '*.dyn_o' \) -exec rm -f {} +
62cce60a15990bf8ec05b4234a5c965a5a8e86c0Evan Hunt### remove binaries
0a35160f4eb349188a988d2857e0b3052ad4b778Evan Hunt# do not delete on exported archive, because latexmk might not be available
0a35160f4eb349188a988d2857e0b3052ad4b778Evan HuntUSER_GUIDE := $(shell [ -n "$(EXPORTED)" ] || printf 'doc/UserGuide.pdf')
a8cdf2a2e7e9a716a94db550138f1a65000fc19fEvan Hunt# Ubuntu/Debian dash crap really hurts
a8cdf2a2e7e9a716a94db550138f1a65000fc19fEvan Hunt @ksh -c "rm -rf pretty/*.c.* pretty/*.h.* pretty/gen_it_* \
3249da26fc28297265d444a1f3647f1e6700a2a0Evan Hunt test/*/*.{thy,pp.het,pp.tex,th,dfg.c,xml,log,dvi,aux,sty} \
3249da26fc28297265d444a1f3647f1e6700a2a0Evan Hunt test/*/log */test/temp* ToHaskell/test/*.{out,output} \
0666e6db543cda2de2b8472ba49ed9b53c836326Tinderbox User ExtModal/Tries/*.{pp.het,th} Fpl/test/*.{pp.het,th} \
d0803df3310ad09447c34b972e7594d576f5cbb5Evan Hunt CommonLogic/TestData/*.{pp.het,th} Common/testxmldiff \
d0803df3310ad09447c34b972e7594d576f5cbb5Evan Hunt doc/UserGuide.{log,aux,bbl,blg,out,fdb_latexmk,fls} doc/hs2isa.ps \
47c847e286ac1d9dcc1b6dec5430ad9d2abad7b2Evan Hunt debian/{root,files,hets-*,tmp} \
75d747e1c5a30d6ef6c6238c6e27baa11d6f3bf6Mark Andrews @$(RM) -rf OWL2/*.jar OWL2/java/build OWL2/java/tmp OWL2/lib
b8cf73a3b3e21d61f5a06670551ac22e61bcc4b1Mark Andrews### additionally removes generated files not in the repository tree
83f69fcd6ef72c9e2ebcb025b66a2ee74176becdEvan Hunt utils/genItCorrections pretty/LaTeX_maps.hs pretty/words.pl.log \
d58e33bfabfee19a035031dac633d36659738d56Evan Hunt### interactive
e45d0508c3460db87afb1f743bc5210522721bb3Evan Hunt### build only, don't link. Target was formerly known as 'build'.
f8c990f6c2d3f75120bd67a55e87f21e88e9e5a6Evan Hunt### Kif parser
db8938c993d3eaeae1d86feb1b5da511831a9014Mark Andrews### Annos parser
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt### CASL parser
a147de10fe5e19e593d42152ffd6879eca69860dEvan Hunt### HasCASL parser
702958d20247bb9e34019cf02d8ec18d4f3b1005Mark Andrews### Haskell analysis
cd7f8d18f8ed073ca5478d63f49179286d38d3d6Mark Andrews### Haskell to Isabelle-HOLCF translation
cd7f8d18f8ed073ca5478d63f49179286d38d3d6Mark AndrewsHaskell/h2hf: Haskell/h2hf.hs Haskell/*.hs Isabelle/*.hs Common/*.hs \
cd7f8d18f8ed073ca5478d63f49179286d38d3d6Mark Andrews### HasCASL to Haskell translation
cd7f8d18f8ed073ca5478d63f49179286d38d3d6Mark Andrews### test program to check the known provers
cd7f8d18f8ed073ca5478d63f49179286d38d3d6Mark Andrews### run tests in other directories
cd7f8d18f8ed073ca5478d63f49179286d38d3d6Mark Andrews for i in $(TESTDIRS); do $(MAKE) -C $$i check; done
a18fc12ba3d48b66bea298c80f3e3f09f3c91527Evan Hunt## two dependencies to avoid circular prerequisites
a18fc12ba3d48b66bea298c80f3e3f09f3c91527Evan HuntCASL_DEPENDENT_BINARIES = hets CASL/capa CASL/fromKif \
a18fc12ba3d48b66bea298c80f3e3f09f3c91527Evan Hunt Common/annos Common/test_parser Comorphisms/test/showKP \
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt CspCASL/print_csp HasCASL/hacapa Haskell/h2h Haskell/h2hf \
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt Haskell/hana Haskell/wrap Isabelle/isa Syntax/hetpa
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt## suffix rules
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt## rule for GHC
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt## rule for DrIFT
b751788932cf1a6d98ae83355f38a080125c2f3eEvan Hunt## compiling rules for object and interface files
7d2b185f16b165e311e5b451324fe9ab9898dcedEvan Hunt## compiling rules for dependencies
789252d55f025db52ee02aa933c9f09a4aadfa97Evan Hunt## Rule to generate hs files from glade files. Needed for GTK
789252d55f025db52ee02aa933c9f09a4aadfa97Evan Hunt cat GUI/Glade/Template.append.hs | sed "s/\%s/$$b/" | \
789252d55f025db52ee02aa933c9f09a4aadfa97Evan Hunt# just build all required jar files
e9649ece3bf32ff43faea13c76bbba7813d7e139Mark Andrews @if [ -z $(PROGRAMATICA_SRC_FILE) -o ! -e $(PROGRAMATICA_SRC_FILE) ] && \
e9649ece3bf32ff43faea13c76bbba7813d7e139Mark Andrews printf 'Unable to get programatica (%s %s)\n' \
2b258a1f5b02488c6a36ac1b0a7535b42ea6fd34Evan Hunt 'neither PROGRAMATICA_SRC_FILE nor PROGRAMATICA_SRC_FILE' \
2b258a1f5b02488c6a36ac1b0a7535b42ea6fd34Evan Hunt 'environment variable is set/exist.' ; \
c14ba7107063650e7f4329e8c54adca57913381bEvan Hunt @if [ -e $(PFE_BASE) ]; then \
33a296aa3a3d5e808cabf556c95f29cc1eecff16Evan Hunt -@HWD=$${PWD} ; X=`echo $(PFE_BASE)| cut -f1 -d/`; \
161e803a5608956271d8120be37a1b383d14b647Mark Andrews if [ -n $(PROGRAMATICA_SRC_FILE) -a -e $(PROGRAMATICA_SRC_FILE) ]; then \
5f8d6cec48cef9055359c628942d633693f732b2Evan Hunt printf 'Extracting $(PROGRAMATICA_SRC_FILE) ...\n' ; \
5f8d6cec48cef9055359c628942d633693f732b2Evan Hunt mv programatica-*/* $${PFEDIR}/ && rmdir programatica-* ; \
0606c47750ad362909f010db2ef1ff8dcc96f9cbEvan Hunt if [ -n "$(PROGRAMATICA_SRC_URL)" -a ! -e $${HWD}/$(PFE_SETUP_FILE) ]; then\
0606c47750ad362909f010db2ef1ff8dcc96f9cbEvan Hunt printf 'Fetching $(PROGRAMATICA_SRC_URL) ...\n' ; \
9b895f30f1734fd463a02b27cfd0cf36ec9893d5Evan Hunt if wget --no-verbose -O x.tgz "$(PROGRAMATICA_SRC_URL)" ; then \
9b895f30f1734fd463a02b27cfd0cf36ec9893d5Evan Hunt mv programatica-*/* $${PFEDIR}/ && rmdir programatica-* ; \
00112618bc042f734de7b5ac86506cacb9acf36dMark Andrews @if [ -e $(PFE_SETUP_FILE) ]; then \
00112618bc042f734de7b5ac86506cacb9acf36dMark Andrews printf 'Programatica support available.\nYou probably need to %s\n\n' \
00112618bc042f734de7b5ac86506cacb9acf36dMark Andrews '"make distclean" and make the desired target again.' ; \
0bbe3273a224aa07b6af4165a26fd26d6f30c0adEvan Hunt printf 'Failed! No programatica support available!\n' ; exit 4 ; \
7d65cbaca0839ae23358dce26de426be1301657aMark Andrews# remove trailing .txz or .tar.xz
7d65cbaca0839ae23358dce26de426be1301657aMark Andrews $(patsubst %.txz,%, $(patsubst %.tar.xz,%,$(notdir $(ARC_NAME))))
8009525601d946805fae58b037cf7dad0da516f8Curtis Blackburn printf '\nThis source tree is already exported.\n' && exit 1 ; \
5465b124f1517b27c363872bd7648a950424eccaTinderbox User FNAME=$(dir $(ARC_NAME))/$(ARC_BNAME).tar.xz ; \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews git archive --format=tar --prefix=$(ARC_BNAME)/ HEAD | \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews if [ -e $(USER_GUIDE) ]; then \
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews cp $(USER_GUIDE) tmp/$(ARC_BNAME)/$(USER_GUIDE) ; \
2c2be89824d3899591d34c26adb155da6a993ce3Evan Hunt printf '\nWARNING: No $(USER_GUIDE) is unavailable\n!' ; \
fb507315d4a921ffa9e2fd617cb3439ec8c15ca8Evan Hunt printf 'Removing unused/non-distributed files ...\n' ; \
fb507315d4a921ffa9e2fd617cb3439ec8c15ca8Evan Hunt rm -rf HolLight/OcamlTools/*/*dmtcp OWL2/java/lib/native \
ae871ebb28959bed920cc96cd9e91063b6625b78Mark Andrews rm -rf GMP mini .gitignore utils/{nightly,debian,macports,ubuntu} ; \
49ae04f6ee2f2e2578e6cd8cd3d4c74e9098ccb0Mark Andrews zip -d OWL2/java/lib/owlapi-osgidistribution-3.5.2.jar \
d999ca28d40337907b55eebc28a255b638702379Evan Hunt cd .. ; $(TAR) cJf $(ARC_BNAME).tar.xz $(ARC_BNAME) || exit 4 ; \
d999ca28d40337907b55eebc28a255b638702379Evan Hunt ln $${PWD}/tmp/$(ARC_BNAME).tar.xz $${FNAME} 2>/dev/null || \
fd63f3110fe9a20d6188bc30ebf4b44595bac8eeMark Andrews mv -f $${PWD}/tmp/$(ARC_BNAME).tar.xz $${FNAME} ; \
fd63f3110fe9a20d6188bc30ebf4b44595bac8eeMark Andrews $(info $(EOL)The next "make clean" will remove the tmp/ directory used.$(EOL))
15eb0cb8e15fc0f4f02713fd8d993476f0394763Evan Hunt#############################################################################
15eb0cb8e15fc0f4f02713fd8d993476f0394763Evan Hunt# INSTALL targets
225146b2c8c7de8dcff979841b56b15aef8aded2Mark Andrews#############################################################################
225146b2c8c7de8dcff979841b56b15aef8aded2Mark Andrews# We use $DEB_BUILD_ARCH to detect, whether this make got triggered via
434bfc3dfa2003ba0dd4b2392286806131fd6724Evan Hunt# dpkg-buildpackage
434bfc3dfa2003ba0dd4b2392286806131fd6724Evan Hunt $(shell [ -n "$$DEB_BUILD_ARCH" ] && printf "$$PWD/debian/root")
0618287859d99c2fc69790df28500fb37324d43dEvan Hunt $(shell [ -n "$$DEB_BUILD_ARCH" ] && printf '/common')
6b0434299b05b6ca05c6836b9e8fbb7e67f05fb8Mark Andrews $(shell [ -n "$$DEB_BUILD_ARCH" ] && printf '/desktop')
6b0434299b05b6ca05c6836b9e8fbb7e67f05fb8Mark Andrews $(shell [ -n "$$DEB_BUILD_ARCH" ] && printf '/server')
eb5e0b8dec22de22dd824959e39b26c4f5b1c52dMark Andrews $(shell [ "$(OSNAME)" = 'SunOS' ] && printf 'share/texmf/dist/tex/latex' ||\
0a47bc90af557138a2aaff614ad73d95155ddd9eMark Andrews# all _relative_ wrt. $(PREFIX) and w/o trailing slashes
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews# see OWL2/ProveFact.hs - it doesn't use OSGi so we need to extract JNI libs
49c1e0d18d6f8b894ce2e6b485ef666599a83c21Mark Andrews BASEDIR = $(DESTDIR)$(SUBDIR_common)$(PREFIX)/$(HETS_DIR)/hets-owl-tools
7aa21a491d9468bfc29d8cc331a4e963874426dfFrancis Dupont $(INSTALL) -m 0644 OWL2/tests/wine.rdf $(BASEDIR)/tests/
34416a7954da96c5a5f5803fe02f059cb94bf6fdMark Andrews ln -sf ../CASL/Termination/AProVE.jar $(BASEDIR)/AProVE.jar
34416a7954da96c5a5f5803fe02f059cb94bf6fdMark Andrews ln -sf ../DMU/OntoDMU.jar $(BASEDIR)/OntoDMU.jar
34416a7954da96c5a5f5803fe02f059cb94bf6fdMark Andrews $(INSTALL) -m 0644 OWL2/java/lib/*.jar $(BASEDIR)/lib/
11e9195ad15d1a3f2b4dcd79b64a6e19d89bbac3Mark Andrews $(info Extracting/removing JNI libs from factplusplus*.jar ...$(EOL))
6100b1769956200b2815803ab7b35556396ce0d1Mark Andrews rm -rf OWL2/java/tmp ; mkdir -p OWL2/java/tmp; cd OWL2/java/tmp ; \
03152360db6fcb0fcc95fa63c20c5c829c95f1f6Mark Andrews X=`ls ../lib/uk.ac.manchester.cs.owl.factplusplus*.jar` ; \
03152360db6fcb0fcc95fa63c20c5c829c95f1f6Mark Andrews $(INSTALL) -m 0755 lib/native/32bit/libFaCTPlusPlusJNI.* \
aacd7daaf7859de742ab35eac00e70676b1b9f4fEvan Hunt $(INSTALL) -m 0755 lib/native/64bit/libFaCTPlusPlusJNI.* \
a379c8c108de279cc4e09139c12457c1531bd122Mark Andrews -zip -d $(BASEDIR)/lib/owlapi-osgidistribution-3.5.2.jar \
7433a204d32673e9f6747172f202272cc5bfe27cMark Andrews 'https://bitbucket.org/trove4j/trove/downloads'\
33a296aa3a3d5e808cabf556c95f29cc1eecff16Evan Hunt 'Per default $(BASEDIR)/lib/native' \
33a296aa3a3d5e808cabf556c95f29cc1eecff16Evan Hunt 'contains JNI libs for Linux and MacOSX only!'
c9ee72cb3acb4562c43333b206737ee94cbbda5eMark Andrews# If one would add haddocs as well, add
fb623f9a07857d95cf6c47db0aa81a28c3bbc5c0Mark Andrews# -m 0755 -d $(DESTDIR)$(SUBDIR_common)$(PREFIX)/$(DOC_DIR)/html/
fb623f9a07857d95cf6c47db0aa81a28c3bbc5c0Mark Andrews# -m 0644 docs/* $(DESTDIR)$(SUBDIR_common)$(PREFIX)/$(DOC_DIR)/html/
5116f25421090dffe637eb8f6cf7b44acd83678bMark Andrews $(DESTDIR)$(SUBDIR_common)$(PREFIX)/$(HETS_DIR)/hets-isa-tools \
5116f25421090dffe637eb8f6cf7b44acd83678bMark Andrews $(DESTDIR)$(SUBDIR_common)$(PREFIX)/$(HETS_DIR)/hets-maude-lib \
00043fc284892099b309be37340ae80893146c69Mark Andrews $(DESTDIR)$(SUBDIR_common)$(PREFIX)/$(DIST_LATEX)/hets \
00043fc284892099b309be37340ae80893146c69Mark Andrews $(INSTALL) -m 0644 magic/hets.magic utils/hetcasl.sty \
9fa2a0deed3b880f3bf04d4f615c13a0d67cc0ceMark Andrews $(DESTDIR)$(SUBDIR_common)$(PREFIX)/$(HETS_DIR)
97a2a26cd93e153dcf8fb1ea6bf2311426496251Mark Andrews $(DESTDIR)$(SUBDIR_common)$(PREFIX)/$(HETS_DIR)/hets-isa-tools/
97a2a26cd93e153dcf8fb1ea6bf2311426496251Mark Andrews $(INSTALL) -m 0644 Isabelle/export/export_helper.ml \
97a2a26cd93e153dcf8fb1ea6bf2311426496251Mark Andrews $(DESTDIR)$(SUBDIR_common)$(PREFIX)/$(HETS_DIR)/hets-isa-tools/
c1b8fa61604e153d6f2c6d91acc9481446e631f2Mark Andrews $(INSTALL) -m 0644 Maude/hets.prj Maude/*maude \
c1b8fa61604e153d6f2c6d91acc9481446e631f2Mark Andrews $(DESTDIR)$(SUBDIR_common)$(PREFIX)/$(HETS_DIR)/hets-maude-lib/
c7965f84c23ea9e9b8d6508e4f77d596c227ab75Evan Hunt BACK=`printf '$(DIST_LATEX)/hets' | ${SED} -e 's/[^/]\{1,\}/../g'` ; \
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt $(DESTDIR)$(SUBDIR_common)$(PREFIX)/$(DIST_LATEX)/hets/hetcasl.sty
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt $(info $(EOL)If TeX is installed, remember to re-run texhash!$(EOL)$(EOL))
54a00ea5ca94ff9e3a4204aea78639ba781d5865Mark Andrews# for now install-{common,hets,hets_server} are supported, only.
3ad8f24ddd043148525b68a676ebdc71f6900ca9Mark Andrews $(SED) -e "s,@CLIENT_BASEDIR@,$(PREFIX)," debian/hets_script \
3ad8f24ddd043148525b68a676ebdc71f6900ca9Mark Andrews >$(DESTDIR)$(SUBDIR_$*)$(PREFIX)/bin/$(subst _,-,$*)
2bae76022cbdf8a207d4c3982b589156e1a09e09Evan Hunt chmod 0755 $(DESTDIR)$(SUBDIR_$*)$(PREFIX)/bin/$(subst _,-,$*)
2bae76022cbdf8a207d4c3982b589156e1a09e09Evan Hunt ln $< $(DESTDIR)$(SUBDIR_$*)$(PREFIX)/$(HETS_DIR)/$(subst _,-,$*) 2>/dev/null || \
0c91911b4d1e872b87eaf6431ed47fe24d18dd43Mark Andrews cp $< $(DESTDIR)$(SUBDIR_$*)$(PREFIX)/$(HETS_DIR)/$(subst _,-,$*)
0c91911b4d1e872b87eaf6431ed47fe24d18dd43Mark Andrews [ $* = 'hets' ] && RMSECT='SERVER' || RMSECT='DESKTOP' ; \
2634686b14ccdf0aa18a6d346628d03ce3e3d0b4Mark Andrews $(SED) -e "/@S$${RMSECT}@/,/@E$${RMSECT}@/ d" debian/hets.1 \
54a00ea5ca94ff9e3a4204aea78639ba781d5865Mark Andrews >$(DESTDIR)$(SUBDIR_$*)$(PREFIX)/$(MAN_DIR)/$(subst _,-,$*).1
b5f4cc132e91afb1217f4aa79424793c0e11c09aMark Andrews [ "$(OSNAME)" = 'SunOS' ] || ${SED} -i -e '/@SSOLARIS@/,/@ESOLARIS@/ d' \
b5f4cc132e91afb1217f4aa79424793c0e11c09aMark Andrews $(DESTDIR)$(SUBDIR_$*)$(PREFIX)/$(MAN_DIR)/$(subst _,-,$*).1
8afea636ab0c07399aa3e2410b2cfbd41099df98Mark Andrewsinstall: install-hets install-hets_server install-common install-owl-tools
8afea636ab0c07399aa3e2410b2cfbd41099df98Mark Andrews############################################################################
8afea636ab0c07399aa3e2410b2cfbd41099df98Mark Andrews# DEBIAN rules
d6f99498d624d5c5c8ee45067df02e6a6b35a1a3Mark Andrews############################################################################
54a00ea5ca94ff9e3a4204aea78639ba781d5865Mark Andrewsbuild-arch: $(STACK_TARGET) hets.bin hets_server.bin
997c2c5116927bab77284c24c3bd0d7f646da5eeMark Andrews# For PPA source packages we submit a platform specific changelog via
997c2c5116927bab77284c24c3bd0d7f646da5eeMark Andrews# *.debian.tar.xz, for local packages we generate it on demand.
e548e07a9a2f1ec64774d7ae872d530eaf270eb7Mark AndrewsCHANGELOG := $(shell [ -f debian/changelog ] && \
e548e07a9a2f1ec64774d7ae872d530eaf270eb7Mark Andrews printf 'debian/changelog' || printf 'debian/changelog.tmp')
d1e22676de16e6dee54c58b27cca11c5fb8f1ff5Mark Andrews# See Versioning in ./README
fdc41dd109fba6b95a4ed7355210118ad9fe5e90Jeremy C. Reed# NOTE: The dash crap sucks again here! So we assume only the 2nd rev num
d1e22676de16e6dee54c58b27cca11c5fb8f1ff5Mark Andrews# might be padded with a single '0' to avoid more clutter.
0e1dfb8ff5ac2cf1215691ffc32d7a0b76709721Mark Andrews @SRCPKG=`grep ^Source: debian/control |awk '{ print $$2 ; }'` ; \
0e1dfb8ff5ac2cf1215691ffc32d7a0b76709721Mark Andrews if [ -z "${FULL_DEBVERS}" ]; then \
8e091f3d3ee0079f35dfccdc4479105e8f087ab2Mark Andrews LSB=`lsb_release -rs`; A="$${LSB%.*}"; B="$${LSB#*.}"; B="$${B##0}"; \
8e091f3d3ee0079f35dfccdc4479105e8f087ab2Mark Andrews FULL_DEBVERS="$(HETS_VERSION).1-1.$${A}.$${B}.1" ; \
8e091f3d3ee0079f35dfccdc4479105e8f087ab2Mark Andrews printf "\nUsing '$${FULL_DEBVERS}' as new version.\n\n" ; \
7ace3277956c49f7554b7130ef761bde3b35db30Mark Andrews [ -z "$${REL_NAME}" ] && REL_NAME=`lsb_release -cs` ; \
7ace3277956c49f7554b7130ef761bde3b35db30Mark Andrews [ -z "$${GPG_NAME}" ] && GPG_NAME='Foo Bar' ; \
06ace051e7522b153b487581c9439fc8c162fb18Mark Andrews [ -z "$${GPG_EMAIL}" ] && GPG_EMAIL='foo.bar@do.main' ; \
06ace051e7522b153b487581c9439fc8c162fb18Mark Andrews printf "%s (%s) %s; urgency=low\n\n %s\n\n -- %s <%s> %s\n" "$${SRCPKG}" \
06ace051e7522b153b487581c9439fc8c162fb18Mark Andrews "$${FULL_DEBVERS}" "$${REL_NAME}" \
5d4343a9988cd5bd057aa385bb8c5e72d41202d1Evan Hunt "* Initial release, automatically generated." \
75ae74f8fd0847817bce2db7c868b179db67f019Mark Andrews# NOTE: dpkg-gencontrol is not POSIX conform wrt. arg processing!
75ae74f8fd0847817bce2db7c868b179db67f019Mark Andrewsbinary-indep: build-indep install-common $(CHANGELOG)
16bd30ae6987cd4ba4fe3b873e72abf5b7178c26Mark Andrews -@[ "$${USERNAME}" != 'root' -o -z "$${FAKEROOTKEY}" ] && \
16bd30ae6987cd4ba4fe3b873e72abf5b7178c26Mark Andrews printf '\nWARNING: The $< target should be called using fakeroot!\n\n'
16bd30ae6987cd4ba4fe3b873e72abf5b7178c26Mark Andrews $(INSTALL) -m 0755 -d $(DESTDIR)$(SUBDIR_common)/DEBIAN
df0892aea6bfd20a01c3abf2b756625d23830390Mark Andrews dpkg-gencontrol -P$(DESTDIR)$(SUBDIR_common) -phets-common \
a499dddb4b4d4db2bb6ced82b5ee7a459e23603eEvan Hunt dpkg-deb -Z xz -b $(DESTDIR)$(SUBDIR_common) ../hets-A.deb
f45f6541857a5dbb93ac24f321b9cf350ce242baMark Andrewsbinary-arch: build-arch install-hets install-hets_server $(CHANGELOG)
f45f6541857a5dbb93ac24f321b9cf350ce242baMark Andrews -@[ "$${USERNAME}" != 'root' -o -z "$${FAKEROOTKEY}" ] && \
673a2bb07b9e54a32699a9d7ca916dc5114d8d45Mark Andrews printf '\nWARNING: The $< target should be called using fakeroot!\n\n'
e3c273a865bede10bfb1e0f29d300706cae3e00dMark Andrews dpkg-gencontrol -P$(DESTDIR)$(SUBDIR_hets) -phets-desktop \
d640b4a0ab9dec252749793f78a1ed1e8551ea19Evan Hunt dpkg-deb -Z xz -b $(DESTDIR)$(SUBDIR_hets) ../hets-B.deb
d640b4a0ab9dec252749793f78a1ed1e8551ea19Evan Hunt dpkg-gencontrol -P$(DESTDIR)$(SUBDIR_hets_server) -phets-server \
fdb4ae8f6c00d8ea03bde929bd4e47056972017dMark Andrews dpkg-deb -Z xz -b $(DESTDIR)$(SUBDIR_hets_server) ../hets-C.deb
421d4a06479e61fbdc35087f3c4abc9fe65ad72aEvan Hunt# Make sure debian/changelog exists, since dpkg-buildpackage runs finally a
421d4a06479e61fbdc35087f3c4abc9fe65ad72aEvan Hunt# "dpkg-genchanges -b -m'...' >../${fullPkgName}.changes"
421d4a06479e61fbdc35087f3c4abc9fe65ad72aEvan Hunt @[ -f debian/changelog ] || ln -s changelog.tmp debian/changelog
421d4a06479e61fbdc35087f3c4abc9fe65ad72aEvan Hunt# vim: ts=4 sw=4 filetype=make