ocaml/otherlibs/str/Makefile.nt

94 lines
2.7 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, with #
# the special exception on linking described in file ../../LICENSE. #
# #
#########################################################################
# $Id$
# Makefile for the str library
!include ..\..\config\Makefile.nt
# Compilation options
CC=$(BYTECC)
CFLAGS=-I$(REGEXLIB) -I..\..\byterun
CAMLC=..\..\boot\ocamlrun ..\..\ocamlc -I ..\..\boot
CAMLOPT=..\..\boot\ocamlrun ..\..\ocamlopt -I ..\..\stdlib
REGEXLIB=regex-0.12
REGEXFLAGS=-DREGEX_MALLOC -DSTDC_HEADERS
COBJS=strstubs.obj $(REGEXLIB)\regex.obj
all: dllstr.dll libstr.lib str.cmi str.cma
allopt: libstr.lib str.cmi str.cmxa
dllstr.dll: $(COBJS:.obj=.dobj)
link /nologo /dll /out:dllstr.dll /implib:tmp.lib $(COBJS:.obj=.dobj) ..\..\byterun\ocamlrun.lib
rm tmp.*
libstr.lib: $(COBJS:.obj=.sobj)
$(MKLIB)libstr.lib $(COBJS:.obj=.sobj)
str.cma: str.cmo
$(CAMLC) -a -o str.cma str.cmo -dllib -lstr -cclib -lstr
str.cmxa: str.cmx
$(CAMLOPT) -a -o str.cmxa str.cmx -cclib -lstr
$(REGEXLIB)\regex.dobj: $(REGEXLIB)\regex.c $(REGEXLIB)\regex.h
cd $(REGEXLIB) & $(CC) $(REGEXFLAGS) $(DLLCCCOMPOPTS) -c regex.c
mv $(REGEXLIB)\regex.obj $(REGEXLIB)\regex.dobj
$(REGEXLIB)\regex.sobj: $(REGEXLIB)\regex.c $(REGEXLIB)\regex.h
cd $(REGEXLIB) & $(CC) $(REGEXFLAGS) $(BYTECCCOMPOPTS) -c regex.c
mv $(REGEXLIB)\regex.obj $(REGEXLIB)\regex.sobj
str.cmx: ..\..\ocamlopt
partialclean:
rm -f *.cm*
clean: partialclean
rm -f *.lib *.dll *.dobj *.sobj
rm -f $(REGEXLIB)/*.dobj $(REGEXLIB)/*.sobj
install:
cp dllstr.dll $(LIBDIR)\dllstr.dll
cp libstr.lib $(LIBDIR)\libstr.lib
cp str.cma str.cmi $(LIBDIR)
installopt:
cp str.cmx str.cmxa str.lib $(LIBDIR)
.SUFFIXES: .ml .mli .cmo .cmi .cmx .dobj .sobj
.mli.cmi:
$(CAMLC) -c $(COMPFLAGS) $<
.ml.cmo:
$(CAMLC) -c $(COMPFLAGS) $<
.ml.cmx:
$(CAMLOPT) -c $(COMPFLAGS) $<
.c.dobj:
$(BYTECC) $(DLLCCCOMPOPTS) $(CFLAGS) -c $<
mv $*.obj $*.dobj
.c.sobj:
$(BYTECC) $(BYTECCCOMPOPTS) $(CFLAGS) -c $<
mv $*.obj $*.sobj
depend:
str.cmo: str.cmi
str.cmx: str.cmi