Module: docs Branch: master Commit: 3e1c8092db42fd47af1fd882776887a8ee41a118 URL: http://source.winehq.org/git/docs.git/?a=commit;h=3e1c8092db42fd47af1fd88277...
Author: André Hentschel nerv@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