--- OCamlMakefile.5.01.0.orig Sat Mar 8 01:14:25 2003 +++ OCamlMakefile Thu Mar 13 01:17:21 2003 @@ -89,19 +89,23 @@ ifdef MINGW export MINGW WIN32 := 1 + EXT_DLL := dll + DLL_ADDITIONAL_CLIBS := $(OCAMLLIBPATH)/ocamlrun.a + OCAMLDEP_FILTER := | sed -e 's/\\\(.\)/\/\1/g' endif ifdef MSVC export MSVC WIN32 := 1 EXT_OBJ := obj EXT_LIB := lib + EXT_DLL := dll ifeq ($(CC),gcc) # work around GNU Make default value - ifdef THREADS +# ifdef THREADS CC := cl /MT - else - CC := cl - endif +# else +# CC := cl +# endif endif ifeq ($(CXX),g++) # work around GNU Make default value @@ -120,6 +124,9 @@ ifndef EXT_LIB EXT_LIB := a endif +ifndef EXT_DLL + EXT_DLL := so +endif ifndef EXT_CXX EXT_CXX := cc endif @@ -374,7 +381,7 @@ endif ifndef MSVC - DLLSONAME := dll$(CLIB_BASE).so + DLLSONAME := dll$(CLIB_BASE).$(EXT_DLL) endif NONEXECS := $(INTF) $(IMPL_CMO) $(IMPL_CMX) $(OBJ_FILES) $(PRE_TARGETS) \ @@ -412,9 +419,9 @@ # handle ocamlfind ifdef OCAMLFIND - PACKOPT := -pack -else PACKOPT := -passopt "-pack" +else + PACKOPT := -pack endif # If there are IDL-files @@ -463,7 +470,7 @@ CLIBS_OPTS := $(CLIBS:%=-cclib -l%) else # MSVC libraries do not have 'lib' prefix - CLIBS_OPTS := $(CLIBS:%=-ccopt %) + CLIBS_OPTS := $(CLIBS:%=-ccopt %.lib) endif ifneq ($(strip $(OBJ_LINK)),) ifdef CREATE_LIB @@ -498,7 +505,7 @@ ifndef STATIC ifneq ($(strip $(OBJ_LINK)),) MAKEDLL := $(DLLSONAME) - ALL_LDFLAGS := -dllib $(DLLSONAME) + ALL_LDFLAGS := -dllib -l$(CLIB_BASE) endif endif endif @@ -765,7 +772,7 @@ ifndef MSVC $(DLLSONAME): $(OBJ_LINK) $(CC) -shared $(CINCFLAGS) $(CLIBFLAGS) \ - -o $@ $(OBJ_LINK) $(CLIBS:%=-l%) + -o $@ $(OBJ_LINK) $(CLIBS:%=-l%) $(DLL_ADDITIONAL_CLIBS) endif $(RESULT).cma: $(REAL_IMPL_INTF) $(MAKEDLL) $(EXTRADEPS) @@ -860,10 +867,10 @@ $(QUIET)pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \ if [ -z "$$pp" ]; then \ $(OCAMLFIND) $(OCAMLDEP) $(OCAML_FIND_PACKAGES) \ - $(INCFLAGS) $< > $@; \ + $(INCFLAGS) $< $(OCAMLDEP_FILTER) > $@; \ else \ $(OCAMLFIND) $(OCAMLDEP) $(OCAML_FIND_PACKAGES) \ - -pp "$$pp" $(INCFLAGS) $< > $@; \ + -pp "$$pp" $(INCFLAGS) $< $(OCAMLDEP_FILTER) > $@; \ fi $(BCDIDIR)/%.di $(NCDIDIR)/%.di: %.mli @@ -871,10 +878,11 @@ $(QUIET)if [ ! -d $(@D) ]; then mkdir -p $(@D); fi $(QUIET)pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \ if [ -z "$$pp" ]; then \ - $(OCAMLFIND) $(OCAMLDEP) $(DEPFLAGS) $(INCFLAGS) $< > $@; \ + $(OCAMLFIND) $(OCAMLDEP) $(DEPFLAGS) \ + $(INCFLAGS) $< $(OCAMLDEP_FILTER) > $@; \ else \ $(OCAMLFIND) $(OCAMLDEP) $(DEPFLAGS) \ - -pp "$$pp" $(INCFLAGS) $< > $@; \ + -pp "$$pp" $(INCFLAGS) $< $(OCAMLDEP_FILTER) > $@; \ fi doc/html: $(DOC_FILES)