dllmonomakefilemultiple-makefilesgnu-autogen

Mono: How to add a DLL reference in Makefile.am?


I am trying to add a DLL to CmisSync, an open source project that uses Mono and autogen/configure/Makefiles. It is my first time with Mono.

I copied the DLL to the relevant subdirectory, and modified this directory's Makefile.am at this line:

LINK = -r:$(DIR_BIN)/SparkleLib.dll

... I added the DotCMIS.dll like this:

LINK = -r:$(DIR_BIN)/SparkleLib.dll:DotCMIS.dll

Then I rebuilt the Makefiles at the root of the project:

./autogen.sh
./configure

Problem: Now I get an error when running make:

Making all in SparkleLib/Cmis
Makefile:545: *** multiple target patterns.  Stop.
make: *** [all-recursive] Error 1

It does not work with -r:$(DIR_BIN)/SparkleLib.dll DotCMIS.dll either.
I also try adding LIBS=DotCMIS.dll and REFERENCES = DotCMIS.dll line, no luck.

What is the correct syntax to add a DLL to a project that uses autogen/configure/Makefiles like this?


Solution

  • By trial-and-error I ended up making this lucky guess:

    LINK = -r:$(DIR_BIN)/SparkleLib.dll -r:$(DIR_BIN)/DotCMIS.dll
    

    Now that compiles fine!