.KEEP_STATE:

# Name of program to build
TARGET=sherlock

#Uncomment the next 2 lines if using gcc
#EXTRA_DEFINES=-traditional -fpcc-struct-return -c -O
#CC=gcc

#Compile/link flags
YFLAGS=-D

#Uncomment if debugging
CDEBUGFLAGS=-g
#CDEBUGFLAGS=-O

OBJS=	batch.o calc.o callbacks.o cleanup.o corr.o error.o fourt.o freq.o\
	get.o globals.o grammar.o init.o io.o lexical.o lps.o notice.o\
	random.o run.o sherlock.o space.o timer.o ui_globals.o ui_utils.o\
	xvgr.o
SYS_LIBRARIES=-lxview -lolgx -lX11 -lm

.y.o:
	${YACC} ${YFLAGS} $<
	sh -c 'cmp -s y.tab.h $< || cp y.tab.h $*.h'
	rm -f y.tab.h
	${CC} -c ${CFLAGS} y.tab.c
	mv y.tab.o $*.o
	rm y.tab.c

all: ${TARGET} header_util

NormalProgramTarget(${TARGET},${OBJS},,,)
NormalProgramTarget(header_util,header_util.o,,,)

project := CDEBUGFLAGS=-g
project: ${TARGET}
	#setopt program_name ${TARGET}
	#setopt load_flags ${CFLAGS}
	#setopt make_args CDEBUGFLAGS=-g
	#load ${CFLAGS} ${OBJS} ${LDLIBS}
	#link

clean::
	rm -f lexical.c grammar.h

