#
# This file is part of Barista.
# Copyright (C) 2007-2013 Xavier Clerc.
#
# Barista is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Barista is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

default: compile run diff clean

ifeq ($(COVERAGE),)
LIBRARIES=$(patsubst %,%.$(LIB_EXT),bigarray camomile unix zip str baristaLibrary)
INCLUDES=-I ../../_build -I +zip -I ../ocaml
else
LIBRARIES=$(patsubst %,%.$(LIB_EXT),bisect bigarray camomile unix zip str baristaLibrary)
INCLUDES=-I ../../_build -I +zip -I +bisect -I ../ocaml
endif

compile: FORCE
	@mkdir -p pack
	@$(COMP) $(FLAGS) $(INCLUDES) $(LIBRARIES) ../ocaml/common.ml source.ml -o prog.$(PROG_EXT)

run: FORCE
	@$(RUN_PROG) ./prog.$(PROG_EXT)
	@$(RUN_JAVA) $(CLASS_NAME) $(RUN_PARAMS) > result

diff: FORCE
	@diff -q result reference

clean: FORCE
	@rm -f ./prog.$(PROG_EXT)
	@rm -f *.cm* *.jo *.o
	@rm -fr pack
	@rm -f result

FORCE:
