SEDCOMMANDS=\
  -e 's|LIBDIR|$(LIBDIR)|'

CAML = ocamlc

LIBDIR = ${HOME}/lib/lucid-synchrone
BINDIR = ${HOME}/bin
MANEXT=1
MANDIR = ${HOME}/man/man$(MANEXT)
COMPILER_DIR = ../compiler

BINARY = lucysim
LAUNCH = lucys

OBJS =  $(COMPILER_DIR)/misc.cmo \
	$(COMPILER_DIR)/location.cmo \
	$(COMPILER_DIR)/lucy.cmo \
	$(COMPILER_DIR)/lucy_aux.cmo \
	$(COMPILER_DIR)/modules.cmo \
	$(COMPILER_DIR)/initialization.cmo \
	$(COMPILER_DIR)/types.cmo \
	$(COMPILER_DIR)/clocks.cmo \
	ntree.cmo \
	simul.cmo \
	lucysim.cmo

all: $(BINARY) libx

$(BINARY): $(OBJS) 
	$(CAML) -custom -o $(BINARY) $(OBJS)

libx: 
	(cd lib ; make)

install: 
	(cd lib ; make LIBDIR="$(LIBDIR)" install)
	sed $(SEDCOMMANDS) \
	$(LAUNCH).tpl > $(LAUNCH);
	cp -f $(BINARY) $(LIBDIR)
	cp -f $(LAUNCH) $(BINDIR);
	cp -f $(LAUNCH).man $(MANDIR)
	@ echo "===================";
	@ echo "simulator installed";
	@ echo "==================="

uninstall: 
	(cd lib ; make LIBDIR="$(LIBDIR)" uninstall)
	rm -f $(BINDIR)/$(LAUNCH)
	rm -f $(LIBDIR)/$(BINARY)
	rm -f $(MANDIR)/$(LAUNCH).man;
	@ echo "=====================";
	@ echo "simulator uninstalled";
	@ echo "====================="

clean:
	(cd lib ; make clean)
	rm -f *.cmo *.cmi *.cmx

.SUFFIXES : .mli .ml .cmi .cmo


.ml.cmo:
	$(CAML) -c -g -I $(COMPILER_DIR) $<

.mli.cmi:
	$(CAML) -c -g -I $(COMPILER_DIR) $<
.ml.cmx:
	$(CAML) -c -g -I $(COMPILER_DIR) $<

