/********************************************************************************
 * Copyright (c) Des Herriott 1993, 1994
 *               Erik Kunze   1995 - 1998
 *
 * Permission to use, distribute, and sell this software and its documentation
 * for any purpose is hereby granted without fee, provided that the above
 * copyright notice appear in all copies and that both that copyright notice and
 * this permission notice appear in supporting documentation, and that the name
 * of the copyright holder not be used in advertising or publicity pertaining to
 * distribution of the software without specific, written prior permission.  The
 * copyright holder makes no representations about the suitability of this
 * software for any purpose.  It is provided "as is" without express or implied
 * warranty. THE CODE MAY NOT BE MODIFIED OR REUSED WITHOUT PERMISSION!
 *
 * THE COPYRIGHT HOLDER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 * EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, INDIRECT OR
 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 * PERFORMANCE OF THIS SOFTWARE.
 *
 * Author: Des Herriott
 *         Erik Kunze
 *******************************************************************************/

/* $Id: Imakefile,v 4.1 1998/01/06 21:15:59 erik Rel $ */

#if ProjectX < 5
#define XCOMM #
#define NullParameter
#define InstallNonExecFile InstallNonExec
#endif

XCOMM Imakefile for XZX

PROGRAMS = xzx

#include <../xzx.config>

#ifdef REGISTERED
ADDITIONAL_DIR = registered
#else
ADDITIONAL_DIR = free
#endif

SUBDIRS = audio $(ADDITIONAL_DIR)

SRCS =	debug.c dis.c emul.c if1.c io.c joystick.c loadsave.c main.c mem.c \
	snapshot.c tables.c tap.c tzx.c util.c

OBJS =	debug.o dis.o emul.o if1.o io.o joystick.o loadsave.o main.o mem.o \
	snapshot.o tables.o tap.o tzx.o util.o

XCOMM --- Do not change anything below this line ---

/* Additional compiler flags ***************************************************/

LOCAL_CCOPTIONS = -I. -I./z80 -I./audio -I./$(ADDITIONAL_DIR)

#ifdef NecArchitecture
CCOPTIONS = $(LOCAL_CCOPTIONS) -ZXNd=8000 -ZXNp=8000 -KOlimit=2000
#else
CCOPTIONS = $(LOCAL_CCOPTIONS) -I/usr/local/X11R6/include
#endif

#ifdef REGISTERED
DEFINES = -DREGISTERED
#endif

DEPENDFLAGS = $(CCOPTIONS) $(DEFINES)

/* Additional libraries ********************************************************/

#ifdef REGISTERED
LOCAL_LDFLAGS = -L./audio -L./$(ADDITIONAL_DIR) -lXm -lXt -lXpm
#else
LOCAL_LDFLAGS = -L./audio -L./$(ADDITIONAL_DIR)
#endif

/* Linux usally has flex and libfl.a installed. */

#ifdef LinuxArchitecture
LOCAL_LIBRARIES = -lxzx -laudio -lfl $(LOCAL_LDFLAGS) -L/usr/local/X11R6/lib
#else
LOCAL_LIBRARIES = -lxzx -laudio -ll  $(LOCAL_LDFLAGS)
#endif

/* Make targets ****************************************************************/

#define IHaveSubdirs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'

AllTarget($(PROGRAMS))
DependTarget()
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
NormalProgramTarget(xzx,$(OBJS),libaudio libxzx,$(LOCAL_LIBRARIES),$(XLIB))

/* Additional rules for xzx libraries. Does not work without this! *************/

libaudio::
	(cd audio; \
	 $(MAKE) $(MFLAGS) 'CDEBUGFLAGS=$(CDEBUGFLAGS)' all)

libxzx::
	(cd $(ADDITIONAL_DIR); \
	 $(MAKE) $(MFLAGS) 'CDEBUGFLAGS=$(CDEBUGFLAGS)' all)

/* Installation ****************************************************************/

/* Define this if you want XZX installed suid root. Only bother doing this on
   Linux with PC Speaker support defined. */

#if defined(LinuxArchitecture) && defined(i386Architecture)
#define InstallXzxSetUID
#endif

#ifdef InstallXzxSetUID
InstallProgramWithFlags(xzx,$(BINDIR),$(INSTUIDFLAGS))
#else
InstallProgramWithFlags(xzx,$(BINDIR),NullParameter)
#endif

/* EOF *************************************************************************/
