-$(ARCHIVE).cmxa $(ARCHIVE).a: $(OBJECTS_OPT)
- $(OCAMLMKLIB) -o $(ARCHIVE) -L$(OCAML_STUB_DIR) $^ $(OBJECTS_C) $(SHARED_LIBS)
-
-install:
- test ! -f $(ARCHIVE).cmxa || extra="$(ARCHIVE).a $(ARCHIVE).cmxa" ; \
- if [ "$(PREFIX)" = "" ]; then \
- $(OCAMLFIND) install \
- $(PACKAGE) $(OBJECTS_C) $(ARCHIVE).cma $(DLL) $(INST) $$extra; \
- ln -fs $(DLL) $(shell $(OCAMLFIND) printconf destdir)/stublibs/lib$(ARCHIVE).so; \
- else \
- $(OCAMLFIND) install -destdir $(PREFIX) \
- $(PACKAGE) $(OBJECTS_C) $(ARCHIVE).cma $(DLL) $(INST) $$extra; \
- ln -fs $(DLL) $(PREFIX)/stublibs/lib$(ARCHIVE).so; \
- fi
+$(ARCHIVE).cmxa $(ARCHIVE).a: $(ML_OBJECTS_OPT)
+ $(OCAMLMKLIB) -o $(ARCHIVE) -L$(OCAML_STUB_DIR) $^ $(C_OBJECTS) $(SHARED_LIBS)
+
+ifeq ($(DESTDIR),"")
+INSTALLER = $(OCAMLFIND) install -ldconf /dev/null
+UNINSTALLER = $(OCAMLFIND) remove -ldconf /dev/null
+else
+INSTALLER = $(OCAMLFIND) install -destdir $(DESTDIR) -ldconf /dev/null
+UNINSTALLER = $(OCAMLFIND) remove -destdir $(DESTDIR) -ldconf /dev/null
+install: installmkdir
+installmkdir:
+ mkdir -p $(DESTDIR)
+endif
+
+ifeq ($(NATIVE),yes)
+install: installworld
+else
+install: installbyte
+endif
+
+installbyte:
+ $(INSTALLER) $(PACKAGE) $(BYTE_INST) $(EXTRA_INST)
+installworld:
+ $(INSTALLER) $(PACKAGE) $(OPT_INST) $(EXTRA_INST)