TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ..
SRCDIR    = @srcdir@
VPATH	  = @srcdir@
MODULE	  = none

IDL_SRCS = \
	activscp.idl \
	amstream.idl \
	amvideo.idl \
	austream.idl \
	comcat.idl \
	control.idl \
	ddstream.idl \
	dispex.idl \
	docobj.idl \
	exdisp.idl \
	mediaobj.idl \
	mlang.idl \
	mmstream.idl \
	oaidl.idl \
	objidl.idl \
	ocidl.idl \
	oleidl.idl \
	propidl.idl \
	pstore.idl \
	richole.idl \
	servprov.idl \
	shldisp.idl \
	shobjidl.idl \
	shtypes.idl \
	strmif.idl \
	unknwn.idl \
	urlmon.idl \
	wtypes.idl

IDL_INCLUDES = \
	$(IDL_SRCS) \
	axcore.idl \
	axextend.idl \
	devenum.idl \
	dyngraph.idl

WINDOWS_INCLUDES = \
	$(IDL_INCLUDES) \
	accctrl.h \
	aclapi.h \
	advpub.h \
	audevcod.h \
	aviriff.h \
	basetsd.h \
	cderr.h \
	cguid.h \
	commctrl.h \
	commdlg.h \
	compobj.h \
	cpl.h \
	custcntl.h \
	cvconst.h \
	d3d.h \
	d3d8.h \
	d3d8caps.h \
	d3d8types.h \
	d3d9.h \
	d3d9caps.h \
	d3d9types.h \
	d3dcaps.h \
	d3dhal.h \
	d3dtypes.h \
	d3dvec.inl \
	d3dx8core.h \
	dbghelp.h \
	dbt.h \
	dde.h \
	ddeml.h \
	ddraw.h \
	ddrawi.h \
	devguid.h \
	digitalv.h \
	dinput.h \
	dispdib.h \
	dlgs.h \
	dls1.h \
	dls2.h \
	dmdls.h \
	dmerror.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 \
	dsconf.h \
	dsdriver.h \
	dshow.h \
	dsound.h \
	dxdiag.h \
	dxerr8.h \
	dxerr9.h \
	dxfile.h \
	evcode.h \
	excpt.h \
	exdispid.h \
	fci.h \
	fdi.h \
	guiddef.h \
	htmlhelp.h \
	icm.h \
	icmpapi.h \
	imagehlp.h \
	imm.h \
	initguid.h \
	ipexport.h \
	iphlpapi.h \
	ipifcons.h \
	iprtrmib.h \
	iptypes.h \
	ks.h \
	ksguid.h \
	ksmedia.h \
	lm.h \
	lmaccess.h \
	lmapibuf.h \
	lmbrowsr.h \
	lmcons.h \
	lmerr.h \
	lmserver.h \
	lmshare.h \
	lmstats.h \
	lmwksta.h \
	lzexpand.h \
	mapi.h \
	mapicode.h \
	mapidefs.h \
	mapiguid.h \
	mapitags.h \
	mapiutil.h \
	mapival.h \
	mapix.h \
	mciavi.h \
	mcx.h \
	mediaerr.h \
	minmax.h \
	mmddk.h \
	mmreg.h \
	mmsystem.h \
	msacm.h \
	msacmdlg.h \
	msacmdrv.h \
	mscat.h \
	msi.h \
	msiquery.h \
	mssip.h \
	mswsock.h \
	nb30.h \
	netspi.h \
	npapi.h \
	nspapi.h \
	ntddcdrm.h \
	ntddscsi.h \
	ntddstor.h \
	ntsecapi.h \
	ntstatus.h \
	objbase.h \
	ole2.h \
	ole2ver.h \
	oleauto.h \
	olectl.h \
	oledlg.h \
	pktdef.h \
	poppack.h \
	prsht.h \
	psapi.h \
	pshpack1.h \
	pshpack2.h \
	pshpack4.h \
	pshpack8.h \
	ras.h \
	reason.h \
	regstr.h \
	richedit.h \
	rpc.h \
	rpcdce.h \
	rpcdcep.h \
	rpcndr.h \
	rpcnterr.h \
	rpcproxy.h \
	schemadef.h \
	sddl.h \
	secext.h \
	setupapi.h \
	shellapi.h \
	shlguid.h \
	shlobj.h \
	shlwapi.h \
	sipbase.h \
	sql.h \
	sqlext.h \
	sqltypes.h \
	sspi.h \
	storage.h \
	strmif.h \
	tapi.h \
	tchar.h \
	tlhelp32.h \
	tmschema.h \
	uuids.h \
	uxtheme.h \
	ver.h \
	vfw.h \
	vfwmsgs.h \
	winbase.h \
	wincon.h \
	wincrypt.h \
	windef.h \
	windows.h \
	windowsx.h \
	winerror.h \
	wingdi.h \
	wininet.h \
	winioctl.h \
	winnetwk.h \
	winnls.h \
	winnt.h \
	winreg.h \
	winres.h \
	winresrc.h \
	winsock.h \
	winsock2.h \
	winspool.h \
	winsvc.h \
	wintab.h \
	wintabx.h \
	winternl.h \
	wintrust.h \
	winuser.h \
	winver.h \
	wnaspi32.h \
	wownt32.h \
	ws2spi.h \
	ws2tcpip.h \
	wshisotp.h \
	wsipx.h \
	wsnwlink.h \
	xcmc.h \
	zmouse.h

MSVCRT_INCLUDES = \
	msvcrt/conio.h \
	msvcrt/crtdbg.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/process.h \
	msvcrt/search.h \
	msvcrt/setjmp.h \
	msvcrt/share.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

WINE_INCLUDES = \
	debug.h \
	exception.h \
	library.h \
	unicode.h

EXTRASUBDIRS = msvcrt msvcrt/sys wine

@MAKE_RULES@

IDL_HEADERS = $(IDL_SRCS:.idl=.h)

all: $(IDL_HEADERS)

install:: $(IDL_HEADERS)
	$(MKINSTALLDIRS) $(includedir) $(includedir)/windows $(includedir)/msvcrt $(includedir)/msvcrt/sys
	for f in $(WINDOWS_INCLUDES); do $(INSTALL_DATA) $(SRCDIR)/$$f $(includedir)/windows/$$f; done
	for f in $(IDL_HEADERS); do $(INSTALL_DATA) $$f $(includedir)/windows/$$f; done
	for f in $(MSVCRT_INCLUDES); do $(INSTALL_DATA) $(SRCDIR)/$$f $(includedir)/$$f; done
	for f in $(WINE_INCLUDES); do $(INSTALL_DATA) $(SRCDIR)/wine/$$f $(includedir)/$$f; 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::
	[ -d $(includedir)/windows ] && cd $(includedir)/windows && $(RM) $(WINDOWS_INCLUDES) $(IDL_HEADERS) || true
	[ -d $(includedir) ] && cd $(includedir) && $(RM) $(MSVCRT_INCLUDES) $(WINE_INCLUDES) || true
	-rmdir $(includedir)/msvcrt/sys $(includedir)/msvcrt $(includedir)/windows $(includedir)

### Dependencies:
