EXTRADEFS = -D_SHELL32_ -DCOM_NO_WINDOWS_H
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
MODULE    = shell32.dll
IMPORTLIB = libshell32.$(IMPLIBEXT)
IMPORTS   = shlwapi comctl32 user32 gdi32 advapi32 kernel32 ntdll
DELAYIMPORTS = ole32 oleaut32
EXTRALIBS = -luuid $(LIBUNICODE)

C_SRCS = \
	authors.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 \
	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_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

RC_SRCS = shres.rc
RC_BINSRC = shres.rc
RC_BINARIES = \
	cdrom.ico \
	desktop.ico \
	document.ico \
	drive.ico \
	floppy.ico \
	folder.ico \
	folder_open.ico \
	mycomputer.ico \
	mydocs.ico \
	netdrive.ico \
	netdrive2.ico \
	printer.ico \
	ramdisk.ico \
	searching.avi \
	shortcut.ico

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

SUBDIRS = tests

@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)

depend: authors.c

clean::
	$(RM) authors.c

### Dependencies:
