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

INSTALLED_INCLUDES = \
	amaudio.h \
	amvideo.h \
	audevcod.h \
	basetsd.h \
	cderr.h \
	cguid.h \
	comcat.h \
	commctrl.h \
	commdlg.h \
	compobj.h \
	control.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 \
	dshow.h \
	dsound.h \
	errors.h \
	evcode.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/crtdbg.h \
	msvcrt/ctype.h \
	msvcrt/direct.h \
	msvcrt/dos.h \
	msvcrt/eh.h \
	msvcrt/fcntl.h \
	msvcrt/io.h \
	msvcrt/locale.h \
	msvcrt/malloc.h \
	msvcrt/process.h \
	msvcrt/search.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 \
	msvcrt/wctype.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 \
	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 \
	rpcnterr.h \
	servprov.h \
	setupapi.h \
	shellapi.h \
	shlguid.h \
	shlobj.h \
	shlwapi.h \
	sql.h \
	sqlext.h \
	sqltypes.h \
	storage.h \
	strmif.h \
	tapi.h \
	tlhelp32.h \
	unknwn.h \
	urlmon.h \
	uuids.h \
	ver.h \
	vfw.h \
	vfwmsgs.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_ksproperty.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_serviceprovider.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/obj_webbrowser.h \
	wine/unicode.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 \
	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:
