summaryrefslogtreecommitdiff
path: root/otherlibs/systhreads/Makefile.nt
blob: fe1de4f11290b8406b9eb4746a97fd82bfc55ff6 (plain)
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
70
71
72
73
74
75
76
77
include ../../config/Makefile.nt

# Compilation options
CAMLC=..\..\boot\ocamlrun ..\..\boot\ocamlc -I ..\..\stdlib -I ..\win32unix
CAMLOPT=..\..\boot\ocamlrun ..\..\ocamlopt -I ..\..\stdlib -I ..\win32unix

BYTECODE_C_OBJS=win32_b.obj
NATIVECODE_C_OBJS=win32_n.obj

THREAD_OBJS=thread.cmo mutex.cmo condition.cmo event.cmo threadUnix.cmo

GENFILES=thread.ml

all: libthreads.lib threads.cma

allopt: libthreadsnat.lib threads.cmxa

libthreads.lib: $(BYTECODE_C_OBJS)
	rm -f libthreads.lib
	$(MKLIB)libthreads.lib $(BYTECODE_C_OBJS)

win32_b.obj: win32.c
	$(BYTECC) -O -I..\..\byterun $(BYTECCCOMPOPTS) -c win32.c
	mv win32.obj win32_b.obj

libthreadsnat.lib: $(NATIVECODE_C_OBJS)
	rm -f libthreadsnat.lib
	$(MKLIB)libthreadsnat.lib $(NATIVECODE_C_OBJS)

win32_n.obj: win32.c
	$(NATIVECC) -DNATIVE_CODE -O -I..\..\asmrun -I..\..\byterun $(NATIVECCCOMPOPTS) -c win32.c
	mv win32.obj win32_n.obj

threads.cma: $(THREAD_OBJS)
	$(CAMLC) -a -o threads.cma $(THREAD_OBJS)

threads.cmxa: $(THREAD_OBJS:.cmo=.cmx)
	$(CAMLOPT) -a -o threads.cmxa $(THREAD_OBJS:.cmo=.cmx)

$(THREAD_OBJS:.cmo=.cmx): ..\..\ocamlopt

thread.ml: thread_win32.ml
	cp thread_win32.ml thread.ml

partialclean:
	rm -f *.cm*

clean: partialclean
	rm -f libthreads*.lib *.obj
	rm -f $(GENFILES)

install:
	cp libthreads.lib $(LIBDIR)/libthreads.lib
	if not exist $(LIBDIR)\threads mkdir $(LIBDIR)\threads
	cp $(THREAD_OBJS:.cmo=.cmi) threads.cma $(LIBDIR)/threads
	rm -f $(LIBDIR)/threads/stdlib.cma

installopt:
	cp libthreadsnat.lib $(LIBDIR)/libthreadsnat.lib
	cp $(THREAD_OBJS:.cmo=.cmx) threads.cmxa threads.lib $(LIBDIR)/threads

.SUFFIXES: .ml .mli .cmo .cmi .cmx

.mli.cmi:
	$(CAMLC) -c $(COMPFLAGS) $<

.ml.cmo:
	$(CAMLC) -c $(COMPFLAGS) $<

.ml.cmx:
	$(CAMLOPT) -c $(COMPFLAGS) $<

depend:
#	gcc -MM -I../../byterun *.c > .depend
	..\..\boot\ocamlrun ../../tools/ocamldep *.mli *.ml >> .depend

include .depend