makefiles: Generate rules for installing IDL include files.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alexandre Julliard 2015-11-04 17:02:44 +09:00
parent 316448cd47
commit a1a0139d48
35 changed files with 211 additions and 146 deletions

View File

@ -1,25 +1,35 @@
IDL_SRCS = \
access.idl \
activaut.idl \
activdbg.idl \
activscp.idl \
amstream.idl \
amvideo.idl \
asptlb.idl \
asynot.idl \
asysta.idl \
atliface.idl \
audioclient.idl \
audiopolicy.idl \
austream.idl \
axcore.idl \
axextend.idl \
bdaiface.idl \
binres.idl \
bits.idl \
bits1_5.idl \
bits2_0.idl \
bits2_5.idl \
bits3_0.idl \
chprst.idl \
cmdbas.idl \
cmdtxt.idl \
comcat.idl \
commoncontrols.idl \
control.idl \
cor.idl \
cordebug.idl \
crtrow.idl \
ctfutb.idl \
ctxtcall.idl \
d2d1.idl \
@ -30,7 +40,14 @@ IDL_SRCS = \
d3d11sdklayers.idl \
d3dcommon.idl \
d3dx10core.idl \
dbccmd.idl \
dbcses.idl \
dbdsad.idl \
dbinit.idl \
dbprop.idl \
dbs.idl \
ddstream.idl \
devenum.idl \
devicetopology.idl \
dimm.idl \
dispex.idl \
@ -43,7 +60,9 @@ IDL_SRCS = \
dxgi.idl \
dxgi1_2.idl \
dxva2api.idl \
dyngraph.idl \
endpointvolume.idl \
errrec.idl \
exdisp.idl \
fusion.idl \
gameux.idl \
@ -96,6 +115,7 @@ IDL_SRCS = \
oleacc.idl \
oledb.idl \
oleidl.idl \
opnrst.idl \
optary.idl \
perhist.idl \
propidl.idl \
@ -103,12 +123,22 @@ IDL_SRCS = \
pstore.idl \
qedit.idl \
richole.idl \
row.idl \
rowchg.idl \
rowpos.idl \
rowpsc.idl \
rstbas.idl \
rstinf.idl \
rstloc.idl \
rstnot.idl \
sensevts.idl \
servprov.idl \
sesprp.idl \
shdeprecated.idl \
shldisp.idl \
shobjidl.idl \
shtypes.idl \
srcrst.idl \
stdole2.idl \
strmif.idl \
structuredquerycondition.idl \
@ -125,6 +155,7 @@ IDL_SRCS = \
urlhist.idl \
urlmon.idl \
vmr9.idl \
vmrender.idl \
vss.idl \
wbemcli.idl \
wbemdisp.idl \
@ -148,6 +179,8 @@ IDL_SRCS = \
xapo.idl \
xaudio2.idl \
xaudio2fx.idl \
xmldom.idl \
xmldso.idl \
xmllite.idl
HEADER_SRCS = \
@ -639,55 +672,3 @@ HEADER_SRCS = \
XTEMPLATE_SRCS = \
rmxftmpl.x
SRCDIR_INCLUDES = \
access.idl \
asynot.idl \
asysta.idl \
axcore.idl \
axextend.idl \
binres.idl \
chprst.idl \
cmdbas.idl \
cmdtxt.idl \
crtrow.idl \
dbccmd.idl \
dbcses.idl \
dbdsad.idl \
dbinit.idl \
dbprop.idl \
dbs.idl \
devenum.idl \
dyngraph.idl \
errrec.idl \
opnrst.idl \
row.idl \
rowchg.idl \
rowpos.idl \
rowpsc.idl \
rstbas.idl \
rstinf.idl \
rstloc.idl \
rstnot.idl \
sesprp.idl \
srcrst.idl \
vmrender.idl \
xmldom.idl \
xmldso.idl
install install-dev::
for f in $(SRCDIR_INCLUDES); do case $$f in \
wine/*) $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(includedir)/`expr $$f : 'wine/\(.*\)'` ;; \
msvcrt/*) $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(includedir)/$$f ;; \
*) $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(includedir)/windows/$$f ;; \
esac; done
# Don't just do a rm -rf on $(includedir) -- don't want to wipe out
# anything extra the user may have put there.
uninstall::
for f in $(SRCDIR_INCLUDES); do case $$f in \
wine/*) $(RM) $(DESTDIR)$(includedir)/`expr $$f : 'wine/\(.*\)'` ;; \
msvcrt/*) $(RM) $(DESTDIR)$(includedir)/$$f ;; \
*) $(RM) $(DESTDIR)$(includedir)/windows/$$f ;; \
esac; done
-rmdir $(DESTDIR)$(includedir)/windows/ddk $(DESTDIR)$(includedir)/windows $(DESTDIR)$(includedir)/msvcrt/sys $(DESTDIR)$(includedir)/msvcrt

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a8c-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a96-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a95-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
#define CHARS_IN_GUID 39
cpp_quote("#define CHARS_IN_GUID 39")

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
interface IAMAnalogVideoDecoder;
interface IAMAnalogVideoEncoder;
interface IAMAudioInputMixer;

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733ab1-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a93-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a63-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a27-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733ab2-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a1d-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a5d-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a7a-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a8b-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a8a-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
typedef DWORD DBKIND;
enum DBKINDENUM {

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
import "oaidl.idl";
cpp_quote("#define CDEF_CLASS_DEFAULT 0x0001")

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
interface IPinConnection;
interface IPinFlowControl;
interface IGraphConfig;

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a67-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a69-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
local,
object,

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
local,
object,

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a94-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0997a571-126e-11d0-9f8a-00a0c9a0631e),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
local,
object,

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a55-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
local,
object,

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a83-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a85-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
[
object,
uuid(0c733a1e-2a1c-11ce-ade5-00aa0044773d),

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
cpp_quote("#if 0")
typedef DWORD IDirectDrawSurface7;
typedef DWORD IDirectDraw7;

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
#include <xmldomdid.h>
#include <idispids.h>

View File

@ -16,6 +16,10 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if 0
#pragma makedep install
#endif
#include <idispids.h>
#include <xmldsodid.h>

View File

@ -47,46 +47,10 @@ my %exported_wine_headers = (
"wine/svcctl.idl" => 1,
);
my %private_idl_headers = (
"access.idl" => 1,
"asynot.idl" => 1,
"asysta.idl" => 1,
"axcore.idl" => 1,
"axextend.idl" => 1,
"binres.idl" => 1,
"chprst.idl" => 1,
"cmdbas.idl" => 1,
"cmdtxt.idl" => 1,
"crtrow.idl" => 1,
"dbccmd.idl" => 1,
"dbcses.idl" => 1,
"dbdsad.idl" => 1,
"dbinit.idl" => 1,
"dbprop.idl" => 1,
"dbs.idl" => 1,
"devenum.idl" => 1,
"dyngraph.idl" => 1,
"errrec.idl" => 1,
"opnrst.idl" => 1,
"row.idl" => 1,
"rowchg.idl" => 1,
"rowpos.idl" => 1,
"rowpsc.idl" => 1,
"rstbas.idl" => 1,
"rstinf.idl" => 1,
"rstloc.idl" => 1,
"rstnot.idl" => 1,
"srcrst.idl" => 1,
"sesprp.idl" => 1,
"vmrender.idl" => 1,
"xmldom.idl" => 1,
"xmldso.idl" => 1,
"wine/winedxgi.idl" => 1,
);
my %ignored_source_files = (
"dlls/wineps.drv/afm2c.c" => 1,
"dlls/wineps.drv/mkagl.c" => 1,
"include/config.h.in" => 1,
"programs/winetest/dist.rc" => 1,
"tools/makedep.c" => 1,
);
@ -365,69 +329,59 @@ sub assign_sources_to_makefiles(@)
my $make = $makefiles{"$dir/Makefile"};
my $name = substr( $file, length($dir) + 1 );
my %flags = get_makedep_flags( $file );
next if $file =~ /^include\/wine\// && !%flags && !$exported_wine_headers{$name};
${$make}{"=flags"}{"clean"} = 1 if $subdir;
if ($dir eq "include")
if ($name =~ /\.m$/) { push @{${$make}{"=OBJC_SRCS"}}, $name; }
elsif ($name =~ /\.l$/) { push @{${$make}{"=LEX_SRCS"}}, $name; }
elsif ($name =~ /\.y$/) { push @{${$make}{"=BISON_SRCS"}}, $name; }
elsif ($name =~ /\.x$/) { push @{${$make}{"=XTEMPLATE_SRCS"}}, $name; }
elsif ($name =~ /\.rh$/) { push @{${$make}{"=HEADER_SRCS"}}, $name; }
elsif ($name =~ /\.inl$/) { push @{${$make}{"=HEADER_SRCS"}}, $name; }
elsif ($name =~ /\.svg$/) { push @{${$make}{"=SVG_SRCS"}}, $name; }
elsif ($name =~ /\.sfd$/) { push @{${$make}{"=FONT_SRCS"}}, $name; }
elsif ($name =~ /\.c$/)
{
next if ($name =~ /\.in$/);
if ($name =~ /^wine\// && !$exported_wine_headers{$name})
if (defined $flags{"implib"})
{
if ($private_idl_headers{$name}) { push @{${$make}{"=IDL_SRCS"}}, $name; }
next;
push @{${$make}{"=IMPLIB_SRCS"}}, $name;
${${$make}{"=flags"}}{"staticimplib"} = 1;
}
if ($private_idl_headers{$name}) { push @{${$make}{"=SRCDIR_INCLUDES"}}, $name; }
elsif ($name =~ /\.h$/) { push @{${$make}{"=HEADER_SRCS"}}, $name; }
elsif ($name =~ /\.x$/) { push @{${$make}{"=XTEMPLATE_SRCS"}}, $name; }
elsif ($name =~ /\.rh$/) { push @{${$make}{"=HEADER_SRCS"}}, $name; }
elsif ($name =~ /\.inl$/) { push @{${$make}{"=HEADER_SRCS"}}, $name; }
elsif ($name =~ /\.idl$/) { push @{${$make}{"=IDL_SRCS"}}, $name; }
else { die "unknown file $name in include dir"; }
push @{${$make}{"=C_SRCS"}}, $name;
}
else
elsif ($name =~ /\.h$/)
{
if ($name =~ /\.m$/) { push @{${$make}{"=OBJC_SRCS"}}, $name; }
elsif ($name =~ /\.l$/) { push @{${$make}{"=LEX_SRCS"}}, $name; }
elsif ($name =~ /\.y$/) { push @{${$make}{"=BISON_SRCS"}}, $name; }
elsif ($name =~ /\.svg$/) { push @{${$make}{"=SVG_SRCS"}}, $name; }
elsif ($name =~ /\.sfd$/) { push @{${$make}{"=FONT_SRCS"}}, $name; }
elsif ($name =~ /\.c$/)
{
my %flags = get_makedep_flags( $file );
if (defined $flags{"implib"})
{
push @{${$make}{"=IMPLIB_SRCS"}}, $name;
${${$make}{"=flags"}}{"staticimplib"} = 1;
}
push @{${$make}{"=C_SRCS"}}, $name;
}
elsif ($name =~ /\.rc$/)
{
my %flags = get_makedep_flags( $file );
${${$make}{"=flags"}}{"po"} = 1 if defined $flags{"po"};
push @{${$make}{"=RC_SRCS"}}, $name;
}
elsif ($name =~ /\.mc$/)
{
push @{${$make}{"=MC_SRCS"}}, $name;
${${$make}{"=flags"}}{"mc"} = 1;
}
elsif ($name =~ /\.idl$/)
{
my %flags = get_makedep_flags( $file );
die "no makedep flags specified in $file" unless %flags;
push @{${$make}{"=IDL_SRCS"}}, $name;
${${$make}{"=flags"}}{"clean"} = 1;
}
elsif ($name =~ /\.man\.in$/)
{
push @{${$make}{"=MANPAGES"}}, $name;
${${$make}{"=flags"}}{"manpage"} = 1;
}
elsif ($name =~ /\.in$/)
{
push @{${$make}{"=IN_SRCS"}}, $name;
}
next if $dir ne "include";
push @{${$make}{"=HEADER_SRCS"}}, $name;
${${$make}{"=flags"}}{"install-dev"} = 1;
}
elsif ($name =~ /\.rc$/)
{
${${$make}{"=flags"}}{"po"} = 1 if defined $flags{"po"};
push @{${$make}{"=RC_SRCS"}}, $name;
}
elsif ($name =~ /\.mc$/)
{
push @{${$make}{"=MC_SRCS"}}, $name;
${${$make}{"=flags"}}{"mc"} = 1;
}
elsif ($name =~ /\.idl$/)
{
die "no makedep flags specified in $file" unless %flags || $dir eq "include";
push @{${$make}{"=IDL_SRCS"}}, $name;
${${$make}{"=flags"}}{"clean"} = 1;
}
elsif ($name =~ /\.man\.in$/)
{
push @{${$make}{"=MANPAGES"}}, $name;
${${$make}{"=flags"}}{"manpage"} = 1;
}
elsif ($name =~ /\.in$/)
{
push @{${$make}{"=IN_SRCS"}}, $name;
}
}
@ -548,8 +502,6 @@ sub update_makefiles(@)
replace_makefile_variable( $file, "IN_SRCS" );
replace_makefile_variable( $file, "IMPLIB_SRCS" );
replace_makefile_variable( $file, "MANPAGES" );
next unless $file eq "include/Makefile";
replace_makefile_variable( $file, "SRCDIR_INCLUDES" );
}
push @lines, "dnl End of auto-generated output commands\n";