Module: docs
Branch: master
Commit: 3e1c8092db42fd47af1fd882776887a8ee41a118
URL: http://source.winehq.org/git/docs.git/?a=commit;h=3e1c8092db42fd47af1fd882776887a8ee41a118
Author: André Hentschel <nerv at dawncrow.de>
Date: Wed Jan 18 21:13:42 2012 +0100
winelib: Update information about winemaker's Makefiles.
---
en/winelib-toolkit.sgml | 24 +++++++++++++-----------
1 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/en/winelib-toolkit.sgml b/en/winelib-toolkit.sgml
index 1af66ac..2a262f2 100644
--- a/en/winelib-toolkit.sgml
+++ b/en/winelib-toolkit.sgml
@@ -217,13 +217,14 @@
SRCDIR = .
SUBDIRS =
DLLS =
+LIBS =
EXES = hello.exe
</programlisting>
<para>
This is where the targets for this directory are listed. The names
are pretty self-explanatory. <varname>SUBDIRS</varname> is usually
only present in the top-level makefile. For libraries and
- executables, specify the full name, including the '.dll' or '.exe'
+ executables, specify the full name, including the '.dll', '.a' or '.exe'
extension. Note that these names must be in all lowercase.
</para>
<programlisting>
@@ -232,6 +233,7 @@ EXES = hello.exe
DEFINES = -DSTRICT
INCLUDE_PATH =
DLL_PATH =
+DLL_IMPORTS =
LIBRARY_PATH =
LIBRARIES =
</programlisting>
@@ -240,23 +242,22 @@ LIBRARIES =
to all the targets in this makefile. The <varname>LIBRARIES</>
variable allows you to specify additional Unix libraries to link
with. Note that you would normally not specify Winelib libraries
- there. To link with a Winelib library, one uses the <varname>DLLS</>
- variables of the Makefile. The exception is for C++ libraries where
- you currently don't have a choice but to link with them in the
- Unix sense. One library you are likely to find here is
- <literal>mfc</> (note, the '-l' is omitted).
+ there. To link with a Winelib library, one uses <varname>DLL_IMPORTS</>
+ The exception is for C++ libraries where you currently don't have
+ a choice but to link with them in the Unix sense. One library you are
+ likely to find here is <literal>mfc</>.
</para>
<para>
The other variable
names should be self-explanatory. There are also
<varname>CEXTRA</varname>, <varname>CXXEXTRA</varname> and
- <varname>RCEXTRA</varname>(usually not present in the file) which
+ <varname>RCEXTRA</varname> which
allow you to specify additional flags for, respectively,
the C compiler, the C++ compiler and the resource compiler.
- Finally note that all these variable contain the option's name.
+ Finally note that all these variables contain the option's name.
</para>
<para>
- Then come one section per target, each describing the various
+ Then there is one section per target, each describing the various
components that target is made of.
</para>
<programlisting>
@@ -291,7 +292,8 @@ hello_exe_LIBRARIES =
</para>
<programlisting>
hello_exe_OBJS = $(hello_exe_C_SRCS:.c=.o) \
- $(hello_exe_CXX_SRCS:.cpp=.o)
+ $(hello_exe_CXX_SRCS:.cpp=.o) \
+ $(hello_exe_RC_SRCS:.rc=.res)
</programlisting>
<para>
The above just builds a list of all the object files that
@@ -311,7 +313,7 @@ RC_SRCS = $(hello_exe_RC_SRCS)
<programlisting>
### Generic targets
-all: $(SUBDIRS) $(DLLS:%=%.so) $(EXES:%=%.so)
+all: $(SUBDIRS) $(DLLS:%=%.so) $(LIBS) $(EXES)
</programlisting>
<para>
The above first defines the default target for this makefile. Here