summaryrefslogtreecommitdiff
path: root/otherlibs/systhreads/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'otherlibs/systhreads/Makefile')
-rw-r--r--otherlibs/systhreads/Makefile23
1 files changed, 14 insertions, 9 deletions
diff --git a/otherlibs/systhreads/Makefile b/otherlibs/systhreads/Makefile
index 259e470721..abfc3587f3 100644
--- a/otherlibs/systhreads/Makefile
+++ b/otherlibs/systhreads/Makefile
@@ -16,6 +16,7 @@ include ../../config/Makefile
CAMLC=../../boot/ocamlrun ../../ocamlc -I ../../stdlib -I ../unix
CAMLOPT=../../boot/ocamlrun ../../ocamlopt -I ../../stdlib -I ../unix
+MKLIB=../../tools/ocamlmklib
BYTECODE_C_OBJS=posix_b.o
NATIVECODE_C_OBJS=posix_n.o
@@ -29,28 +30,27 @@ all: libthreads.a threads.cma
allopt: libthreadsnat.a threads.cmxa
libthreads.a: $(BYTECODE_C_OBJS)
- rm -f libthreads.a
- ar rc libthreads.a $(BYTECODE_C_OBJS)
+ $(MKLIB) -o threads $(BYTECODE_C_OBJS) $(PTHREAD_LINK)
posix_b.o: posix.c
- $(BYTECC) -O -I../../byterun $(BYTECCCOMPOPTS) -c posix.c
+ $(BYTECC) -O -I../../byterun $(BYTECCCOMPOPTS) $(SHAREDCCCOMPOPTS) \
+ -c posix.c
mv posix.o posix_b.o
libthreadsnat.a: $(NATIVECODE_C_OBJS)
- rm -f libthreadsnat.a
- ar rc libthreadsnat.a $(NATIVECODE_C_OBJS)
+ $(MKLIB) -o threadsnat $(NATIVECODE_C_OBJS) $(PTHREAD_LINK)
posix_n.o: posix.c
$(NATIVECC) -O -I../../asmrun -I../../byterun $(NATIVECCCOMPOPTS) -DNATIVE_CODE -DTARGET_$(ARCH) -DSYS_$(SYSTEM) -c posix.c
mv posix.o posix_n.o
threads.cma: $(THREAD_OBJS)
- $(CAMLC) -a -o threads.cma -custom $(THREAD_OBJS) \
- -cclib -lthreads -cclib -lunix $(PTHREAD_LINK)
+ $(MKLIB) -ocamlc '$(CAMLC)' -o threads $(THREAD_OBJS) \
+ -cclib -lunix $(PTHREAD_LINK)
threads.cmxa: $(THREAD_OBJS:.cmo=.cmx)
- $(CAMLOPT) -a -o threads.cmxa $(THREAD_OBJS:.cmo=.cmx) \
- -cclib -lthreadsnat -cclib -lunix $(PTHREAD_LINK)
+ $(MKLIB) -ocamlopt '$(CAMLOPT)' -o threads -oc threadsnat \
+ $(THREAD_OBJS:.cmo=.cmx) -cclib -lunix $(PTHREAD_LINK)
$(THREAD_OBJS:.cmo=.cmx): ../../ocamlopt
@@ -65,15 +65,20 @@ clean: partialclean
rm -f $(GENFILES)
install:
+ test -f libthreads.so && cp libthreads.so $(LIBDIR)/libthreads.so
cp libthreads.a $(LIBDIR)/libthreads.a
+ cd $(LIBDIR); $(RANLIB) libthreads.a
if test -d $(LIBDIR)/threads; then :; else mkdir $(LIBDIR)/threads; fi
cp $(THREAD_OBJS:.cmo=.cmi) threads.cma $(LIBDIR)/threads
rm -f $(LIBDIR)/threads/stdlib.cma
cp thread.mli mutex.mli condition.mli event.mli threadUnix.mli $(LIBDIR)
installopt:
+ test -f libthreadsnat.so && cp libthreadsnat.so $(LIBDIR)/libthreadsnat.so
cp libthreadsnat.a $(LIBDIR)/libthreadsnat.a
+ cd $(LIBDIR); $(RANLIB) libthreadsnat.a
cp $(THREAD_OBJS:.cmo=.cmx) threads.cmxa threads.a $(LIBDIR)/threads
+ cd $(LIBDIR)/threads; $(RANLIB) threads.a
.SUFFIXES: .ml .mli .cmo .cmi .cmx