summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--byterun/.depend160
-rw-r--r--byterun/Makefile22
-rwxr-xr-xbyterun/Makefile.common4
3 files changed, 171 insertions, 15 deletions
diff --git a/byterun/.depend b/byterun/.depend
index 30f015076..9e2a3d100 100644
--- a/byterun/.depend
+++ b/byterun/.depend
@@ -6,8 +6,8 @@ array.o: array.c alloc.h compatibility.h misc.h config.h ../config/m.h \
minor_gc.h
backtrace.o: backtrace.c config.h ../config/m.h ../config/s.h \
compatibility.h mlvalues.h misc.h alloc.h io.h instruct.h intext.h \
- fix_code.h exec.h startup.h stacks.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h sys.h backtrace.h
+ fix_code.h exec.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ startup.h stacks.h sys.h backtrace.h
callback.o: callback.c callback.h compatibility.h mlvalues.h config.h \
../config/m.h ../config/s.h misc.h fail.h memory.h gc.h major_gc.h \
freelist.h minor_gc.h interp.h instruct.h fix_code.h stacks.h
@@ -51,7 +51,7 @@ gc_ctrl.o: gc_ctrl.c alloc.h compatibility.h misc.h config.h \
stacks.h
globroots.o: globroots.c memory.h compatibility.h config.h ../config/m.h \
../config/s.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
- globroots.h
+ roots.h globroots.h
hash.o: hash.c mlvalues.h compatibility.h config.h ../config/m.h \
../config/s.h misc.h custom.h memory.h gc.h major_gc.h freelist.h \
minor_gc.h
@@ -105,13 +105,13 @@ printexc.o: printexc.c backtrace.h mlvalues.h compatibility.h config.h \
roots.o: roots.c finalise.h roots.h misc.h compatibility.h config.h \
../config/m.h ../config/s.h memory.h gc.h mlvalues.h major_gc.h \
freelist.h minor_gc.h globroots.h stacks.h
+signals_byt.o: signals_byt.c config.h ../config/m.h ../config/s.h \
+ compatibility.h memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h \
+ minor_gc.h osdeps.h signals.h signals_machdep.h
signals.o: signals.c alloc.h compatibility.h misc.h config.h \
../config/m.h ../config/s.h mlvalues.h callback.h fail.h memory.h gc.h \
major_gc.h freelist.h minor_gc.h roots.h signals.h signals_machdep.h \
sys.h
-signals_byt.o: signals_byt.c config.h ../config/m.h ../config/s.h \
- compatibility.h memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h \
- minor_gc.h osdeps.h signals.h signals_machdep.h
stacks.o: stacks.c config.h ../config/m.h ../config/s.h compatibility.h \
fail.h misc.h mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h \
minor_gc.h
@@ -142,8 +142,8 @@ array.d.o: array.c alloc.h compatibility.h misc.h config.h ../config/m.h \
minor_gc.h
backtrace.d.o: backtrace.c config.h ../config/m.h ../config/s.h \
compatibility.h mlvalues.h misc.h alloc.h io.h instruct.h intext.h \
- fix_code.h exec.h startup.h stacks.h memory.h gc.h major_gc.h \
- freelist.h minor_gc.h sys.h backtrace.h
+ fix_code.h exec.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ startup.h stacks.h sys.h backtrace.h
callback.d.o: callback.c callback.h compatibility.h mlvalues.h config.h \
../config/m.h ../config/s.h misc.h fail.h memory.h gc.h major_gc.h \
freelist.h minor_gc.h interp.h instruct.h fix_code.h stacks.h
@@ -187,7 +187,7 @@ gc_ctrl.d.o: gc_ctrl.c alloc.h compatibility.h misc.h config.h \
stacks.h
globroots.d.o: globroots.c memory.h compatibility.h config.h ../config/m.h \
../config/s.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
- globroots.h
+ roots.h globroots.h
hash.d.o: hash.c mlvalues.h compatibility.h config.h ../config/m.h \
../config/s.h misc.h custom.h memory.h gc.h major_gc.h freelist.h \
minor_gc.h
@@ -243,13 +243,13 @@ printexc.d.o: printexc.c backtrace.h mlvalues.h compatibility.h config.h \
roots.d.o: roots.c finalise.h roots.h misc.h compatibility.h config.h \
../config/m.h ../config/s.h memory.h gc.h mlvalues.h major_gc.h \
freelist.h minor_gc.h globroots.h stacks.h
+signals_byt.d.o: signals_byt.c config.h ../config/m.h ../config/s.h \
+ compatibility.h memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h \
+ minor_gc.h osdeps.h signals.h signals_machdep.h
signals.d.o: signals.c alloc.h compatibility.h misc.h config.h \
../config/m.h ../config/s.h mlvalues.h callback.h fail.h memory.h gc.h \
major_gc.h freelist.h minor_gc.h roots.h signals.h signals_machdep.h \
sys.h
-signals_byt.d.o: signals_byt.c config.h ../config/m.h ../config/s.h \
- compatibility.h memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h \
- minor_gc.h osdeps.h signals.h signals_machdep.h
stacks.d.o: stacks.c config.h ../config/m.h ../config/s.h compatibility.h \
fail.h misc.h mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h \
minor_gc.h
@@ -272,3 +272,139 @@ unix.d.o: unix.c config.h ../config/m.h ../config/s.h compatibility.h \
weak.d.o: weak.c alloc.h compatibility.h misc.h config.h ../config/m.h \
../config/s.h mlvalues.h fail.h major_gc.h freelist.h memory.h gc.h \
minor_gc.h
+alloc.pic.o: alloc.c alloc.h compatibility.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h custom.h major_gc.h freelist.h memory.h gc.h \
+ minor_gc.h stacks.h
+array.pic.o: array.c alloc.h compatibility.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h
+backtrace.pic.o: backtrace.c config.h ../config/m.h ../config/s.h \
+ compatibility.h mlvalues.h misc.h alloc.h io.h instruct.h intext.h \
+ fix_code.h exec.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ startup.h stacks.h sys.h backtrace.h
+callback.pic.o: callback.c callback.h compatibility.h mlvalues.h config.h \
+ ../config/m.h ../config/s.h misc.h fail.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h interp.h instruct.h fix_code.h stacks.h
+compact.pic.o: compact.c config.h ../config/m.h ../config/s.h compatibility.h \
+ finalise.h roots.h misc.h memory.h gc.h mlvalues.h major_gc.h \
+ freelist.h minor_gc.h gc_ctrl.h weak.h
+compare.pic.o: compare.c custom.h compatibility.h mlvalues.h config.h \
+ ../config/m.h ../config/s.h misc.h fail.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h
+custom.pic.o: custom.c alloc.h compatibility.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h custom.h fail.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h
+debugger.pic.o: debugger.c config.h ../config/m.h ../config/s.h \
+ compatibility.h debugger.h misc.h mlvalues.h fail.h fix_code.h \
+ instruct.h intext.h io.h stacks.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h sys.h
+dynlink.pic.o: dynlink.c config.h ../config/m.h ../config/s.h compatibility.h \
+ alloc.h misc.h mlvalues.h dynlink.h fail.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h osdeps.h prims.h
+extern.pic.o: extern.c alloc.h compatibility.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h custom.h fail.h gc.h intext.h io.h fix_code.h \
+ memory.h major_gc.h freelist.h minor_gc.h reverse.h
+fail.pic.o: fail.c alloc.h compatibility.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h fail.h io.h gc.h memory.h major_gc.h \
+ freelist.h minor_gc.h printexc.h signals.h stacks.h
+finalise.pic.o: finalise.c callback.h compatibility.h mlvalues.h config.h \
+ ../config/m.h ../config/s.h misc.h fail.h roots.h memory.h gc.h \
+ major_gc.h freelist.h minor_gc.h signals.h
+fix_code.pic.o: fix_code.c config.h ../config/m.h ../config/s.h \
+ compatibility.h debugger.h misc.h mlvalues.h fix_code.h instruct.h \
+ md5.h io.h memory.h gc.h major_gc.h freelist.h minor_gc.h reverse.h
+floats.pic.o: floats.c alloc.h compatibility.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h fail.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h reverse.h stacks.h
+freelist.pic.o: freelist.c config.h ../config/m.h ../config/s.h \
+ compatibility.h freelist.h misc.h mlvalues.h gc.h gc_ctrl.h memory.h \
+ major_gc.h minor_gc.h
+gc_ctrl.pic.o: gc_ctrl.c alloc.h compatibility.h misc.h config.h \
+ ../config/m.h ../config/s.h mlvalues.h compact.h custom.h finalise.h \
+ roots.h memory.h gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h \
+ stacks.h
+globroots.pic.o: globroots.c memory.h compatibility.h config.h ../config/m.h \
+ ../config/s.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
+ roots.h globroots.h
+hash.pic.o: hash.c mlvalues.h compatibility.h config.h ../config/m.h \
+ ../config/s.h misc.h custom.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h
+instrtrace.pic.o: instrtrace.c
+intern.pic.o: intern.c alloc.h compatibility.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h custom.h fail.h gc.h intext.h io.h fix_code.h \
+ memory.h major_gc.h freelist.h minor_gc.h reverse.h
+interp.pic.o: interp.c alloc.h compatibility.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h backtrace.h callback.h debugger.h fail.h \
+ fix_code.h instrtrace.h instruct.h interp.h major_gc.h freelist.h \
+ memory.h gc.h minor_gc.h prims.h signals.h stacks.h jumptbl.h
+ints.pic.o: ints.c alloc.h compatibility.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h custom.h fail.h intext.h io.h fix_code.h \
+ memory.h gc.h major_gc.h freelist.h minor_gc.h int64_native.h
+io.pic.o: io.c config.h ../config/m.h ../config/s.h compatibility.h alloc.h \
+ misc.h mlvalues.h custom.h fail.h io.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h signals.h sys.h
+lexing.pic.o: lexing.c fail.h compatibility.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h
+main.pic.o: main.c misc.h compatibility.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h sys.h
+major_gc.pic.o: major_gc.c compact.h config.h ../config/m.h ../config/s.h \
+ compatibility.h misc.h custom.h mlvalues.h fail.h finalise.h roots.h \
+ memory.h gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h weak.h
+md5.pic.o: md5.c alloc.h compatibility.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h fail.h md5.h io.h memory.h gc.h major_gc.h \
+ freelist.h minor_gc.h reverse.h
+memory.pic.o: memory.c fail.h compatibility.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h freelist.h gc.h gc_ctrl.h major_gc.h memory.h \
+ minor_gc.h signals.h
+meta.pic.o: meta.c alloc.h compatibility.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h fail.h fix_code.h interp.h intext.h io.h \
+ major_gc.h freelist.h memory.h gc.h minor_gc.h prims.h stacks.h
+minor_gc.pic.o: minor_gc.c config.h ../config/m.h ../config/s.h \
+ compatibility.h fail.h misc.h mlvalues.h finalise.h roots.h memory.h \
+ gc.h major_gc.h freelist.h minor_gc.h gc_ctrl.h signals.h weak.h
+misc.pic.o: misc.c config.h ../config/m.h ../config/s.h compatibility.h \
+ misc.h memory.h gc.h mlvalues.h major_gc.h freelist.h minor_gc.h
+obj.pic.o: obj.c alloc.h compatibility.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h fail.h gc.h interp.h major_gc.h freelist.h \
+ memory.h minor_gc.h prims.h
+parsing.pic.o: parsing.c config.h ../config/m.h ../config/s.h compatibility.h \
+ mlvalues.h misc.h memory.h gc.h major_gc.h freelist.h minor_gc.h \
+ alloc.h
+prims.pic.o: prims.c mlvalues.h compatibility.h config.h ../config/m.h \
+ ../config/s.h misc.h prims.h
+printexc.pic.o: printexc.c backtrace.h mlvalues.h compatibility.h config.h \
+ ../config/m.h ../config/s.h misc.h callback.h debugger.h fail.h \
+ printexc.h
+roots.pic.o: roots.c finalise.h roots.h misc.h compatibility.h config.h \
+ ../config/m.h ../config/s.h memory.h gc.h mlvalues.h major_gc.h \
+ freelist.h minor_gc.h globroots.h stacks.h
+signals_byt.pic.o: signals_byt.c config.h ../config/m.h ../config/s.h \
+ compatibility.h memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h \
+ minor_gc.h osdeps.h signals.h signals_machdep.h
+signals.pic.o: signals.c alloc.h compatibility.h misc.h config.h \
+ ../config/m.h ../config/s.h mlvalues.h callback.h fail.h memory.h gc.h \
+ major_gc.h freelist.h minor_gc.h roots.h signals.h signals_machdep.h \
+ sys.h
+stacks.pic.o: stacks.c config.h ../config/m.h ../config/s.h compatibility.h \
+ fail.h misc.h mlvalues.h stacks.h memory.h gc.h major_gc.h freelist.h \
+ minor_gc.h
+startup.pic.o: startup.c config.h ../config/m.h ../config/s.h compatibility.h \
+ alloc.h misc.h mlvalues.h backtrace.h callback.h custom.h debugger.h \
+ dynlink.h exec.h fail.h fix_code.h gc_ctrl.h instrtrace.h interp.h \
+ intext.h io.h memory.h gc.h major_gc.h freelist.h minor_gc.h osdeps.h \
+ prims.h printexc.h reverse.h signals.h stacks.h sys.h startup.h \
+ version.h
+str.pic.o: str.c alloc.h compatibility.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h fail.h
+sys.pic.o: sys.c config.h ../config/m.h ../config/s.h compatibility.h alloc.h \
+ misc.h mlvalues.h debugger.h fail.h instruct.h osdeps.h signals.h \
+ stacks.h memory.h gc.h major_gc.h freelist.h minor_gc.h sys.h
+terminfo.pic.o: terminfo.c config.h ../config/m.h ../config/s.h \
+ compatibility.h alloc.h misc.h mlvalues.h fail.h io.h
+unix.pic.o: unix.c config.h ../config/m.h ../config/s.h compatibility.h \
+ memory.h gc.h mlvalues.h misc.h major_gc.h freelist.h minor_gc.h \
+ osdeps.h
+weak.pic.o: weak.c alloc.h compatibility.h misc.h config.h ../config/m.h \
+ ../config/s.h mlvalues.h fail.h major_gc.h freelist.h memory.h gc.h \
+ minor_gc.h
diff --git a/byterun/Makefile b/byterun/Makefile
index f3b843ad4..2baacbd6b 100644
--- a/byterun/Makefile
+++ b/byterun/Makefile
@@ -20,6 +20,16 @@ DFLAGS=-DCAML_NAME_SPACE -g -DDEBUG $(BYTECCCOMPOPTS)
OBJS=$(COMMONOBJS) unix.o main.o
DOBJS=$(OBJS:.o=.d.o) instrtrace.d.o
+PICOBJS=$(OBJS:.o=.pic.o)
+
+ifeq ($(SUPPORTS_SHARED_LIBRARIES),true)
+
+all:: libcamlrun_shared.so
+
+install::
+ cp libcamlrun_shared.so $(LIBDIR)/libcamlrun_shared.so
+
+endif
ocamlrun$(EXE): libcamlrun.a prims.o
$(MKEXE) $(BYTECCLINKOPTS) -o ocamlrun$(EXE) \
@@ -37,7 +47,10 @@ libcamlrund.a: $(DOBJS)
ar rc libcamlrund.a $(DOBJS)
$(RANLIB) libcamlrund.a
-.SUFFIXES: .d.o
+libcamlrun_shared.so: $(PICOBJS)
+ $(MKDLL) -o libcamlrun_shared.so $(PICOBJS)
+
+.SUFFIXES: .d.o .pic.o
.c.d.o:
@ if test -f $*.o; then mv $*.o $*.f.o; else :; fi
@@ -45,9 +58,16 @@ libcamlrund.a: $(DOBJS)
mv $*.o $*.d.o
@ if test -f $*.f.o; then mv $*.f.o $*.o; else :; fi
+.c.pic.o:
+ @ if test -f $*.o; then mv $*.o $*.f.o; else :; fi
+ $(CC) -c $(CFLAGS) $(SHAREDCCCOMPOPTS) $<
+ mv $*.o $*.pic.o
+ @ if test -f $*.f.o; then mv $*.f.o $*.o; else :; fi
+
depend : prims.c opnames.h jumptbl.h version.h
-gcc -MM $(BYTECCCOMPOPTS) *.c > .depend
-gcc -MM $(BYTECCCOMPOPTS) -DDEBUG *.c | sed -e 's/\.o/.d.o/' >> .depend
+ -gcc -MM $(BYTECCCOMPOPTS) *.c | sed -e 's/\.o/.pic.o/' >> .depend
.PHONY: depend
include .depend
diff --git a/byterun/Makefile.common b/byterun/Makefile.common
index ac6391f76..938d53bac 100755
--- a/byterun/Makefile.common
+++ b/byterun/Makefile.common
@@ -37,14 +37,14 @@ PUBLIC_INCLUDES=\
memory.h misc.h mlvalues.h printexc.h signals.h compatibility.h
-all: ocamlrun$(EXE) ld.conf libcamlrun.$(A)
+all:: ocamlrun$(EXE) ld.conf libcamlrun.$(A)
.PHONY: all
ld.conf: ../config/Makefile
echo "$(STUBLIBDIR)" >ld.conf
echo "$(LIBDIR)" >>ld.conf
-install:
+install::
cp ocamlrun$(EXE) $(BINDIR)/ocamlrun$(EXE)
cp libcamlrun.$(A) $(LIBDIR)/libcamlrun.$(A)
cd $(LIBDIR); $(RANLIB) libcamlrun.$(A)