Files
mercury/profiler/Mmakefile
Zoltan Somogyi d33273d033 Tell vim not to expand tabs in Makefiles.
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.
2015-01-08 22:07:29 +11:00

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)
#-----------------------------------------------------------------------------#