#-----------------------------------------------------------------------------#
#-----------------------------------------------------------------------------#
# Copyright (C) 1995 University of Melbourne.
# This file may only be copied under the terms of the GNU General
# Public License - see the file COPYING in the Mercury distribution.
#-----------------------------------------------------------------------------#

# Mmake - Mmake file for the Mercury scripts

MAIN_TARGET=all

MERCURY_DIR=..
include $(MERCURY_DIR)/Mmake.common

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

SCRIPTS = mmake mc mod2c c2init mgnuc ml mprof mint \
	  sicstus_conv mtags vpath_find mercury_update_interface \
	  mkfifo_using_mknod
NUPROLOG_SCRIPTS = mnc mnl mnp
SICSTUS_SCRIPTS = msc msl msp

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

.SUFFIXES: .in

.in:
	CONFIG_FILES=$@ CONFIG_HEADERS= $(MERCURY_DIR)/config.status

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

.PHONY: all
all: $(SCRIPTS) $(NUPROLOG_SCRIPTS) $(SICSTUS_SCRIPTS) Mmake.vars

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

.PHONY: install
install: install_mmake install_scripts $(INSTALL_NUPROLOG) $(INSTALL_SICSTUS)

.PHONY: install_mmake
install_mmake: Mmake.vars Mmake.rules
	[ -d $(INSTALL_LIBDIR)/mmake ] || mkdir -p $(INSTALL_LIBDIR)/mmake
	rm -f $(INSTALL_LIBDIR)/mmake/Mmake.vars
	cp `vpath_find Mmake.vars Mmake.rules` $(INSTALL_LIBDIR)/mmake

.PHONY: install_scripts
install_scripts: $(SCRIPTS)
	[ -d $(INSTALL_BINDIR) ] || mkdir -p $(INSTALL_BINDIR)
	cp $(SCRIPTS) $(INSTALL_BINDIR) 
	for file in $(SCRIPTS); do \
		chmod u+w $(INSTALL_BINDIR)/$$file ;\
	done

.PHONY: install_nuprolog
install_nuprolog: $(NUPROLOG_SCRIPTS)
	[ -d $(INSTALL_BINDIR) ] || mkdir -p $(INSTALL_BINDIR)
	cp $(NUPROLOG_SCRIPTS) $(INSTALL_BINDIR) 
	for file in $(NUPROLOG_SCRIPTS); do \
		chmod u+w $(INSTALL_BINDIR)/$$file ;\
	done

.PHONY: install_sicstus
install_sicstus: $(SICSTUS_SCRIPTS)
	[ -d $(INSTALL_BINDIR) ] || mkdir -p $(INSTALL_BINDIR)
	cp $(SICSTUS_SCRIPTS) $(INSTALL_BINDIR) 
	for file in $(SICSTUS_SCRIPTS); do \
		chmod u+w $(INSTALL_BINDIR)/$$file ;\
	done

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

.PHONY: uninstall
uninstall:
	-rm -r $(INSTALL_LIBDIR)/mmake
	-cd $(INSTALL_BINDIR) && \
	rm $(SCRIPTS) $(SICSTUS_SCRIPTS) $(NUPROLOG_SCRIPTS)

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

realclean: clean_scripts

.PHONY: clean_scripts
clean_scripts:
	for file in *.in; do rm -f `basename $$file .in`; done

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