DEFS   = -D__WINE__ -DNO_TRANSITION_TYPES
TOPSRC = @top_srcdir@
MODULE = if1632

DLLS	= \
	advapi32.spec \
	comctl32.spec \
	comdlg32.spec \
	commdlg.spec \
	compobj.spec \
	crtdll.spec	\
	ddeml.spec \
	gdi.spec \
	gdi32.spec \
	kernel.spec \
	kernel32.spec \
	keyboard.spec \
	lz32.spec \
	lzexpand.spec \
	mmsystem.spec \
	mouse.spec \
	mpr.spec \
	ntdll.spec	\
	ole2.spec \
	ole2conv.spec \
	ole2disp.spec \
	ole2nls.spec \
	ole2prox.spec \
	ole32.spec \
	olecli.spec \
	olesvr.spec \
	shell.spec \
	shell32.spec \
	sound.spec \
	storage.spec \
	stress.spec \
	system.spec \
	toolhelp.spec \
	user.spec \
	user32.spec \
	ver.spec \
	version.spec \
	w32sys.spec \
	win87em.spec \
	winmm.spec \
	winsock.spec \
	winspool.spec \
	wprocs.spec \
	wsock32.spec

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

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

ASM_SRCS = \
	$(SPEC_FILES) \
	callfrom16.S \
	callfrom32.S \
	callto16.S \
	callto32.S \
	except.S

.SUFFIXES: .spec

.spec.S:
	$(BUILD) -spec $< > $*.S

all: checkbuild $(MODULE).o

@MAKE_RULES@

$(SPEC_FILES): $(BUILD)

$(BUILD) checkbuild:
	cd $(TOPSRC)/tools; $(SUBMAKE) build

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

callfrom32.S: $(SPEC_FILES)
	$(BUILD) -callfrom32 `cat $(SPEC_FILES) | grep CallFrom32_ | sed 's/.*CallFrom32_\(.*\)/\1/' | sort | uniq` > callfrom32.S

callto16.S: $(TOPSRC)/include/callback.h $(BUILD)
	$(BUILD) -callto16 `cat $(TOPSRC)/include/callback.h | grep "extern.*CallTo16_" | sed 's/.*CallTo16_\(.*\)(.*/\1/' | sort | uniq` > callto16.S

callto32.S: $(TOPSRC)/include/callback.h $(BUILD)
	$(BUILD) -callto32 `cat $(TOPSRC)/include/callback.h | grep "extern.*CallTo32_" | sed 's/.*CallTo32_\(.*\)(.*/\1/' | sort | uniq` > callto32.S

clean::
	rm -f $(SPEC_FILES) callfrom16.S callfrom32.S callto16.S callto32.S

### Dependencies:
