#include "../Wine.tmpl"

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

MODULE = debugger

SUBDIRS = opcodes readline

DEFINES = -DUSE_READLINE -Iopcodes

SRCS = \
	dbg.tab.c \
	break.c \
	hash.c \
	lex.yy.c \
	info.c

SUBDIRS_OBJS = \
	opcodes/opcodes.o \
	readline/readline.o

OBJS = $(SRCS:.c=.o) $(SUBDIRS_OBJS)

/*
 * All the SUBDIR stuff
 */
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))

/*
 * The main act
 */
WineRelocatableTarget($(MODULE),,$(OBJS))

depend:: dbg.tab.c dbg.tab.h lex.yy.c

DependTarget()

includes::

install::

clean::
	$(RM) lex.yy.c dbg.tab* y.tab.c

dbg.tab.c dbg.tab.h: dbg.y
	$(YACC) -b dbg -d dbg.y

lex.yy.c: debug.l
	$(LEX) -I debug.l
