DEFS      = -D__WINE__
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
MODULE    = if1632

DLLS = \
	commdlg.spec \
	compobj.spec \
	ddeml.spec \
	gdi.spec \
	kernel.spec \
	keyboard.spec \
	lzexpand.spec \
	mmsystem.spec \
	mouse.spec \
	ole2.spec \
	ole2conv.spec \
	ole2disp.spec \
	ole2nls.spec \
	ole2prox.spec \
	ole2thk.spec \
	olecli.spec \
	olesvr.spec \
	shell.spec \
	sound.spec \
	storage.spec \
	stress.spec \
	system.spec \
	toolhelp.spec \
	user.spec \
	ver.spec \
	w32sys.spec \
	win32s16.spec \
	win87em.spec \
	winaspi.spec \
	windebug.spec \
	wing.spec \
	winsock.spec \
	wprocs.spec

SPEC_FILES = $(DLLS:.spec=.s)

C_SRCS = \
	builtin.c \
	dummy.c \
	relay.c \
	signal.c \
	thunk.c

GEN_ASM_SRCS = \
	$(SPEC_FILES) \
	callfrom16.s \
	callto16.s

.SUFFIXES: .spec

.spec.s:
	$(BUILD) -o $@ -spec $<

all: checkbuild $(MODULE).o

@MAKE_RULES@

$(SPEC_FILES): $(BUILD)

callfrom16.s: $(SPEC_FILES)
	$(BUILD) -o $@ -callfrom16 `cat $(SPEC_FILES) | grep CallFrom16_ | sed 's/.*CallFrom16_\(.*\)/\1/' | sort | uniq`

callto16.s: $(SRCDIR)/thunk.c $(BUILD)
	$(BUILD) -o $@ -callto16 $(SRCDIR)/thunk.c

### Dependencies:
