Files
mercury/extras/morphine/non-regression-tests/Mmake.common
Tyson Dowd c76db04aab Add Opium-M in the extras. (committed on behalf of Erwan Jahier).
Estimated hours taken: 1000

Add Opium-M in the extras.  (committed on behalf of Erwan Jahier).

extras/opium_m/copyright.txt:
	The copyright for Opium-M.

extras/opium_m/VERSION:
extras/opium_m/README:
extras/opium_m/opium-mode.el:
	An emacs mode designed to write opium scenario.

extras/opium_m/INSTALL-OPIUM-M:
	Opium-M installation script.


extras/opium_m/source/interactive_queries.op:
extras/opium_m/source/browse.op:
extras/opium_m/source/control_flow.op:
extras/opium_m/source/coprocess_M.op:
extras/opium_m/source/opium_kernel_M.op:
extras/opium_m/source/current_arg_M.op:
extras/opium_m/source/current_slots_M.op:
extras/opium_m/source/display_M.op:
extras/opium_m/source/source_M.op:
extras/opium_m/source/event_attributes_M.op:
extras/opium_m/source/step_by_step_M.op:
extras/opium_m/source/exec_control_M.op:
extras/opium_m/source/forward_move_M.op:
extras/opium_m/source/load_Opium-M.pl:
extras/opium_m/source/make_scenario-M.pl:
extras/opium_m/source/load_Opium-M_without_banner.pl:
extras/opium_m/source/load_scenario-M.pl:
	The Opium-M source files.

extras/opium_m/source/partch.autoload:
extras/opium_m/source/partch.interface:
extras/opium_m/source/partch.parameter:
extras/opium_m/source/partch.scenario_handler:
extras/opium_m/source/partch.error:
extras/opium_m/source/partch.types:
extras/opium_m/source/partch.translate:
extras/opium_m/source/partch.util.pl:
extras/opium_m/source/partch.make:
extras/opium_m/source/partch.scenario:
	Patches to create the scenario handler for Opium-M. autoload.op,
	etc.  are part of the Eclipse distribution; to avoid licensing
	issues, we copy thoses files from the Eclipse installation
	directory during the installation and then we patch them using
	those files.


extras/opium_m/non-regression-tests/*:
	Non regression tests for Opium-M.

extras/opium_m/non-regression-tests/queens.m:
extras/opium_m/non-regression-tests/test_vars.m:
extras/opium_m/non-regression-tests/test_listing.m:
	Mercury files that are tested.

extras/opium_m/non-regression-tests/browse.in:
extras/opium_m/non-regression-tests/queens.in:
extras/opium_m/non-regression-tests/test_vars.in:
	Input of the non regression tests.

extras/opium_m/non-regression-tests/queens.exp:
extras/opium_m/non-regression-tests/test_vars.exp:
extras/opium_m/non-regression-tests/listing_output.exp:
	Expected output of the non regression tests.

extras/opium_m/non-regression-tests/runtests:
extras/opium_m/non-regression-tests/Mmakefile:
	To perform the non regression tests.

extras/opium_m/non-regression-tests/Mmake.common:
extras/opium_m/non-regression-tests/shutdown:
extras/opium_m/non-regression-tests/startup:
extras/opium_m/non-regression-tests/handle_options:
	Those files are copied from the Mercury tests repository.


extras/opium_m/scripts/exec_mercury_program:
	Script that is used to run Mercury programs under the control of
	Opium-M.

extras/opium_m/scripts/fixmanual:
	Script that patch the output of `manual' command (which automaticly
	generates the Opium-M Reference Manual).
1999-11-11 04:52:27 +00:00

84 lines
2.5 KiB
Plaintext

#-----------------------------------------------------------------------------#
#
# Note: Mmake lets you override MCFLAGS for a particular file by setting
# MCFLAGS-foo. Similarly, you can override GRADEFLAGS for a particular
# file by setting both GRADEFLAGS-foo and (for compiling the foo_init.c
# file) GRADEFLAGS-foo_init.
#
# override this with `mmake HAVE_NUPROLOG=yes'
# if you want to rebuild the `.exp' files.
HAVE_NUPROLOG=no
DIFF_OPTS=-c
#-----------------------------------------------------------------------------#
# .PRECIOUS: %.mod %.c %.o %_init.c %.no %.nu %_init.nl %_init.no
%_init.c: Entry
#
# If there is a `.inp' file, then we pipe that in as the command's input.
# Then we run the command, with stdout and stderr both redirected to the
# `.out' file. Finally if the command fails (returns non-zero exit status),
# we print out the contents of the `.out' file. We use `grep . $@ /dev/null'
# to print out the contents, because that precedes each line of output with
# the filename, which is helpful when running a parallel make.
#
%.out: %
{ [ -f $*.inp ] && cat $*.inp; } | ./$< > $@ 2>&1 || \
{ grep . $@ /dev/null; exit 1; }
#
# For some test cases, there is more than one valid output.
# We try matching the output with the `.exp' file, and if that
# doesn't succeed, and there is a `.exp2' file, then we try matching
# against that too.
#
%.res: %.exp %.out
-rm -f $@
diff $(DIFF_OPTS) $*.exp $*.out > $@ || \
{ [ -f $*.exp2 ] && diff $(DIFF_OPTS) $*.exp2 $*.out > $@; }
#-----------------------------------------------------------------------------#
clean_local: clean_out clean_res
clean_mc: clean_c clean_o clean_out clean_res
clean_out:
rm -f *.out
clean_exp:
rm -f *.exp
clean_res:
rm -f *.res
#
# The `foo' targets make `foo_local' in the current directory before
# recursively making `foo' in all subdirectories. The recursive part
# is handled in individual Mmakefiles.
#
.PHONY: check_local dep_local depend_local all_local
.PHONY: check_subdirs dep_subdirs depend_subdirs realclean_subdirs \
clean_subdirs all_subdirs
check: check_local check_subdirs
dep: dep_local dep_subdirs
depend: depend_local depend_subdirs
realclean: realclean_subdirs
clean: clean_subdirs
all: all_local all_subdirs
SUBDIR_MMAKE = mmake \
GRADE='$(GRADE)' \
EXTRA_CFLAGS='$(EXTRA_CFLAGS)' \
EXTRA_MCFLAGS='$(EXTRA_MCFLAGS)'
#-----------------------------------------------------------------------------#