mirror of
https://git.savannah.gnu.org/git/make.git
synced 2024-12-26 14:00:55 +00:00
doc/make.texi (Loaded Object Example): Add a note about building
shared objects on MS-Windows.
This commit is contained in:
parent
c8bf04e141
commit
a668c520b2
2 changed files with 19 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2013-05-06 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* doc/make.texi (Loaded Object Example): Add a note about building
|
||||
shared objects on MS-Windows.
|
||||
|
||||
2013-05-05 Paul Smith <psmith@gnu.org>
|
||||
|
||||
* makeint.h (OUTPUT_SYNC_LINE, OUTPUT_SYNC_RECURSE): Rename
|
||||
|
|
|
@ -11221,6 +11221,20 @@ mk_temp.so: mk_temp.c
|
|||
@end group
|
||||
@end example
|
||||
|
||||
On MS-Windows, due to peculiarities of how shared objects are
|
||||
produced, the compiler needs to scan the @dfn{import library} produced
|
||||
when building @code{make}, typically called
|
||||
@file{libgnumake-@var{version}.dll.a}, where @var{version} is the
|
||||
version of the load object API. So the recipe to produce a shared
|
||||
object will look on Windows like this (assuming the API version is 1):
|
||||
|
||||
@example
|
||||
@group
|
||||
mk_temp.dll: mk_temp.c
|
||||
$(CC) -shared -o $@ $< -lgnumake-1
|
||||
@end group
|
||||
@end example
|
||||
|
||||
Now when you run @code{make} you'll see something like:
|
||||
|
||||
@example
|
||||
|
|
Loading…
Reference in a new issue