# Makefile using -no-alias-deps for all files, no need to link lib.cmo

SOURCES = A.ml B.ml C.ml
OBJECTS = $(SOURCES:%.ml=Lib%.cmo)
NOBJECTS = $(OBJECTS:%.cmo=%.cmx)

byte: main.byt2
opt:  main.opt2

main.byt2: lib2.cma main.cmo
	$(OCAMLC) lib2.cma main.cmo -o $@

lib2.cma: $(OBJECTS)
	$(OCAMLC) -a -o $@ $(OBJECTS)

lib.cmi: lib.mli
	$(OCAMLC) -c -w -49 $<

Lib%.cmo: %.ml
	$(OCAMLC) -c -open Lib -o $@ $<

main.opt2: lib.cmxa main.cmx
	$(OCAMLOPT) lib.cmxa main.cmx -o $@

lib.cmxa: $(NOBJECTS)
	$(OCAMLOPT) -a -o $@ $(NOBJECTS)

lib.cmx: lib.ml
	$(OCAMLOPT) -c -no-alias-deps -w -49 $<

Lib%.cmx: %.ml
	$(OCAMLOPT) -c -open Lib -o $@ $<

include depend.mk2

BASEDIR=../..
include $(BASEDIR)/makefiles/Makefile.common
COMPFLAGS = -no-alias-deps   # Used by $(OCAMLC)
