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

#if defined(i386FreeBsd) || defined(FreeBSDArchitecture)
MAKE = gmake
CC = gcc -D__FreeBSD__
#endif

DEFINES = AutoDefines -DUSE_READLINE -DWINESTAT

/*
 * 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)'

COMMONSUBDIRS = \
	controls \
	etc \
	include \
	rc \
	loader \
	misc \
	multimedia \
	objects \
	test \
	windows

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

LIBSUBDIRS = \
	toolkit

WINEDIR = $(LIBDIR)/wine

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

/*
 * WARNING: if1632.o must be the first object file because its code must be
 *          linked at the lowest possible addresses.
 */
EMUOBJS = \
	if1632.o \
	debugger.o \
	memory.o \
	miscemu.o \
	opcodes.o \
	readline.o

LIBOBJS = \
	toolkit.o

#ifndef WINELIB
SUBDIRS = $(COMMONSUBDIRS) $(EMUSUBDIRS)
OBJS = $(COMMONOBJS) $(EMUOBJS)
#else
SUBDIRS = $(COMMONSUBDIRS) $(LIBSUBDIRS)
OBJS = $(COMMONOBJS) $(LIBOBJS)
#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

#ifdef USE_XPM
XPM_LIB = -lXpm
#else
XPM_LIB =
#endif

MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
AllTarget(wine.sym)

#ifndef WINELIB
NormalProgramTarget(wine,$(EMUOBJS) $(COMMONOBJS),$(DEPXLIB),$(XPM_LIB) $(XLIB),$(SYSLIBS))
#else
NormalLibraryTarget(wine,$(LIBOBJS) $(COMMONOBJS))
#endif

wine.sym: wine
	nm wine|sort >wine.sym

clean::
	$(RM) wine.sym

depend::

install::

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

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