CC 	= @CC@
CFLAGS 	= @CFLAGS@
XINCL 	= @x_includes@
TOPSRC  = @top_srcdir@
DIVINCL = -I$(TOPSRC)/include
LD	= @LD@
LDCOMBINEFLAGS = @LDCOMBINEFLAGS@
BUILD	= $(TOPSRC)/tools/build
@SET_MAKE@


MODULE 	= if1632

SRCS 	= callback.c relay.c relay32.c

DLLS16	= commdlg.spec compobj.spec ddeml.spec gdi.spec kernel.spec \
	keyboard.spec mmsystem.spec mouse.spec ole2.spec ole2conv.spec \
	ole2disp.spec ole2nls.spec ole2prox.spec olecli.spec olesvr.spec \
	shell.spec sound.spec storage.spec stress.spec system.spec \
	toolhelp.spec user.spec win87em.spec winprocs.spec winsock.spec

DLLS32	= gdi32.spec kernel32.spec shell32.spec user32.spec winprocs32.spec


OBJS = $(SRCS:.c=.o) $(DLLS16:.spec=.o) $(DLLS32:.spec=.o) call16.o call32.o

SFILES = $(DLLS16:.spec=.S)

.SUFFIXES: .spec

.c.o:
	$(CC) -c $(CFLAGS) $(XINCL) $(DIVINCL) -o $*.o $<

.S.o:
	$(CC) -c -o $*.o $<  

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

.spec.c:
	$(BUILD) -spec32 $< > $*.c

all: checkbuild $(MODULE).o

$(SFILES): $(TOPSRC)/tools/build

checkbuild:
	cd $(TOPSRC)/tools; $(MAKE) 'CC=$(CC)' 'CFLAGS=$(CFLAGS)' 'LD=$(LD)' 'LDCOMBINEFLAGS=$(LDCOMBINEFLAGS)' build

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

call32.S: $(SFILES)
	$(BUILD) -call32 `cat $(SFILES) | grep CallTo32_ | sed 's/.*CallTo32_\(.*\)/\1/' | sort | uniq` > call32.S

$(MODULE).o: $(OBJS)
	$(LD) $(LDCOMBINEFLAGS) $(OBJS) -o $(MODULE).o

depend:
	sed '/\#\#\# Dependencies/q' < Makefile > tmp_make
	$(CC) $(DIVINCL) $(XINCL) -MM $(SRCS) >> tmp_make
	mv tmp_make Makefile

clean:
	rm -f *.o \#*\# *~ tmp_make
	rm -f $(DLLS16:.spec=.S) $(DLLS32:.spec=.c) call32.S call16.S

distclean: clean
	rm -f Makefile

countryclean:

dummy:

### Dependencies:
