PRIVATE_IDL_H_SRCS = \
	wine/winedxgi.idl

PUBLIC_IDL_H_SRCS = \
	activaut.idl \
	activdbg.idl \
	activscp.idl \
	amstream.idl \
	amvideo.idl \
	asptlb.idl \
	atliface.idl \
	audioclient.idl \
	audiopolicy.idl \
	austream.idl \
	bdaiface.idl \
	bits.idl \
	bits1_5.idl \
	bits3_0.idl \
	comcat.idl \
	commoncontrols.idl \
	control.idl \
	cor.idl \
	cordebug.idl \
	ctfutb.idl \
	ctxtcall.idl \
	d2d1.idl \
	d3d10.idl \
	d3d10_1.idl \
	d3d11.idl \
	d3d11_1.idl \
	d3d11sdklayers.idl \
	d3dcommon.idl \
	ddstream.idl \
	devicetopology.idl \
	dimm.idl \
	dispex.idl \
	docobj.idl \
	docobjectservice.idl \
	downloadmgr.idl \
	dwrite.idl \
	dwrite_1.idl \
	dwrite_2.idl \
	dxgi.idl \
	dxgi1_2.idl \
	dxva2api.idl \
	endpointvolume.idl \
	exdisp.idl \
	fusion.idl \
	gameux.idl \
	hlink.idl \
	hstring.idl \
	htiface.idl \
	htiframe.idl \
	httprequest.idl \
	iads.idl \
	icftypes.idl \
	iextag.idl \
	imnact.idl \
	imnxport.idl \
	indexsrv.idl \
	inputscope.idl \
	mediaobj.idl \
	metahost.idl \
	mimeinfo.idl \
	mimeole.idl \
	mlang.idl \
	mmc.idl \
	mmdeviceapi.idl \
	mmstream.idl \
	mscoree.idl \
	msctf.idl \
	msdadc.idl \
	msdasc.idl \
	mshtmhst.idl \
	mshtml.idl \
	msident.idl \
	msinkaut.idl \
	mstask.idl \
	msxml.idl \
	msxml2.idl \
	msxml6.idl \
	netcfgx.idl \
	netcon.idl \
	netfw.idl \
	netlistmgr.idl \
	oaidl.idl \
	objectarray.idl \
	objidl.idl \
	objsafe.idl \
	ocidl.idl \
	ocmm.idl \
	oleacc.idl \
	oledb.idl \
	oleidl.idl \
	optary.idl \
	perhist.idl \
	propidl.idl \
	propsys.idl \
	pstore.idl \
	qedit.idl \
	richole.idl \
	sensevts.idl \
	servprov.idl \
	shdeprecated.idl \
	shldisp.idl \
	shobjidl.idl \
	shtypes.idl \
	strmif.idl \
	structuredquerycondition.idl \
	taskschd.idl \
	textstor.idl \
	tlogstg.idl \
	tom.idl \
	transact.idl \
	txcoord.idl \
	txdtc.idl \
	uiautomationclient.idl \
	uiautomationcore.idl \
	unknwn.idl \
	urlhist.idl \
	urlmon.idl \
	vmr9.idl \
	vss.idl \
	wbemcli.idl \
	wbemdisp.idl \
	wbemprov.idl \
	wia_lh.idl \
	wia_xp.idl \
	wincodec.idl \
	wincodecsdk.idl \
	wine/itss.idl \
	wine/svcctl.idl \
	winsxs.idl \
	wmiutils.idl \
	wmp.idl \
	wmsbuffer.idl \
	wmsdkidl.idl \
	wpcapi.idl \
	wtypes.idl \
	wuapi.idl \
	xaudio2.idl \
	xmllite.idl

IDL_TLB_SRCS = \
	stdole2.idl

XTEMPLATE_SRCS = \
	rmxftmpl.x

SRCDIR_INCLUDES = \
	$(IDL_TLB_SRCS) \
	$(PUBLIC_IDL_H_SRCS) \
	$(XTEMPLATE_SRCS) \
	accctrl.h \
	access.idl \
	aclapi.h \
	aclui.h \
	adshlp.h \
	advpub.h \
	af_irda.h \
	amaudio.h \
	appcompatapi.h \
	appmgmt.h \
	asynot.idl \
	asysta.idl \
	atlbase.h \
	atlcom.h \
	atlwin.h \
	audevcod.h \
	audiosessiontypes.h \
	aviriff.h \
	avrt.h \
	axcore.idl \
	axextend.idl \
	basetsd.h \
	basetyps.h \
	bcrypt.h \
	bdaiface_enums.h \
	bdatypes.h \
	binres.idl \
	bitsmsg.h \
	cderr.h \
	cfgmgr32.h \
	cguid.h \
	chprst.idl \
	cierror.h \
	clusapi.h \
	cmdbas.idl \
	cmdtxt.idl \
	commctrl.h \
	commctrl.rh \
	commdlg.h \
	compobj.h \
	corerror.h \
	corhdr.h \
	cpl.h \
	crtrow.idl \
	cryptdlg.h \
	cryptuiapi.h \
	custcntl.h \
	cvconst.h \
	d2dbasetypes.h \
	d2derr.h \
	d3d.h \
	d3d10_1shader.h \
	d3d10effect.h \
	d3d10misc.h \
	d3d10shader.h \
	d3d11shader.h \
	d3d8.h \
	d3d8caps.h \
	d3d8types.h \
	d3d9.h \
	d3d9caps.h \
	d3d9types.h \
	d3dcaps.h \
	d3dcompiler.h \
	d3dhal.h \
	d3drm.h \
	d3drmdef.h \
	d3drmobj.h \
	d3drmwin.h \
	d3dtypes.h \
	d3dvec.inl \
	d3dx9.h \
	d3dx9anim.h \
	d3dx9core.h \
	d3dx9effect.h \
	d3dx9math.h \
	d3dx9math.inl \
	d3dx9mesh.h \
	d3dx9shader.h \
	d3dx9shape.h \
	d3dx9tex.h \
	d3dx9xof.h \
	dbccmd.idl \
	dbcses.idl \
	dbdsad.idl \
	dbghelp.h \
	dbinit.idl \
	dbprop.idl \
	dbs.idl \
	dbt.h \
	dciddi.h \
	dciman.h \
	dcommon.h \
	dde.h \
	dde.rh \
	ddeml.h \
	ddk/compstui.h \
	ddk/csq.h \
	ddk/hidsdi.h \
	ddk/imm.h \
	ddk/mountmgr.h \
	ddk/ntddcdvd.h \
	ddk/ntddk.h \
	ddk/ntddser.h \
	ddk/ntddtape.h \
	ddk/ntifs.h \
	ddk/usb.h \
	ddk/usb100.h \
	ddk/usb200.h \
	ddk/usbdlib.h \
	ddk/usbioctl.h \
	ddk/usbiodef.h \
	ddk/wdm.h \
	ddk/winddiui.h \
	ddk/winsplp.h \
	ddraw.h \
	ddrawgdi.h \
	ddrawi.h \
	delayloadhandler.h \
	devenum.idl \
	devguid.h \
	devpkey.h \
	devpropdef.h \
	difxapi.h \
	digitalv.h \
	dinput.h \
	dinputd.h \
	dispdib.h \
	dlgs.h \
	dls1.h \
	dls2.h \
	dmdls.h \
	dmerror.h \
	dmksctrl.h \
	dmo.h \
	dmoreg.h \
	dmort.h \
	dmplugin.h \
	dmusbuff.h \
	dmusicc.h \
	dmusicf.h \
	dmusici.h \
	dmusics.h \
	dpaddr.h \
	dplay.h \
	dplay8.h \
	dplobby.h \
	dplobby8.h \
	dpnathlp.h \
	dsconf.h \
	dsgetdc.h \
	dshow.h \
	dsound.h \
	dsrole.h \
	dvdmedia.h \
	dvoice.h \
	dwmapi.h \
	dxdiag.h \
	dxerr8.h \
	dxerr9.h \
	dxfile.h \
	dxgiformat.h \
	dxgitype.h \
	dyngraph.idl \
	errorrep.h \
	errors.h \
	errrec.idl \
	evcode.h \
	evntprov.h \
	evntrace.h \
	excpt.h \
	exdispid.h \
	fci.h \
	fdi.h \
	fileapi.h \
	fltdefs.h \
	gdiplus.h \
	gdipluscolor.h \
	gdipluscolormatrix.h \
	gdiplusenums.h \
	gdiplusflat.h \
	gdiplusgpstubs.h \
	gdiplusimaging.h \
	gdiplusinit.h \
	gdiplusmem.h \
	gdiplusmetaheader.h \
	gdipluspixelformats.h \
	gdiplustypes.h \
	guiddef.h \
	hidusage.h \
	highlevelmonitorconfigurationapi.h \
	hlguids.h \
	htmlhelp.h \
	http.h \
	httprequestid.h \
	i_cryptasn1tls.h \
	icm.h \
	icmpapi.h \
	idispids.h \
	ifdef.h \
	ifmib.h \
	imagehlp.h \
	imm.h \
	in6addr.h \
	inaddr.h \
	initguid.h \
	intshcut.h \
	ipexport.h \
	iphlpapi.h \
	ipifcons.h \
	ipmib.h \
	iprtrmib.h \
	iptypes.h \
	isguids.h \
	knownfolders.h \
	ks.h \
	ksguid.h \
	ksmedia.h \
	ksuuids.h \
	lm.h \
	lmaccess.h \
	lmapibuf.h \
	lmat.h \
	lmbrowsr.h \
	lmcons.h \
	lmerr.h \
	lmjoin.h \
	lmmsg.h \
	lmserver.h \
	lmshare.h \
	lmstats.h \
	lmuse.h \
	lmuseflg.h \
	lmwksta.h \
	loadperf.h \
	lowlevelmonitorconfigurationapi.h \
	lzexpand.h \
	mapi.h \
	mapicode.h \
	mapidefs.h \
	mapiform.h \
	mapiguid.h \
	mapitags.h \
	mapiutil.h \
	mapival.h \
	mapix.h \
	mciavi.h \
	mcx.h \
	mediaerr.h \
	mferror.h \
	midles.h \
	minmax.h \
	mmddk.h \
	mmreg.h \
	mmsystem.h \
	mprapi.h \
	mprerror.h \
	msacm.h \
	msacmdlg.h \
	msacmdrv.h \
	msasn1.h \
	mscat.h \
	msdaguid.h \
	mshtmcid.h \
	mshtmdid.h \
	msi.h \
	msidefs.h \
	msiquery.h \
	mssip.h \
	mstcpip.h \
	msvcrt/assert.h \
	msvcrt/conio.h \
	msvcrt/crtdbg.h \
	msvcrt/crtdefs.h \
	msvcrt/ctype.h \
	msvcrt/direct.h \
	msvcrt/dirent.h \
	msvcrt/dos.h \
	msvcrt/eh.h \
	msvcrt/errno.h \
	msvcrt/fcntl.h \
	msvcrt/float.h \
	msvcrt/io.h \
	msvcrt/limits.h \
	msvcrt/locale.h \
	msvcrt/malloc.h \
	msvcrt/math.h \
	msvcrt/mbctype.h \
	msvcrt/mbstring.h \
	msvcrt/memory.h \
	msvcrt/process.h \
	msvcrt/search.h \
	msvcrt/setjmp.h \
	msvcrt/share.h \
	msvcrt/signal.h \
	msvcrt/stddef.h \
	msvcrt/stdio.h \
	msvcrt/stdlib.h \
	msvcrt/string.h \
	msvcrt/sys/locking.h \
	msvcrt/sys/stat.h \
	msvcrt/sys/timeb.h \
	msvcrt/sys/types.h \
	msvcrt/sys/unistd.h \
	msvcrt/sys/utime.h \
	msvcrt/time.h \
	msvcrt/unistd.h \
	msvcrt/wchar.h \
	msvcrt/wctype.h \
	mswsock.h \
	msxml2did.h \
	msxml6did.h \
	msxmldid.h \
	nb30.h \
	ndrtypes.h \
	nldef.h \
	npapi.h \
	nspapi.h \
	ntddcdrm.h \
	ntddndis.h \
	ntddscsi.h \
	ntddstor.h \
	ntdef.h \
	ntdsapi.h \
	ntquery.h \
	ntsecapi.h \
	ntsecpkg.h \
	ntstatus.h \
	objbase.h \
	objsel.h \
	odbcinst.h \
	ole2.h \
	ole2ver.h \
	oleauto.h \
	olectl.h \
	oledberr.h \
	oledlg.h \
	opnrst.idl \
	patchapi.h \
	pdh.h \
	pdhmsg.h \
	physicalmonitorenumerationapi.h \
	pktdef.h \
	poppack.h \
	powrprof.h \
	profinfo.h \
	propkey.h \
	propkeydef.h \
	propvarutil.h \
	prsht.h \
	psapi.h \
	pshpack1.h \
	pshpack2.h \
	pshpack4.h \
	pshpack8.h \
	ras.h \
	rasdlg.h \
	raserror.h \
	reason.h \
	regstr.h \
	restartmanager.h \
	richedit.h \
	rmxfguid.h \
	roapi.h \
	row.idl \
	rowchg.idl \
	rowpos.idl \
	rowpsc.idl \
	rpc.h \
	rpcasync.h \
	rpcdce.h \
	rpcdcep.h \
	rpcndr.h \
	rpcnterr.h \
	rpcproxy.h \
	rpcsal.h \
	rstbas.idl \
	rstinf.idl \
	rstloc.idl \
	rstnot.idl \
	rtutils.h \
	scarderr.h \
	schannel.h \
	schemadef.h \
	schnlsp.h \
	sddl.h \
	secext.h \
	security.h \
	sensapi.h \
	sesprp.idl \
	setupapi.h \
	sfc.h \
	shdispid.h \
	shellapi.h \
	shlguid.h \
	shlobj.h \
	shlwapi.h \
	sipbase.h \
	slerror.h \
	slpublic.h \
	snmp.h \
	softpub.h \
	sql.h \
	sqlext.h \
	sqltypes.h \
	srcrst.idl \
	srrestoreptapi.h \
	sspi.h \
	sti.h \
	storage.h \
	strsafe.h \
	svrapi.h \
	t2embapi.h \
	tapi.h \
	tchar.h \
	tcpmib.h \
	textserv.h \
	tlhelp32.h \
	tmschema.h \
	traffic.h \
	twain.h \
	udpmib.h \
	uiautomation.h \
	uiautomationcoreapi.h \
	userenv.h \
	usp10.h \
	uuids.h \
	uxtheme.h \
	vdmdbg.h \
	ver.h \
	verrsrc.h \
	vfw.h \
	vfwmsgs.h \
	vmrender.idl \
	vsstyle.h \
	vssym32.h \
	vswriter.h \
	werapi.h \
	wfext.h \
	wia.h \
	winbase.h \
	wincon.h \
	wincred.h \
	wincrypt.h \
	windef.h \
	windns.h \
	windows.h \
	windowsx.h \
	wine/debug.h \
	wine/exception.h \
	wine/library.h \
	wine/unicode.h \
	winerror.h \
	winevt.h \
	wingdi.h \
	winhttp.h \
	wininet.h \
	winineti.h \
	winioctl.h \
	winldap.h \
	winnetwk.h \
	winnls.h \
	winnls32.h \
	winnt.h \
	winnt.rh \
	winperf.h \
	winreg.h \
	winresrc.h \
	winsafer.h \
	winscard.h \
	winsmcrd.h \
	winsnmp.h \
	winsock.h \
	winsock2.h \
	winspool.h \
	winstring.h \
	winsvc.h \
	wintab.h \
	wintabx.h \
	winternl.h \
	wintrust.h \
	winuser.h \
	winuser.rh \
	winver.h \
	wmistr.h \
	wnaspi32.h \
	wownt32.h \
	ws2def.h \
	ws2ipdef.h \
	ws2spi.h \
	ws2tcpip.h \
	wshisotp.h \
	wsipx.h \
	wsnwlink.h \
	wtsapi32.h \
	xcmc.h \
	xinput.h \
	xmldom.h \
	xmldom.idl \
	xmldomdid.h \
	xmldso.idl \
	xmldsodid.h \
	zmouse.h

IDL_H_SRCS = $(PUBLIC_IDL_H_SRCS) $(PRIVATE_IDL_H_SRCS)
IDL_SRCS = $(IDL_H_SRCS) $(IDL_TLB_SRCS)

OBJDIR_INCLUDES = $(PUBLIC_IDL_H_SRCS:.idl=.h) $(XTEMPLATE_SRCS:.x=.h)

all: $(IDL_H_SRCS:.idl=.h) $(IDL_TLB_SRCS:.idl=.tlb) $(XTEMPLATE_SRCS:.x=.h)

.PHONY: install install-dev uninstall

install install-dev:: $(OBJDIR_INCLUDES)
	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
	for f in $(OBJDIR_INCLUDES); do case $$f in \
	  wine/*)   $(INSTALL_DATA) $$f $(DESTDIR)$(includedir)/`expr $$f : 'wine/\(.*\)'` ;; \
	  msvcrt/*) $(INSTALL_DATA) $$f $(DESTDIR)$(includedir)/$$f ;; \
	  *)        $(INSTALL_DATA) $$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) $(OBJDIR_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
