# Generated automatically from Makefile.in by configure.
SHELL=/bin/sh


INSTALL=/usr/bin/install -c
INSTALL_PROGRAM=${INSTALL}
prefix=/usr/local
exec_prefix=${prefix}
bindir=${exec_prefix}/bin
libdir=${exec_prefix}/lib
includedir=${prefix}/include
mandir=${prefix}/man

top_srcdir=.
srcdir=.

CC=gcc
CPPFLAGS=
DEFS= -DYYTEXT_POINTER=1  -DNAWM_DEFAULT_LIBPATH=\"$(libdir)/nawm\"
CFLAGS=-g
X_CFLAGS= -I/usr/X11R6/include
ALL_CFLAGS=$(DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS)
LDFLAGS= -export-dynamic
X_LDFLAGS= -L/usr/X11R6/lib  
ALL_LDFLAGS=$(LDFLAGS) $(X_LDFLAGS)
LIBS=  -lSM -lICE -lXtst -lXext -lX11 
INSTALL=/usr/bin/install -c
INSTALL_PROGRAM=${INSTALL}
MV=mv
RM=rm -f

YACC=yacc -t

LEX=flex
LEX_OUTPUT_ROOT=lex.yy

all: nawm mods

SRCS=	parser.c array.c bindings.c cache.c dtype.c eval.c \
	keymap.c lexer.c mem.c mod.c nawm.c
OBJS=	parser.o array.o bindings.o cache.o dtype.o eval.o \
	keymap.o lexer.o mem.o mod.o nawm.o

.c.o:
	$(CC) -c -I. -I$(srcdir) $(ALL_CFLAGS) $<

parser.c: parser.y
	$(YACC) -d $(srcdir)/parser.y
	@$(MV) y.tab.c parser.c
	@cmp -s y.tab.h parser.h || $(MV) y.tab.h parser.h
	-@$(RM) y.tab.c y.tab.h

lexer.c: lexer.l
	$(LEX) $(srcdir)/lexer.l
	@$(MV) $(LEX_OUTPUT_ROOT).c lexer.c
	-@$(RM) $(LEX_OUTPUT_ROOT).c

nawm: $(OBJS)
	$(CC) -o nawm $(ALL_LDFLAGS) $(OBJS) $(LIBS)

mods:
	@echo "Making all in modules"
	@(cd modules; $(MAKE) all)

clean:
	-$(RM) nawm $(OBJS) parser.c parser.h lexer.c
	-$(RM) *~ core nawm.core
	@(cd modules; $(MAKE) clean)

distclean: clean
	-$(RM) Makefile config.cache config.log config.status
	@(cd modules; $(MAKE) distclean)

install: all
	${top_srcdir}/mkinstalldirs $(DESTDIR)$(bindir)
	${top_srcdir}/mkinstalldirs $(DESTDIR)$(includedir)
	${top_srcdir}/mkinstalldirs $(DESTDIR)$(mandir)/man1
	$(INSTALL) -m 755 nawm $(DESTDIR)$(bindir)
	$(INSTALL) -m 644 $(top_srcdir)/nawmmod.h $(DESTDIR)$(includedir)
	$(INSTALL) -m 644 $(top_srcdir)/nawm.1 $(DESTDIR)$(mandir)/man1
	@(cd modules; $(MAKE) install)

array.o: nawm.h
bindings.o: nawm.h parser.h
cache.o: cache.h nawm.h
dtype.o: nawm.h
eval.o: nawm.h parser.h
keymap.o: nawm.h
lexer.o: nawm.h parser.h
mem.o: nawm.h
mod.o: nawm.h
nawm.o: cache.h nawm.h
parser.o: nawm.h
