#-----------------------------------------------------------------------------#
# Copyright (C) 1995 University of Melbourne.
# See the file COPYING for copying permission.
#-----------------------------------------------------------------------------#

# Mmake.common - this is the part of the makefiles
# for building the Mercury implementation that is shared
# between all the subdirectories.  It also contains all
# the parameters that might need to be modified when installing
# Mercury on a new machine.

#-----------------------------------------------------------------------------#

# Specify the locations for installing things.
# These directories can all be modified independantly.
# In particular, you might want to find a better place for the DVI and
# HTML files.

INSTALL_PREFIX		= /usr/local/contrib
INSTALL_BINDIR 		= $(INSTALL_PREFIX)/bin
INSTALL_LIBDIR 		= $(INSTALL_PREFIX)/lib/mercury
INSTALL_INFO_DIR 	= $(INSTALL_PREFIX)/info
INSTALL_DVI_DIR 	= $(INSTALL_PREFIX)/lib/mercury/doc
INSTALL_HTML_DIR 	= $(INSTALL_PREFIX)/lib/mercury/html

# Specify the compilation model to use for compiling the compiler
GRADE			= asm_fast.gc

# Specify the additional compilation models to install the library for
LIBGRADES  		= asm_fast debug.gc debug fast

# Specify the ranlib program, if needed.
# RANLIB  		= ranlib
RANLIB  		= :

# Specify the name of the Sicstus Prolog interpreter.
SP			= sp

# Specify SO as `so' if your operating system supports `.so' shared libraries,
# or as `a' if it doesn't.  Currently shared libraries work on Solaris
# and maybe also on Irix 5.
SO			= so

# Specify any special flags to pass to the C compiler when creating objects
# for a shared library (e.g. -fpic or -fPIC for gcc).
# Note that for sparc-sun-solaris2.3 (and maybe other architectures?)
# for some completely unknown reason (maybe the asm label hack causes
# trouble??) things fail if you use -fpic or -fPIC, so leave this blank.
# For Irix 5, PIC is the default, so leave this blank.
PIC			=

# Specify PIC_O as `pic_o' if any special $(PIC) flags are required (see
# above), and as `o' otherwise.  This is used to ensure that we don't bother
# to build the .pic_o files if $(PIC) is null, since we can just reuse the .o
# files.
PIC_O			= o

# Specify the command to link a shared library
# LINK_SHARED_OBJ  	= ld -shared	# for Irix 5
# LINK_SHARED_OBJ  	= gcc -assert nodefinitions
#					# for SunOS 4 (completely untested)
LINK_SHARED_OBJ  	= gcc -G	# for Solaris

# You should not need to modify anything below here

#-----------------------------------------------------------------------------#

INSTALL_MODULE_DIR	= $(INSTALL_LIBDIR)/modules
INSTALL_INT_DIR		= $(INSTALL_LIBDIR)/ints
INSTALL_INC_DIR		= $(INSTALL_LIBDIR)/inc
INSTALL_MMAKE_DIR 	= $(INSTALL_LIBDIR)/mmake
FULLARCH		= `fullarch`
INSTALL_MERC_BIN_DIR	= $(INSTALL_LIBDIR)/bin/$(FULLARCH)
INSTALL_MERC_GC_LIB_DIR	= $(INSTALL_LIBDIR)/lib/$(FULLARCH)
INSTALL_MERC_LIB_DIR	= $(INSTALL_LIBDIR)/lib/$(GRADE)/$(FULLARCH)
INSTALL_NU_ARCH_DIR 	= $(INSTALL_LIBDIR)/nuprolog/$(FULLARCH)
INSTALL_NU_DIR		= $(INSTALL_LIBDIR)/nuprolog
INSTALL_NU_ARCH_DIR 	= $(INSTALL_LIBDIR)/nuprolog/$(FULLARCH)
INSTALL_SP_DIR		= $(INSTALL_LIBDIR)/sicstus
INSTALL_SP_ARCH_DIR 	= $(INSTALL_LIBDIR)/sicstus/$(FULLARCH)

SCRIPTS_DIR = $(MERCURY_DIR)/scripts
RUNTIME_DIR = $(MERCURY_DIR)/runtime
LIBRARY_DIR = $(MERCURY_DIR)/library
BOEHM_GC_DIR = $(MERCURY_DIR)/boehm_gc

# Specify the location of the system .mod files 

SYS_MODS = \
	$(RUNTIME_DIR)/engine.mod \
	$(RUNTIME_DIR)/io.mod \
	$(RUNTIME_DIR)/wrapper.mod \
	$(RUNTIME_DIR)/call.mod

#-----------------------------------------------------------------------------#

-include $(MERCURY_DIR)/Mmake.params

#-----------------------------------------------------------------------------#
