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

INSTALLED_INCLUDES = \
	basetsd.h \
	cderr.h \
	cguid.h \
	comcat.h \
	commctrl.h \
	commdlg.h \
	compobj.h \
	cpl.h \
	d3d.h \
	d3dcaps.h \
	d3dtypes.h \
	d3dvec.inl \
	dde.h \
	ddeml.h \
	ddraw.h \
	digitalv.h \
	dinput.h \
	dispdib.h \
	dlgs.h \
	docobj.h \
	dplay.h \
	dplobby.h \
	dsound.h \
	guiddef.h \
	imagehlp.h \
	imm.h \
	initguid.h \
	instance.h \
	lmcons.h \
	lzexpand.h \
	mapi.h \
	mapidefs.h \
	mciavi.h \
	mcx.h \
	minmax.h \
	mmreg.h \
	mmsystem.h \
	msacm.h \
	msacmdlg.h \
	msvcrt/conio.h \
	msvcrt/ctype.h \
	msvcrt/direct.h \
	msvcrt/dos.h \
	msvcrt/fcntl.h \
	msvcrt/io.h \
	msvcrt/process.h \
	msvcrt/stddef.h \
	msvcrt/stdio.h \
	msvcrt/stdlib.h \
	msvcrt/string.h \
	msvcrt/sys/stat.h \
	msvcrt/sys/timeb.h \
	msvcrt/sys/types.h \
	msvcrt/sys/utime.h \
	msvcrt/time.h \
	msvcrt/wchar.h \
	nspapi.h \
	ntsecapi.h \
	oaidl.h \
	objbase.h \
	objidl.h \
	ocidl.h \
	ole2.h \
	ole2ver.h \
	oleauto.h \
	olectl.h \
	oledlg.h \
	oleidl.h \
	poppack.h \
	process.h \
	prsht.h \
	psapi.h \
	pshpack1.h \
	pshpack2.h \
	pshpack4.h \
	pshpack8.h \
	ras.h \
	regstr.h \
	richedit.h \
	rpc.h \
	rpcdce.h \
	rpcdcep.h \
	rpcndr.h \
	servprov.h \
	setupapi.h \
	shellapi.h \
	shlguid.h \
	shlobj.h \
	shlwapi.h \
	sql.h \
	sqlext.h \
	sqltypes.h \
	storage.h \
	tapi.h \
	tlhelp32.h \
	unknwn.h \
	urlmon.h \
	ver.h \
	vfw.h \
	winbase.h \
	wincon.h \
	wincrypt.h \
	windef.h \
	windows.h \
	windowsx.h \
	wine/exception.h \
	wine/icmpapi.h \
	wine/ipexport.h \
	wine/library.h \
	wine/obj_base.h \
	wine/obj_cache.h \
	wine/obj_channel.h \
	wine/obj_clientserver.h \
	wine/obj_commdlgbrowser.h \
	wine/obj_connection.h \
	wine/obj_contextmenu.h \
	wine/obj_control.h \
	wine/obj_dataobject.h \
	wine/obj_dockingwindowframe.h \
	wine/obj_dragdrop.h \
	wine/obj_enumidlist.h \
	wine/obj_errorinfo.h \
	wine/obj_extracticon.h \
	wine/obj_inplace.h \
	wine/obj_marshal.h \
	wine/obj_misc.h \
	wine/obj_moniker.h \
	wine/obj_oleaut.h \
	wine/obj_olefont.h \
	wine/obj_oleobj.h \
	wine/obj_oleundo.h \
	wine/obj_oleview.h \
	wine/obj_picture.h \
	wine/obj_property.h \
	wine/obj_propertystorage.h \
	wine/obj_queryassociations.h \
	wine/obj_shellbrowser.h \
	wine/obj_shellextinit.h \
	wine/obj_shellfolder.h \
	wine/obj_shelllink.h \
	wine/obj_shellview.h \
	wine/obj_storage.h \
	wine/unicode.h \
	winerror.h \
	wingdi.h \
	wininet.h \
	winioctl.h \
	winnetwk.h \
	winnls.h \
	winnt.h \
	winreg.h \
	winresrc.h \
	winsock.h \
	winsock2.h \
	winspool.h \
	winsvc.h \
	winuser.h \
	winver.h \
	wnaspi32.h \
	wownt32.h \
	wshisotp.h \
	wsipx.h \
	wtypes.h \
	zmouse.h

EXTRASUBDIRS = bitmaps msvcrt msvcrt/sys wine

@MAKE_RULES@

install::
	[ -d $(includedir) ] || $(MKDIR) $(includedir)
	[ -d $(includedir)/wine ] || $(MKDIR) $(includedir)/wine
	[ -d $(includedir)/msvcrt ] || $(MKDIR) $(includedir)/msvcrt
	[ -d $(includedir)/msvcrt/sys ] || $(MKDIR) $(includedir)/msvcrt/sys
	for f in $(INSTALLED_INCLUDES); do $(INSTALL_DATA) $(SRCDIR)/$$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::
	cd $(includedir) && $(RM) $(INSTALLED_INCLUDES)
	-rmdir $(includedir)/wine/msvcrt/sys $(includedir)/wine/msvcrt
	-rmdir $(includedir)/wine $(includedir)

### Dependencies:
