#########################################################################
#                                                                       #
#                            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.nt,v 1.17 2001/12/07 13:39:18 xleroy Exp $

!include ..\config\Makefile.nt

CC=$(NATIVECC)
CFLAGS=-I..\byterun -DNATIVE_CODE -DTARGET_$(ARCH) -DSYS_$(SYSTEM) $(NATIVECCCOMPOPTS)

COBJS=startup.obj main.obj fail.obj roots.obj signals.obj \
  misc.obj freelist.obj major_gc.obj minor_gc.obj memory.obj alloc.obj \
  compare.obj ints.obj floats.obj str.obj array.obj io.obj extern.obj \
  intern.obj hash.obj sys.obj parsing.obj gc_ctrl.obj terminfo.obj \
  md5.obj obj.obj lexing.obj win32.obj printexc.obj callback.obj \
  weak.obj compact.obj finalise.obj custom.obj globroots.obj

ASMOBJS=$(ARCH)nt.obj

OBJS=$(COBJS) $(ASMOBJS)

all: libasmrun.lib

libasmrun.lib: $(OBJS)
	rm -f libasmrun.lib
	$(MKLIB)libasmrun.lib $(OBJS)

install:
	cp libasmrun.lib $(LIBDIR)

main.c: ../byterun/main.c
	cp ../byterun/main.c main.c
misc.c: ../byterun/misc.c
	cp ../byterun/misc.c misc.c
freelist.c: ../byterun/freelist.c
	cp ../byterun/freelist.c freelist.c
major_gc.c: ../byterun/major_gc.c
	cp ../byterun/major_gc.c major_gc.c
minor_gc.c: ../byterun/minor_gc.c
	cp ../byterun/minor_gc.c minor_gc.c
memory.c: ../byterun/memory.c
	cp ../byterun/memory.c memory.c
alloc.c: ../byterun/alloc.c
	cp ../byterun/alloc.c alloc.c
array.c: ../byterun/array.c
	cp ../byterun/array.c array.c
compare.c: ../byterun/compare.c
	cp ../byterun/compare.c compare.c
ints.c: ../byterun/ints.c
	cp ../byterun/ints.c ints.c
floats.c: ../byterun/floats.c
	cp ../byterun/floats.c floats.c
str.c: ../byterun/str.c
	cp ../byterun/str.c str.c
io.c: ../byterun/io.c
	cp ../byterun/io.c io.c
extern.c: ../byterun/extern.c
	cp ../byterun/extern.c extern.c
intern.c: ../byterun/intern.c
	cp ../byterun/intern.c intern.c
hash.c: ../byterun/hash.c
	cp ../byterun/hash.c hash.c
sys.c: ../byterun/sys.c
	cp ../byterun/sys.c sys.c
parsing.c: ../byterun/parsing.c
	cp ../byterun/parsing.c parsing.c
gc_ctrl.c: ../byterun/gc_ctrl.c
	cp ../byterun/gc_ctrl.c gc_ctrl.c
terminfo.c: ../byterun/terminfo.c
	cp ../byterun/terminfo.c terminfo.c
md5.c: ../byterun/md5.c
	cp ../byterun/md5.c md5.c
obj.c: ../byterun/obj.c
	cp ../byterun/obj.c obj.c
lexing.c: ../byterun/lexing.c
	cp ../byterun/lexing.c lexing.c
printexc.c: ../byterun/printexc.c
	cp ../byterun/printexc.c printexc.c
callback.c: ../byterun/callback.c
	cp ../byterun/callback.c callback.c
weak.c: ../byterun/weak.c
	cp ../byterun/weak.c weak.c
compact.c: ../byterun/compact.c
	cp ../byterun/compact.c compact.c
finalise.c: ../byterun/finalise.c
	cp ../byterun/finalise.c finalise.c
custom.c: ../byterun/custom.c
	cp ../byterun/custom.c custom.c
meta.c: ../byterun/meta.c
	cp ../byterun/meta.c meta.c
globroots.c: ../byterun/globroots.c
	cp ../byterun/globroots.c globroots.c

LINKEDFILES=misc.c freelist.c major_gc.c minor_gc.c memory.c alloc.c array.c \
  compare.c ints.c floats.c str.c io.c extern.c intern.c hash.c sys.c \
  parsing.c gc_ctrl.c terminfo.c md5.c obj.c lexing.c printexc.c callback.c \
  weak.c compact.c meta.c custom.c main.c globroots.c

# Need special compilation rule so as not to do -I..\byterun
win32.obj: ../byterun/win32.c
	$(CC) /c $(NATIVECCCOMPOPTS) -DNATIVE_CODE ..\byterun\win32.c

clean::
	rm -f $(LINKEDFILES)

clean::
	rm -f *.obj *.lib *~

depend:
	sed -e "s/\.o/.obj/g" .depend > .depend.nt

!include .depend.nt
