ocaml/stdlib/Makefile.nt

94 lines
2.8 KiB
Makefile

#########################################################################
# #
# Objective Caml #
# #
# Xavier Leroy, projet Cristal, INRIA Rocquencourt #
# #
# Copyright 1999 Institut National de Recherche en Informatique et #
# en Automatique. All rights reserved. This file is distributed #
# under the terms of the GNU Library General Public License. #
# #
#########################################################################
# $Id$
!include ..\config\Makefile.nt
RUNTIME=..\boot\ocamlrun
COMPILER=..\ocamlc
CAMLC=$(RUNTIME) $(COMPILER)
OPTCOMPILER=..\ocamlopt
CAMLOPT=$(RUNTIME) $(OPTCOMPILER)
CAMLDEP=..\boot\ocamlrun ..\tools\ocamldep
OBJS=pervasives.cmo array.cmo list.cmo char.cmo string.cmo sys.cmo \
hashtbl.cmo sort.cmo marshal.cmo obj.cmo \
lexing.cmo parsing.cmo \
set.cmo map.cmo stack.cmo queue.cmo stream.cmo \
buffer.cmo printf.cmo format.cmo arg.cmo printexc.cmo gc.cmo \
digest.cmo random.cmo oo.cmo genlex.cmo callback.cmo weak.cmo \
lazy.cmo filename.cmo int32.cmo int64.cmo nativeint.cmo
all: stdlib.cma std_exit.cmo camlheader camlheader_ur
allopt: stdlib.cmxa std_exit.cmx
install:
cp stdlib.cma std_exit.cmo *.cmi *.mli *.ml camlheader camlheader_ur $(LIBDIR)
installopt:
cp stdlib.cmxa stdlib.lib std_exit.obj *.cmx $(LIBDIR)
stdlib.cma: $(OBJS)
$(CAMLC) -a -o stdlib.cma $(OBJS)
stdlib.cmxa: $(OBJS:.cmo=.cmx)
$(CAMLOPT) -a -o stdlib.cmxa $(OBJS:.cmo=.cmx)
camlheader camlheader_ur: headernt.c ..\config\Makefile.nt
$(BYTECC) $(BYTECCCOMPOPTS) $(BYTECCLINKOPTS) -o camlheader. headernt.c
cp camlheader camlheader_ur
clean::
rm -f camlheader camlheader_ur
pervasives.cmi: pervasives.mli
$(CAMLC) $(COMPFLAGS) -nopervasives -c pervasives.mli
pervasives.cmo: pervasives.ml
$(CAMLC) $(COMPFLAGS) -nopervasives -c pervasives.ml
pervasives.cmx: pervasives.ml
$(CAMLOPT) $(COMPFLAGS) -nopervasives -c pervasives.ml
# oo.cmi must be compiled with -nopervasives for applets
oo.cmi: oo.mli
$(CAMLC) $(COMPFLAGS) -nopervasives -c oo.mli
.SUFFIXES: .mli .ml .cmi .cmo .cmx
.mli.cmi:
$(CAMLC) $(COMPFLAGS) -c $<
.ml.cmo:
$(CAMLC) $(COMPFLAGS) -c $<
.ml.cmx:
$(CAMLOPT) $(COMPFLAGS) -c $<
$(OBJS) std_exit.cmo: pervasives.cmi
$(OBJS:.cmo=.cmx) std_exit.cmx: pervasives.cmi
$(OBJS) std_exit.cmo: $(COMPILER)
$(OBJS:.cmo=.cmi) std_exit.cmi: $(COMPILER)
$(OBJS:.cmo=.cmx) std_exit.cmx: $(OPTCOMPILER)
clean::
rm -f *.cm* *.obj *.lib
rm -f *~
!include .depend
depend: beforedepend
$(CAMLDEP) *.mli *.ml > .depend