Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Unsubscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-ID: <37BAE48B.31672961@mcd.alcatel.be> Date: Wed, 18 Aug 1999 18:51:23 +0200 From: Richard X-Mailer: Mozilla 4.61 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: "cygwin AT sourceware DOT cygnus DOT com" Subject: Imake, DLLs again Content-Type: multipart/alternative; boundary="------------1D6EE64512790A714E229F47" --------------1D6EE64512790A714E229F47 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sorry, that Imake rule was incomplete. It should have been: #define SharedLibraryTarget(libname,rev,solist,down,up) @@\ AllTarget(Concat3(lib,libname,.dll)) @@\ @@\ CppFileTarget(libname.def,libname-def.cpp,-DLIBRARY_VERSION=rev,$(ICONFIGFILES)) @@\ @@\ @@\ junk.c: @@\ echo "#include " >junk.c @@\ echo "DECLARE_CYGWIN_DLL(dll_main);" >>junk.c @@\ echo "int WINAPI dll_main(HANDLE a, DWORD reason, void *q)" >>junk.c @@\ echo "{ return 1; }" >>junk.c @@\ Concat3(lib,libname,.dll): solist junk.o libname.def @@\ RemoveFile(LibraryTargetName(libname)) @@\ RemoveFile(Concat3(lib,libname,.dll)) @@\ MakeDLL(libname,solist) @@\ LinkBuildLibrary(Concat3(lib,libname,.a)) @@\ clean:: @@\ RemoveFile(LibraryTargetName(libname)) @@\ RemoveFile(Concat3(lib,libname,.dll)) @@\ RemoveFile(junk.o) @@\ RemoveFile(junk.c) @@\ RemoveFile($(BASE_COUNTER)) --------------1D6EE64512790A714E229F47 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit Sorry, that Imake rule was incomplete.  It should have been:

#define SharedLibraryTarget(libname,rev,solist,down,up)                 @@\
AllTarget(Concat3(lib,libname,.dll))                                    @@\
         @@\
CppFileTarget(libname.def,libname-def.cpp,-DLIBRARY_VERSION=rev,$(ICONFIGFILES)) @@\
         @@\
                                                                        @@\
junk.c:                                                                                 @@\
 echo "#include <cygwin/cygwin_dll.h>"  >junk.c  @@\
 echo "DECLARE_CYGWIN_DLL(dll_main);"  >>junk.c @@\
 echo "int WINAPI dll_main(HANDLE a, DWORD reason, void *q)" >>junk.c  @@\
 echo "{ return 1; }"    >>junk.c @@\
Concat3(lib,libname,.dll): solist junk.o libname.def   @@\
 RemoveFile(LibraryTargetName(libname))    @@\
 RemoveFile(Concat3(lib,libname,.dll))    @@\
 MakeDLL(libname,solist)      @@\
 LinkBuildLibrary(Concat3(lib,libname,.a))   @@\
clean::         @@\
 RemoveFile(LibraryTargetName(libname))    @@\
 RemoveFile(Concat3(lib,libname,.dll))    @@\
 RemoveFile(junk.o)      @@\
 RemoveFile(junk.c)      @@\
 RemoveFile($(BASE_COUNTER))
  --------------1D6EE64512790A714E229F47--