COMMON_SOURCES = \
	mySys.ml 	mySys.mli \
	myList.ml 	myList.mli \
	myMap.ml 	myMap.mli \
	tree.ml		tree.mli \
	utable.ml 	utable.mli \
	proc.ml		proc.mli \
	ptable.ml	ptable.mli \
	load.ml 	load.mli \
	stat.ml		stat.mli


LVD_SOURCES = $(COMMON_SOURCES) \
		lconfig.ml	lconfig.mli \
		lvd.ml 
VIEWER_SOURCES = $(COMMON_SOURCES) \
		stable.ml stable.mli \
		loadbar.ml loadbar.mli \
		vconfig.ml	vconfig.mli \
		hostViewer.ml hostViewer.mli \
		procViewer.ml procViewer.mli \
		myWidgets.ml myWidgets.mli \
		viewer.ml

LVD_INCDIRS = 
VIEWER_INCDIRS = +labltk

LVD_LIBS = str unix
VIEWER_LIBS = str unix labltk


OCAMLFLAGS = -dtypes
CC = gcc

LVD = SOURCES="$(LVD_SOURCES)" \
	INCDIRS="$(LVD_INCDIRS)" \
	LIBS="$(LVD_LIBS)" \
	OCAMLFLAGS=$(OCAMLFLAGS) \
	CC=$(CC) \
	RESULT=lvd

VIEWER = SOURCES="$(VIEWER_SOURCES)" \
	INCDIRS="$(VIEWER_INCDIRS)" \
	LIBS="$(VIEWER_LIBS)" \
	OCAMLFLAGS=$(OCAMLFLAGS) \
	CC=$(CC) \
	RESULT=viewer


OCAMLMAKEFILE = OCamlMakefile


all:	lvd viewer

lvd: $(LVD_SOURCES)
	$(MAKE) -f $(OCAMLMAKEFILE) $(LVD)

viewer: $(VIEWER_SOURCES)
	$(MAKE) -f $(OCAMLMAKEFILE) $(VIEWER)


opt:	lvd.opt viewer.opt

lvd.opt: $(LVD_SOURCES)
	$(MAKE) -f $(OCAMLMAKEFILE) $(LVD) nc

viewer.opt: $(VIEWER_SOURCES)
	$(MAKE) -f $(OCAMLMAKEFILE) $(VIEWER) nc


clean:	lvd.clean viewer.clean

lvd.clean:
	$(MAKE) -f $(OCAMLMAKEFILE) $(LVD) clean

viewer.clean:
	$(MAKE) -f $(OCAMLMAKEFILE) $(VIEWER) clean
