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

MODULE = if1632

#ifdef WINELIB
SRCS = \
	callback.c \
	relay.c
#else
SRCS = \
	call.S \
	callback.c \
	relay.c
#endif

DLLOBJS = \
	dll_gdi.o \
	dll_kernel.o \
	dll_keyboard.o \
	dll_mmsystem.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

#ifdef WINELIB
DLLOBJS=
#endif

OBJS1= $(SRCS:.S=.o)

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

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

WineRelocatableTarget($(TOP)/$(MODULE),,$(OBJS))
DependTarget()
CleanTarget()

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

includes::

install::

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