#include "../autoconf.h"
#include "../Wine.tmpl"

MODULE = if1632

SRCS = \
	callback.c \
	relay.c

#ifdef WINELIB
CALLOBJS =
DLLOBJS =
#else
CALLOBJS = call.o
DLLOBJS = \
	dll_commdlg.o \
	dll_gdi.o \
	dll_kernel.o \
	dll_keyboard.o \
	dll_mmsystem.o \
	dll_mouse.o \
	dll_shell.o \
	dll_sound.o \
	dll_stress.o \
	dll_system.o \
	dll_toolhelp.o \
	dll_unixlib.o \
	dll_user.o \
	dll_win87em.o \
	dll_winsock.o
#endif

#ifndef NewBuild
OBJS = $(CALLOBJS) $(DLLOBJS) $(SRCS:.c=.o) $(DLLOBJS:.o=_tab.o)
#else
OBJS = $(CALLOBJS) $(DLLOBJS) $(SRCS:.c=.o) $(DLLOBJS:.o=_tab.o) $(DLLOBJS:dll_.rly_)
#endif

/*
 * If you add a new spec file, copy one of these lines
 */
MakeDllFromSpec(commdlg)
MakeDllFromSpec(gdi)
MakeDllFromSpec(kernel)
MakeDllFromSpec(keyboard)
MakeDllFromSpec(shell)
MakeDllFromSpec(mmsystem)
MakeDllFromSpec(mouse)
MakeDllFromSpec(sound)
MakeDllFromSpec(stress)
MakeDllFromSpec(system)
MakeDllFromSpec(toolhelp)
MakeDllFromSpec(unixlib)
MakeDllFromSpec(user)
MakeDllFromSpec(win87em)
MakeDllFromSpec(winsock)

WineRelocatableTarget($(MODULE),,$(OBJS))
DependTarget()

#ifndef WINELIB
pop.h: $(TOP)/tools/build
	$(TOP)/tools/build -p

call.o: call.S pop.h
	$(CC) -I. -c -o call.o call.S
#endif

includes::
	touch pop.h

install::

clean::
	$(RM) dll* dtb* pop.h call.s
