var.mk revision 961087225d1d2b9534152a346d1a3755ed952fcd
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner# to be included by Makefile
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner## check-programatica convenience target helper vars:
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner# The URL of the programatica source archive to download if missing. It must be
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner# a gzippid tar archive, which can be get using wget!
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner# Don't quote! Space and other shell metcharacters are not allowed!
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerPROGRAMATICA_SRC_URL ?= \
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner http://theo.cs.uni-magdeburg.de/downloads/hets/src/programatica-1.0.0.5.tar.gz
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner# As an alternative, if you have a local copy of the programatica source
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner# archive to use.
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner# Don't quote! Space and other shell metcharacters are not allowed!
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerPROGRAMATICA_SRC_FILE ?= \
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner /data/src/develop/programatica-1.0.0.5.tar.gz
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner# The local file gets tried first, and if not usable the remote on gets fetched.
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner# If both are unset or set to an empty string, programatica support is skipped.
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerGHCVERSION := $(shell ghc --numeric-version)
55cf6e01272ec475edea32aa9b7923de2d36cb42Christian Maederifneq ($(findstring 7., $(GHCVERSION)),)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerGHC7RTSOPTS := -rtsopts
30f14756e4409a1ce4f17f26757b667ae9bbde64Christian Maederendif
30f14756e4409a1ce4f17f26757b667ae9bbde64Christian Maeder
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerOSNAME := $(shell uname -s)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerOSVERS := $(shell uname -v 2>/dev/null)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elknerifneq ($(findstring SunOS, $(OSNAME)),)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner TAR = gtar
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner PATCH = gpatch
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner ifneq ($(findstring Generic, $(OSVERS)),)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner SUNRUNPATH = -optl-R/opt/csw/lib
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner FIXED_GLADE = 0
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner else
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner FIXED_GLADE = 1
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner endif
29703a78d99e901a34d0eadd79c5d0c4c6898489Christian Maederelse
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner TAR = tar
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner PATCH = patch
29703a78d99e901a34d0eadd79c5d0c4c6898489Christian Maederendif
29703a78d99e901a34d0eadd79c5d0c4c6898489Christian Maeder
ae7ff2666f63daf6974b3c89cdc0f22eafa2692dChristian MaederHC = ghc -optl-s -XTemplateHaskell -threaded $(GHC7RTSOPTS)
30f14756e4409a1ce4f17f26757b667ae9bbde64Christian Maeder
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerHCPKG := ghc-pkg
79bc8f5fe2f1444e87da973a07d7cb9fc9342c22Christian Maeder
57026bc09337d158b89775048a9bcc9c17d825caChristian MaederHAXMLVERSION = $(shell $(HCPKG) latest HaXml)
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroederifneq ($(findstring HaXml-1.2, $(HAXMLVERSION)),)
57026bc09337d158b89775048a9bcc9c17d825caChristian MaederHAXML_PACKAGE = -DHAXML
57026bc09337d158b89775048a9bcc9c17d825caChristian Maederendif
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroederifneq ($(findstring HaXml-1.20, $(HAXMLVERSION)),)
3dde4051c307b609159a097f08a05108fdd036efJonathan von SchroederHAXML_PACKAGE_COMPAT = -DHAXML_COMPAT
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroederendif
57026bc09337d158b89775048a9bcc9c17d825caChristian Maeder
3162eeb73755815cd3b6dc79ca4f65afa61d510dChristian MaederTARVERSION = $(shell $(HCPKG) latest tar)
3922f237bd762ca3a06308c910eb5b7d8acb8b7bChristian Maederifneq ($(findstring 0., $(TARVERSION)),)
2686d4438ffde954ffbb3a3f307642a893b33570Christian MaederTAR_PACKAGE = -DTAR_PACKAGE
2686d4438ffde954ffbb3a3f307642a893b33570Christian Maederendif
2686d4438ffde954ffbb3a3f307642a893b33570Christian Maeder
3162eeb73755815cd3b6dc79ca4f65afa61d510dChristian MaederUNIXVERSION = $(shell $(HCPKG) latest unix)
1bfe9bf8616b243f12d79db81ca6b64211e53068Christian Maederifneq ($(findstring 2., $(UNIXVERSION)),)
e1c309b2dbf9a0415c78cbbcbcb2b5ba5d10b776Christian MaederUNIX_PACKAGE = -DUNIX
e1c309b2dbf9a0415c78cbbcbcb2b5ba5d10b776Christian Maederendif
e1c309b2dbf9a0415c78cbbcbcb2b5ba5d10b776Christian Maeder
3162eeb73755815cd3b6dc79ca4f65afa61d510dChristian MaederGLADEVERSION = $(shell $(HCPKG) latest glade)
3c39e5cbfd4e6d547e2f7a9505a5d39c32118186cmaederifneq ($(findstring 0.12, $(GLADEVERSION)),)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner GLADE_PACKAGE = -DGTKGLADE $(SUNRUNPATH)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner ifneq ($(FIXED_GLADE),1)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner GLADE_PACKAGE += -DGTK12
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner endif
3c39e5cbfd4e6d547e2f7a9505a5d39c32118186cmaederendif
3c39e5cbfd4e6d547e2f7a9505a5d39c32118186cmaederifneq ($(findstring 0.13, $(GLADEVERSION)),)
29703a78d99e901a34d0eadd79c5d0c4c6898489Christian MaederGLADE_PACKAGE = -DGTKGLADE $(SUNRUNPATH)
79bc8f5fe2f1444e87da973a07d7cb9fc9342c22Christian Maederendif
79bc8f5fe2f1444e87da973a07d7cb9fc9342c22Christian Maeder
3162eeb73755815cd3b6dc79ca4f65afa61d510dChristian MaederHASKELINEVERSION = $(shell $(HCPKG) latest haskeline)
e4aeced5394758cc762e8817d031855cc1abb02cMarkus Grossifneq ($(findstring 0.6, $(HASKELINEVERSION)),)
e4aeced5394758cc762e8817d031855cc1abb02cMarkus GrossHASKELINE_PACKAGE = -DHASKELINE
79bc8f5fe2f1444e87da973a07d7cb9fc9342c22Christian Maederendif
793b59c0635d5925018de0a4f6f763449fca6b3eChristian Maederifneq ($(findstring 0.7, $(HASKELINEVERSION)),)
793b59c0635d5925018de0a4f6f763449fca6b3eChristian MaederHASKELINE_PACKAGE = -DHASKELINE
793b59c0635d5925018de0a4f6f763449fca6b3eChristian Maederendif
79bc8f5fe2f1444e87da973a07d7cb9fc9342c22Christian Maeder
902d299c0b5130110b75962b4b1dbf19d7227264Christian MaederHEXPATVERSION = $(shell $(HCPKG) latest hexpat)
742671cd03de37ede2ad3acdf94bdced74c3cd75Christian Maederifneq ($(findstring 0., $(HEXPATVERSION)),)
f0a8cb240fea2ac6868275be657f48f4470d9932Ewaryst SchulzHEXPAT_PACKAGE = -DHEXPAT
f0a8cb240fea2ac6868275be657f48f4470d9932Ewaryst Schulzendif
f0a8cb240fea2ac6868275be657f48f4470d9932Ewaryst Schulz
3162eeb73755815cd3b6dc79ca4f65afa61d510dChristian MaederHTTPVERSION = $(shell $(HCPKG) latest HTTP)
5c8427a02f8437d550612667add2996c0282e57fChristian Maederifneq ($(findstring 4000., $(HTTPVERSION)),)
c1daf531c303b260d71d799c638a039682c00845Christian Maederelse
e7c56dd52801632f689ad0986bbae26505d67d7cChristian MaederHTTP_PACKAGE = -DNOHTTP
c1daf531c303b260d71d799c638a039682c00845Christian Maederendif
c1daf531c303b260d71d799c638a039682c00845Christian Maeder
3162eeb73755815cd3b6dc79ca4f65afa61d510dChristian MaederUNIVERSION = $(shell $(HCPKG) latest uni-uDrawGraph)
79bc8f5fe2f1444e87da973a07d7cb9fc9342c22Christian Maederifneq ($(findstring 2., $(UNIVERSION)),)
91b3380a74afbf09dc0e7a54c9ee6de26dfbc42aChristian MaederUNI_PACKAGE = -DUNI_PACKAGE
79bc8f5fe2f1444e87da973a07d7cb9fc9342c22Christian Maederendif
79bc8f5fe2f1444e87da973a07d7cb9fc9342c22Christian Maeder
961087225d1d2b9534152a346d1a3755ed952fcdJens ElknerPFE_SETUP_FILE := programatica/tools/Setup.hs
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner# If programatica src, i.e. Setup.hs et. al. is there ...
961087225d1d2b9534152a346d1a3755ed952fcdJens ElknerPFE_SETUP := $(shell ls -1 $(PFE_SETUP_FILE) 2>/dev/null )
961087225d1d2b9534152a346d1a3755ed952fcdJens Elknerifneq ($(PFE_SETUP),)
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner# check for haskell programatica module ...
3162eeb73755815cd3b6dc79ca4f65afa61d510dChristian MaederPROGRAMATICAVERSION = $(shell $(HCPKG) latest programatica)
79bc8f5fe2f1444e87da973a07d7cb9fc9342c22Christian Maederifneq ($(findstring 1.0, $(PROGRAMATICAVERSION)),)
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner# and enable programatica support
961087225d1d2b9534152a346d1a3755ed952fcdJens ElknerPFE_FLAGS := -package programatica -DPROGRAMATICA
961087225d1d2b9534152a346d1a3755ed952fcdJens Elknerelse
961087225d1d2b9534152a346d1a3755ed952fcdJens ElknerPFE_FLAGS :=
961087225d1d2b9534152a346d1a3755ed952fcdJens Elknerendif
79bc8f5fe2f1444e87da973a07d7cb9fc9342c22Christian Maederendif
79bc8f5fe2f1444e87da973a07d7cb9fc9342c22Christian Maeder
eae0d62755147d991cc3e903f74f98ac31a7cd42Christian MaederWAIEXTVERSION = $(shell $(HCPKG) latest wai-extra)
3162eeb73755815cd3b6dc79ca4f65afa61d510dChristian MaederWARPVERSION = $(shell $(HCPKG) latest warp)
853f27e556cb4e8c53f535df8e7b0ad665cf9bbcnotanartistHTTPTYPESVERSION = $(shell $(HCPKG) latest http-types)
8723ec450f2e7a024230467c0c28a3f154905483cmaederifneq ($(findstring -1., $(WARPVERSION)),)
8723ec450f2e7a024230467c0c28a3f154905483cmaeder ifneq ($(findstring -1., $(WAIEXTVERSION)),)
853f27e556cb4e8c53f535df8e7b0ad665cf9bbcnotanartist ifneq ($(findstring .8, $(HTTPTYPESVERSION)),)
853f27e556cb4e8c53f535df8e7b0ad665cf9bbcnotanartist SERVER_FLAG = -DSERVER -DWARP1
853f27e556cb4e8c53f535df8e7b0ad665cf9bbcnotanartist else
853f27e556cb4e8c53f535df8e7b0ad665cf9bbcnotanartist SERVER_FLAG = -DSERVER -DWARP1 -DHTTPTYPES
853f27e556cb4e8c53f535df8e7b0ad665cf9bbcnotanartist endif
f926f6846c707d8ef76a85f430168bad51a5085fChristian Maeder endif
f926f6846c707d8ef76a85f430168bad51a5085fChristian Maederendif
8723ec450f2e7a024230467c0c28a3f154905483cmaederifneq ($(findstring -2., $(WARPVERSION)),)
8723ec450f2e7a024230467c0c28a3f154905483cmaeder ifneq ($(findstring -2., $(WAIEXTVERSION)),)
3f8a8ae9e09f8c80522448dbb6f5b27d6828ed5eChristian Maeder SERVER_FLAG = -DSERVER
3f8a8ae9e09f8c80522448dbb6f5b27d6828ed5eChristian Maeder endif
3f8a8ae9e09f8c80522448dbb6f5b27d6828ed5eChristian Maederendif
8723ec450f2e7a024230467c0c28a3f154905483cmaederifneq ($(findstring -3., $(WARPVERSION)),)
8723ec450f2e7a024230467c0c28a3f154905483cmaeder ifneq ($(findstring -3., $(WAIEXTVERSION)),)
8723ec450f2e7a024230467c0c28a3f154905483cmaeder SERVER_FLAG = -DSERVER -DWARP3
8723ec450f2e7a024230467c0c28a3f154905483cmaeder endif
8723ec450f2e7a024230467c0c28a3f154905483cmaederendif
8723ec450f2e7a024230467c0c28a3f154905483cmaeder
4e9e95ba35a68f3c767bc0b23ebf9e904e442517Christian Maederifneq ($(strip $(UNI_PACKAGE)),)
b6d11ac9a9c43ae636a4d968eb7542748b46296dChristian Maeder ifeq ($(strip $(HTTP_PACKAGE)),)
b6d11ac9a9c43ae636a4d968eb7542748b46296dChristian Maeder TESTTARGETFILES += SoftFOL/tests/CMDL_tests.hs
b6d11ac9a9c43ae636a4d968eb7542748b46296dChristian Maeder endif
79bc8f5fe2f1444e87da973a07d7cb9fc9342c22Christian Maederendif
79bc8f5fe2f1444e87da973a07d7cb9fc9342c22Christian Maeder
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elknerifneq ($(findstring Darwin, $(OSNAME)),)
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerHASKELINE_PACKAGE :=
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerGLADE_PACKAGE :=
e8b72918958e1c69ae8f509a475050e2a324d521Christian Maederendif
e8b72918958e1c69ae8f509a475050e2a324d521Christian Maeder
961087225d1d2b9534152a346d1a3755ed952fcdJens ElknerHC_OPTS_WITHOUTGLADE = $(PARSEC_FLAG) \
e1c309b2dbf9a0415c78cbbcbcb2b5ba5d10b776Christian Maeder $(TIME_PACKAGE) $(TAR_PACKAGE) $(HTTP_PACKAGE) $(UNIX_PACKAGE) \
e4f0eaffd002e9e553ee113be33f9aa6e4181c43Christian Maeder $(UNI_PACKAGE) $(HASKELINE_PACKAGE) $(HEXPAT_PACKAGE) \
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroeder $(PFE_FLAGS) $(SERVER_FLAG) $(HAXML_PACKAGE) $(HAXML_PACKAGE_COMPAT) \
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroeder -DRDFLOGIC -DCASLEXTENSIONS
a91757fe2b73b73c43f41b6aa29876a1ae9e9b1bChristian Maeder
a91757fe2b73b73c43f41b6aa29876a1ae9e9b1bChristian Maeder# for profiling (or a minimal hets) comment out the previous two package lines
a91757fe2b73b73c43f41b6aa29876a1ae9e9b1bChristian Maeder# and the $(GLADE_PACKAGE) below
b36f451c8ccd631dac70b541450c880b65d86f3bChristian Maeder
961087225d1d2b9534152a346d1a3755ed952fcdJens ElknerHC_OPTS = $(HC_OPTS_WITHOUTGLADE) $(GLADE_PACKAGE)