56 lines
1.3 KiB
Makefile
56 lines
1.3 KiB
Makefile
# this file is a -*- makefile -*-
|
|
|
|
#
|
|
# Copyright 2020, Data61, CSIRO (ABN 41 687 119 230)
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause
|
|
#
|
|
|
|
ifndef GLOBAL_MAKES_INCLUDED
|
|
|
|
GLOB_PFX := $(realpath $(dir $(lastword $(MAKEFILE_LIST))))
|
|
|
|
# user can use the globalmakevars.local file to provide their own definitions for
|
|
# variables
|
|
-include $(GLOB_PFX)/globalmakevars.local
|
|
CC ?= gcc
|
|
|
|
SML_COMPILER ?= mlton
|
|
#ifndef SML_COMPILER
|
|
#SML_COMPILER := $(if $(shell which mlton),mlton,poly)
|
|
#endif
|
|
|
|
ifndef ML_HOME
|
|
ML_HOME := $(shell $(GLOB_PFX)/../../isabelle/bin/isabelle getenv ML_HOME | perl -ne 'print (substr($$_,8))')
|
|
endif
|
|
|
|
ifndef LIBPOLY_DIR
|
|
LIBPOLY_DIR := $(ML_HOME)
|
|
endif
|
|
|
|
|
|
|
|
|
|
OS := $(shell uname)
|
|
MACOSP := $(findstring Darwin,$(OS))
|
|
DYLIB := $(if $(MACOSP),DYLD_LIBRARY_PATH,LD_LIBRARY_PATH)
|
|
DYLIB_SFX := $(if $(MACOSP),dylib,so)
|
|
|
|
POLY_MACHINE_LDFLAGS := $(if $(MACOSP),-segprot POLY rwx rwx,)
|
|
|
|
POLYCC := $(CC) $(POLY_CC_FLAGS) -L$(LIBPOLY_DIR) -lgmp -lpolymain -lpolyml -lstdc++ -lpthread -ldl $(POLY_MACHINE_LDFLAGS)
|
|
|
|
|
|
ifndef LIBPOLYML
|
|
LIBPOLYML := $(LIBPOLY_DIR)/libpolyml.$(DYLIB_SFX)
|
|
endif
|
|
|
|
DYLIB_VAL := $($(DYLIB))
|
|
SETDYLIB := $(DYLIB)=$(LIBPOLY_DIR)$(if $(DYLIB_VAL),:$(DYLIB_VAL),)
|
|
TOOLRUN_PFX := $(if $(findstring poly,$(SML_COMPILER)),$(SETDYLIB) ,)
|
|
POLY := $(SETDYLIB) $(ML_HOME)/poly
|
|
|
|
GLOBAL_MAKES_INCLUDED=true
|
|
|
|
endif
|