EXTRADEFS = -D_SHELL32_ -DCOM_NO_WINDOWS_H
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
MODULE    = shell32.dll
IMPORTLIB = shell32
IMPORTS   = uuid shlwapi comctl32 user32 gdi32 advapi32 kernel32 ntdll
DELAYIMPORTS = ole32 oleaut32 shdocvw

C_SRCS = \
	appbar.c \
	autocomplete.c \
	brsfolder.c \
	changenotify.c \
	classes.c \
	clipboard.c \
	control.c \
	cpanelfolder.c \
	dde.c \
	dataobject.c \
	debughlp.c \
	dialogs.c \
	dragdrophelper.c \
	enumidlist.c \
	folders.c \
	iconcache.c \
	pidl.c \
	recyclebin.c \
	regsvr.c \
	shell32_main.c \
	shelllink.c \
	shellole.c \
	shellord.c \
	shellpath.c \
	shellreg.c \
	shellstring.c \
	shfldr_desktop.c \
	shfldr_fs.c \
	shfldr_mycomp.c \
	shfldr_netplaces.c \
	shfldr_unixfs.c \
	shlexec.c \
	shlfileop.c \
	shlfolder.c \
	shlfsbind.c \
	shlmenu.c \
	shlview.c \
	shpolicy.c \
	shv_bg_cmenu.c \
	shv_item_cmenu.c \
	systray.c \
	trash.c \
	xdg.c

RC_SRCS = shres.rc

SVG_SRCS = \
	desktop.svg \
	folder.svg \
	folder_open.svg \
	mycomputer.svg \
	mydocs.svg \
	trash_file.svg

C_SRCS16  = shell.c
RC_SRCS16 = version16.rc
SPEC_SRCS16 = shell.spec

EXTRA_OBJS = authors.o

@MAKE_DLL_RULES@

# Special rules for 16-bit resource files

version16.res: version16.rc
	$(LDPATH) $(RC16) $(RC16FLAGS) -fo$@ $(SRCDIR)/version16.rc

shell.spec.o: shell.spec version16.res
	$(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --res version16.res --export $(SRCDIR)/shell.spec

authors.c: $(TOPSRCDIR)/AUTHORS
	(LC_ALL=C; export LC_ALL; echo 'const char * const SHELL_Authors[] = {' && \
	 sed -e '1,2d' -e 's/\(.*\)/  \"\1\",/' $(TOPSRCDIR)/AUTHORS && \
	 echo '  0 };') >$@ || ($(RM) $@ && false)

clean::
	$(RM) authors.c

@DEPENDENCIES@  # everything below this line is overwritten by make depend
