Makefile revision fc09e0a6af734edbd944dd8082bb51985c233b43
c7e03d0708369f944b6f235057b39142a21599f2Mihai Codescu# Author: (c) Klaus Luettich, Christian Maeder, Uni Bremen 2002-2009
c7e03d0708369f944b6f235057b39142a21599f2Mihai Codescu# This Makefile will compile the hets system and provides also
c7e03d0708369f944b6f235057b39142a21599f2Mihai Codescu# targets for test programs during implementation phases.
c7e03d0708369f944b6f235057b39142a21599f2Mihai Codescu# !!! Note: This makefile is written for GNU make !!!
c7e03d0708369f944b6f235057b39142a21599f2Mihai Codescu# (gmake on solaris)
c7e03d0708369f944b6f235057b39142a21599f2Mihai Codescu# the 'replacing spaces' example was taken from the (GNU) Make info manual
d87ee0dd97c1e61947cf8522346c3126debcd8c1Christian MaederDRIFT_ENV = DERIVEPATH=$(subst $(space),:,$(PFE_PATHS))
55c5e901b5c3466300009135585bc70bd576dcb6Christian MaederGENERATERULES_deps = utils/GenerateRules/*hs $(DRIFT_deps)
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian MaederGENITCORRECTIONS_deps = utils/itcor/GenItCorrections.hs
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian MaederINLINEAXIOMS_deps = utils/InlineAxioms/InlineAxioms.hs \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder Common/Doc.hs CASL/ToDoc.hs Modal/AS_Modal.hs \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder Modal/Parse_AS.hs Modal/ModalSign.hs Modal/Print_AS.hs Modal/StatAna.hs
c7e03d0708369f944b6f235057b39142a21599f2Mihai CodescuGENRULECALL = $(GENRULES) -r Typeable -r ShATermConvertible \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian MaederGENRULECALL2 = $(GENRULES) -r Typeable -r ShATermLG \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder -i Data.Typeable -i ATerm.Lib -i ATC.Grothendieck
4b136ad539bd9f4e115dff4eee4d552a42d4437eChristian MaederSETUPPREFIX = --prefix=$(HOME)/.ghc/$(ARCH)-$(OSBYUNAME)-hets-packages
d87ee0dd97c1e61947cf8522346c3126debcd8c1Christian Maeder ../$(SETUP) configure -O -p $(SETUPPREFIX) --user; \
4b136ad539bd9f4e115dff4eee4d552a42d4437eChristian Maeder ../$(SETUP) build; ../$(SETUP) haddock; ../$(SETUP) install
4b136ad539bd9f4e115dff4eee4d552a42d4437eChristian Maeder# list glade files
4b136ad539bd9f4e115dff4eee4d552a42d4437eChristian MaederGTK_GLADE_FILES = $(wildcard GUI/Glade/*.glade)
4b136ad539bd9f4e115dff4eee4d552a42d4437eChristian MaederGTK_GLADE_HSFILES = $(subst .glade,.hs,$(GTK_GLADE_FILES))
4b136ad539bd9f4e115dff4eee4d552a42d4437eChristian Maeder# the list of logics that need ShATermConvertible instances
d87ee0dd97c1e61947cf8522346c3126debcd8c1Christian Maederlogics = CASL HasCASL Isabelle Modal Temporal CoCASL COL CspCASL CASL_DL \
d87ee0dd97c1e61947cf8522346c3126debcd8c1Christian Maeder SoftFOL ConstraintCASL Propositional OWL RelationalScheme VSE OMDoc DFOL \
d87ee0dd97c1e61947cf8522346c3126debcd8c1Christian Maeder LF Framework Maude ExtModal CommonLogic CSL QBF Adl HolLight Fpl THF \
90d7cac36f60438bd35124e3389b5bce6d114b46Christian MaederTESTTARGETFILES += Scratch.hs CASL/fromKif.hs CASL/capa.hs HasCASL/hacapa.hs \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder Haskell/wrap.hs Isabelle/isa.hs Syntax/hetpa.hs \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder ATC/ATCTest.hs ATC/ATCTest2.hs Common/ATerm/ATermLibTest.hs \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder Common/ATerm/ATermDiffMain.hs Common/annos.hs \
2d00b580613fcdc777040a3f855e5cdbdac5d8dfChristian Maeder SoftFOL/tests/PrintTPTPTests.hs Comorphisms/test/showKP.hs \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder Comorphisms/test/sublogicGraph.hs PGIP/ParseProofScript.hs \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder Common/testxupdate.hs Common/testxpath.hs \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder SoftFOL/dfg.hs Adl/adl.hs GUI/displayDependencyGraph.hs
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder### list of directories to run checks in
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian MaederTESTDIRS += Common CASL Fpl/test HasCASL test HolLight
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maederhs_clean_files = Haskell/TiATC.hs Haskell/TiDecorateATC.hs \
36f69d35e01d2d6b6bdc165b49661f2a80af8687Mihai Codescu Haskell/TiPropATC.hs Haskell/ATC_Haskell.der.hs
c7e03d0708369f944b6f235057b39142a21599f2Mihai CodescuPFE_DIRS = base/AST base/TI base/parse2 base/parse2/Lexer base/parse2/Parser \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder base/parse2/LexerGen base/parse2/LexerSpec base/tests/HbcLibraries \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder base/pretty base/syntax base/lib base/lib/Monads base/Modules base/defs \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder base/transforms base/transforms/Deriving property \
c7e03d0708369f944b6f235057b39142a21599f2Mihai Codescu property/syntax property/AST property/transforms \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder property/TI property/defs property/parse2 property/parse2/Parser
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian MaederPFE_PATHS = $(addprefix $(PFE_TOOLDIR)/, $(PFE_DIRS))
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maederpfe_sources = $(wildcard $(addsuffix /*hs, $(PFE_PATHS)))
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maederhappy_files += $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hs
12368e292c1abf7eaf975f20ee30ef7820ac5dd5Christian Maederprogramatica_pkg: $(PFE_TOOLDIR)/property/parse2/Parser/PropParser.hs \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder @if $(HCPKG) field programatica version; then \
12368e292c1abf7eaf975f20ee30ef7820ac5dd5Christian Maeder echo "of programatica package found"; else \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder -i `pwd`/Haskell/Programatica.patch || exit 0); \
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder cp -f utils/programatica.cabal $(PFE_TOOLDIR); \
9192fdd8f0e682ac0f0183dd854d5210fbfa4ec5Christian Maeder$(LEX_DIR)/HsLex.hs: $(LEX_DIR)Gen/HsLexerGen
3b3d8640dd6e2027da942074fd4ac674503f4140Mihai Codescu echo "{-# OPTIONS -w #-}" > $@
d90c545f128262b3ed863e447bc068ab2b9b2ff6Christian Maeder$(LEX_DIR)Gen/HsLexerGen: $(LEX_DIR)Gen/*.hs $(LEX_DIR)Spec/*.hs \
3b3d8640dd6e2027da942074fd4ac674503f4140Mihai Codescu $(HC) --make -fno-monomorphism-restriction -O \
$@.hs -o $@
$(RM) $@
$(APPENDPRELUDESTRING) < $< > $@
#Ti_Prop_files = property/TI/TiPropDecorate property/syntax/PropSyntaxRec
# unset this variable from var.mk because the programatica sources
# uncomment HC_PROF for profiling (and comment out packages in var.mk)
# the rules to create ATC .der.hs file for DriFT
$(GENRULECALL) -o $@ $<
$(GENRULECALL) -o $@ $<
$(GENRULECALL) -o $@ $<
$(GENRULECALL) -o $@ $<
$(GENRULECALL) -o $@ $<
$(GENRULECALL2) -o $@ $<
# all ATC .der.hs files for all logics
# a rule to create all .der.hs files
# files to be processed by utils/InlineAxioms
cgi:
-i http://hackage.haskell.org/packages/archive/$(basename $(notdir $(file)))/latest/doc/html,$(file))
(cd utils/GenerateRules; \
GenerateRules.hs -o ../genRules)
./clean.sh; \
# Common/LaTeX_maps.hs generation
@echo -n "Generating pretty/LaTeX_maps.hs ... "
@(cd pretty >/dev/null; ../utils/genItCorrections \
$(RM) $@
## two hardcoded dependencies for a correct generation of Version.hs
.SUFFIXES:
%.hs: %.y
$(RM) $@
$(RM) $@
$(INLINEAXIOMS) $< > $@
%.d : %.hs
%.d : %.lhs
$(RM) $@
$(RM) $@
$(PERL) $+ > $@
## rule for Modal/ModalSystems.hs needed for ModalLogic Translation
# uses intransparently utils/outlineAxioms
$(RM) $@
@echo Please do