mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-15 01:13:30 +00:00
This file-specific setting will override a default setting of expandtabs
in $HOME/.vimrc.
*/Makefile:
*/Mmakefile:
As above.
tests/hard_coded/.gitignore:
Don't ignore the purity subdir. This ignore must have been left over
from when purity.m was a test in hard_coded, not hard_coded/purity,
and it ignored an executable, not a directory.
120 lines
3.5 KiB
Plaintext
120 lines
3.5 KiB
Plaintext
#-----------------------------------------------------------------------------#
|
|
# vim: ts=8 sw=8 noexpandtab
|
|
#-----------------------------------------------------------------------------#
|
|
# Copyright (C) 1995-2000, 2002-2003, 2005, 2007, 2009-2010, 2012 The University of Melbourne.
|
|
# This file may only be copied under the terms of the GNU General
|
|
# Public Licence - see the file COPYING in the Mercury distribution.
|
|
#-----------------------------------------------------------------------------#
|
|
|
|
# Mmake - this is Mmake file for building the Mercury profiler
|
|
|
|
MERCURY_DIR=..
|
|
LINK_STATIC=yes
|
|
include $(MERCURY_DIR)/Mmake.common
|
|
|
|
# Module-specific options should go in Mercury.options so they
|
|
# can be found by `mmc --make'.
|
|
include Mercury.options
|
|
|
|
MAIN_TARGET=all
|
|
MERCURY_MAIN_MODULES=mercury_profile
|
|
|
|
PDBS = $(patsubst %,%.pdb,$(MERCURY_MAIN_MODULES))
|
|
|
|
VPATH = $(LIBRARY_DIR) $(SSDB_DIR)
|
|
|
|
#-----------------------------------------------------------------------------#
|
|
|
|
MLFLAGS += --shared
|
|
MCFLAGS += --flags PROF_FLAGS $(CONFIG_OVERRIDE)
|
|
|
|
#-----------------------------------------------------------------------------#
|
|
|
|
.PHONY: depend
|
|
depend: mercury_profile.depend
|
|
|
|
mercury_profile.depend: PROF_FLAGS
|
|
|
|
.PHONY: all
|
|
all: mercury_profile $(TAGS_FILE_EXISTS)
|
|
|
|
#-----------------------------------------------------------------------------#
|
|
|
|
# Add some additional dependencies, so that Mmake knows to remake the
|
|
# profiler if one of the libraries changes.
|
|
|
|
ifeq ("$(filter il% csharp% java% erlang%,$(GRADE))","")
|
|
mercury_profile: $(RUNTIME_DIR)/lib$(RT_LIB_NAME).$A
|
|
mercury_profile: $(LIBRARY_DIR)/lib$(STD_LIB_NAME).$A
|
|
# XXX Should also depend on $(BOEHM_GC_DIR)/libgc(_prof).$A, but only
|
|
# if in .gc(.prof) grade.
|
|
endif
|
|
|
|
$(cs_subdir)mercury_profile_init.c: $(UTIL_DIR)/mkinit$(EXT_FOR_EXE)
|
|
|
|
ifneq ("$(filter il% csharp% java% erlang%,$(GRADE))","")
|
|
MLOBJS =
|
|
endif
|
|
|
|
# Tell the C# compiler where the stdlib assembly is.
|
|
#
|
|
ifneq ("$(filter csharp%,$(GRADE))","")
|
|
CSCFLAGS=-lib:../library -r:mer_std.dll
|
|
endif
|
|
|
|
#-----------------------------------------------------------------------------#
|
|
|
|
.PHONY: check
|
|
check: mercury_profile.check
|
|
|
|
.PHONY: ints
|
|
ints: mercury_profile.ints
|
|
|
|
#-----------------------------------------------------------------------------#
|
|
|
|
tags: .profiler_tags
|
|
|
|
.profiler_tags: $(MTAGS) $(mercury_profile.ms) $(wildcard $(LIBRARY_DIR)/*.m)
|
|
$(MTAGS) $(mercury_profile.ms) $(LIBRARY_DIR)/*.m
|
|
@touch .profiler_tags
|
|
|
|
.PHONY: tags_file_exists
|
|
tags_file_exists:
|
|
@if test ! -f tags; then echo making tags; \
|
|
$(MTAGS) $(mercury_profile.ms) $(LIBRARY_DIR)/*.m ; \
|
|
touch .profiler_tags ; \
|
|
fi
|
|
|
|
#-----------------------------------------------------------------------------#
|
|
|
|
.PHONY: dates
|
|
dates:
|
|
touch $(mercury_profile.dates)
|
|
|
|
#-----------------------------------------------------------------------------#
|
|
|
|
.PHONY: os cs ils
|
|
os: $(mercury_profile.os) $(os_subdir)mercury_profile_init.o
|
|
cs: $(mercury_profile.cs) $(cs_subdir)mercury_profile_init.c
|
|
ils: $(mercury_profile.ils)
|
|
|
|
#-----------------------------------------------------------------------------#
|
|
|
|
realclean_local:
|
|
rm -f tags PROF_FLAGS PROF_FLAGS.date
|
|
rm -f $(PDBS) vc*.pdb
|
|
|
|
#-----------------------------------------------------------------------------#
|
|
|
|
# Installation targets
|
|
|
|
.PHONY: install
|
|
install: install_profiler
|
|
|
|
.PHONY: install_profiler
|
|
install_profiler: mercury_profile
|
|
-[ -d $(INSTALL_MERC_BIN_DIR) ] || mkdir -p $(INSTALL_MERC_BIN_DIR)
|
|
cp `vpath_find mercury_profile$(EXT_FOR_EXE)` $(INSTALL_MERC_BIN_DIR)
|
|
|
|
#-----------------------------------------------------------------------------#
|