#
#  Windfreak Technologies SynthNV Series RF Signal Generator Library
#  Copyright © 2013 D Scott Guthridge <pdx_scooter@yahoo.com>
# 
#  This program is free software: you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published
#  by the Free Software Foundation, either version 3 of the License, or
#  (at your option) any later version.
# 
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
#  General Public License for more details.
# 
#  You should have received a copy of the GNU General Public License
#  along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
DESTDIR=
VERSION=0.0.0
INCLUDEDIR=/usr/local/include
LIBDIR=/usr/local/lib
BINDIR=/usr/local/bin
MANDIR=/usr/local/share/man

CFLAGS=-Wall -O2 -I../libwfsyn

HDR=	main.h error.h
SRC=	main.c error.c
GENDHR=	y.tab.h lex.yy.h
GENSRC=	y.tab.c lex.yy.c
OBJ=	main.o y.tab.o lex.yy.o error.o

TARSRC=	Makefile ${HDR} ${SRC} scan.l gram.y wfsyn.1

YACC=bison --yacc

all: wfsyn wfsyn.1

wfsyn: ${OBJ}
	${CC} -o "$@" ${CFLAGS} ${OBJ} -L../libwfsyn -Wl,-rpath=../libwfsyn \
		-lwfsyn -lm

y.tab.h: gram.y
	${YACC} -d -v gram.y

y.tab.c: y.tab.h

y.tab.o: y.tab.c lex.yy.h

lex.yy.h: scan.l
	${LEX} --header-file=lex.yy.h scan.l

lex.yy.c: lex.yy.h

lex.yy.o: lex.yy.c y.tab.h

main.o: main.c lex.yy.h y.tab.h

wfsyn.pdf: wfsyn.1
	pdfroff -t -man --no-toc-relocation wfsyn.1 > "$@"

clean:
	rm -f *.o lex.yy.h lex.yy.c y.tab.h y.tab.c y.output wfsyn wfsyn.pdf

depend: ${HDR} ${SRC} ${GENHDR} ${GENSRC}
	makedepend ${HDR} ${SRC} ${GENHDR} ${GENSRC}

install: all
	install -d -m 755 ${DESTDIR}${BINDIR}
	install -c -m 555 wfsyn ${DESTDIR}${BINDIR}
	install -d -m 755 ${DESTDIR}${MANDIR}/man1
	install -c -m 444 wfsyn.1 ${DESTDIR}${MANDIR}/man1

tags: ${HDR} ${SRC} ${GENHDR} ${GENSRC}
	ctags ${HDR} ${SRC} ${GENHDR} ${GENSRC}

tarball: ${TARSRC}
	umask 022
	[ -d ../${NAME}-${VERSION} ] || mkdir ../${NAME}-${VERSION}
	rm -rf ../${NAME}-${VERSION}/wfsyn
	mkdir ../${NAME}-${VERSION}/wfsyn
	cp ${TARSRC} ../${NAME}-${VERSION}/wfsyn

