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

#if defined(i386FreeBsd) || defined(FreeBSDArchitecture)
MAKE = gmake
#endif

DEFINES = AutoDefines -DUSE_READLINE

/*
 * This is the second try at using Imakefiles. There are probably many
 * problems and things I haven't even considered. I do not have a fixed
 * Linux system to test them on, but thanks to Thomas Michlmayr
 * <tmichl@cosy.sbg.ac.at> for use of one of his boxes. 
 *
 * SEE BELOW ABOUT DEBUGGING AND LINUX
 *
 * Peter Galbavy, 31st Jan 1994: peter@wonderland.org
 */

#define IHaveSubdirs
#define	PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' 'CC=$(CC)' 'MAKE=$(MAKE)'\
			'DEFINES=$(DEFINES)' 'LD=$(LD)' 'ASFLAGS=$(ASFLAGS)'

COMMONSUBDIRS = \
	controls \
	rc \
	ipc \
	loader \
	misc \
	multimedia \
	objects \
	windows

EMUSUBDIRS = \
	tools \
	debugger \
	if1632 \
	memory \
	miscemu

LIBSUBDIRS = \
	toolkit

WINEDIR = $(LIBDIR)/wine

COMMONOBJS = \
	controls/controls.o \
	ipc/ipc.o \
	loader/loader.o \
	misc/misc.o \
	multimedia/multimedia.o \
	objects/objects.o \
	rc/rc.o \
	windows/windows.o

EMUOBJS = \
	debugger/debugger.o \
	if1632/if1632.o \
	memory/memory.o \
	miscemu/miscemu.o

LIBOBJS = \
	toolkit/toolkit.o

#ifndef WINELIB
SUBDIRS = $(COMMONSUBDIRS) $(EMUSUBDIRS)
OBJS = $(EMUOBJS) $(COMMONOBJS)
#else
SUBDIRS = $(COMMONSUBDIRS) $(LIBSUBDIRS)
OBJS = $(LIBOBJS) $(COMMONOBJS)
#endif

#ifdef i386BsdArchitecture
SYSLIBS = -ll -lm -li386 -lgnumalloc
#endif
#if defined(i386FreeBsd) || defined(FreeBSDArchitecture)
SYSLIBS = -ll -lm -lgnumalloc
#endif
#ifdef LinuxArchitecture
SYSLIBS = -lm -lg
#endif

/* You may need to add the full path of your libXpm here */
XPM_LIB = -lXpm

#ifdef MALLOC_DEBUGGING
MALLOCLIB = -lmcheck
#else
MALLOCLIB =
#endif

MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))

#ifndef WINELIB
NormalProgramTarget(wine,$(OBJS),$(DEPXLIB),$(XPM_LIB) $(XLIB),$(MALLOCLIB) $(SYSLIBS))
AllTarget(wine.sym)
#else
NormalLibraryTarget(wine,$(OBJS))
#endif

wine.sym: wine
	nm wine|grep -v _compiled|sort >wine.sym

clean::
	$(RM) wine.sym

depend::

install::

etags::
	etags `find . -name '*.[chS]' -print`

distclean: clean
	echo "/* autoconf.h generated automatically.  Run Configure */" >autoconf.h
	echo "#error You must run Configure before you can build the makefiles." >>autoconf.h
	$(RM) config.* `find . -name Makefile -print`
