1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| NAME = bistro
ML = bigint.ml
MLI = bigint.mli
CMI = $(MLI:.mli=.cmi)
CMO = $(ML:.ml=.cmo)
CMX = $(ML:.ml=.cmx)
OCAMLDPE = ocamldep
CAMLFLAGS = -w Aelz -warn-error A
OCAMLC = ocamlc $(CAMLFLAGS)
OCAMLOPT = ocamlopt $(CAMLFLAGS)
OCAMLDOC = ocamldoc -html -d $(ROOT)/doc
all: .depend $(CMI) $(NAME)
byte: .depend $(CMI) $(NAME).byte
$(NAME): $(CMX)
@$(OCAMLOPT) -o $@ $(CMX)
@echo "[OK] $(NAME) linked"
$(NAME).byte: $(CMO)
@$(OCAMLC) -o $@ $(CMO)
@echo "[OK] $(NAME).byte linked"
%.cmx: %.ml
@$(OCAMLOPT) -c $<
@echo "[OK] [$<] builded"
%.cmo: %.ml
@$(OCAMLC) -c $<
@echo "[OK] [$<] builded"
%.cmi: %.mli
@$(OCAMLC) -c $<
@echo "[OK] [$<] builded"
documentation: $(CMI)
@$(OCAMLDOC) $(MLI)
@echo "[OK] Documentation"
re: fclean all
clean:
@/bin/rm -f *.cm* *.o .depend *~
@echo "[OK] clean"
fclean: clean
@/bin/rm -f $(NAME) $(NAME).byte
@echo "[OK] fclean"
.depend:
@/bin/rm -f .depend
@$(OCAMLDPE) $(MLI) $(ML) > .depend
@echo "[OK] dependencies" |
Partager