TOPSRC = @top_srcdir@

MODULE = if1632

DLLS	= \
	advapi32.spec \
	comctl32.spec \
	comdlg32.spec \
	commdlg.spec \
	compobj.spec \
	ddeml.spec \
	gdi.spec \
	gdi32.spec \
	kernel.spec \
	kernel32.spec \
	keyboard.spec \
	lzexpand.spec \
	mmsystem.spec \
	mouse.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 \
	w32sys.spec \
	win87em.spec \
	winprocs.spec \
	winprocs32.spec \
	winsock.spec \
	winspool.spec

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

C_SRCS = \
	callback.c \
	dummy.c \
	relay.c \
	relay32.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_\([0-9]*\)/\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:
