CC = gcc
CXX = g++
#CXXFLAGS= -g -O1
CXXFLAGS+= -g -Wall


RECODE_SUPPORT = $(shell if grep -q Debian /etc/issue; then echo -DRECODE_SUPPORT=1; else echo; fi)

LIBS = $(shell if grep -q Debian /etc/issue; then echo -lm -lrecode -lgmp; else echo  -lm -lgmp; fi)

all : units-filter

test : all
	sh units-test

units-filter : unitesparser.o decimal.o
	${CXX} $(CXXFLAGS) -o units-filter unitesparser.o decimal.o $(LIBS)

decimal.o: decimal.cc decimal.h
	${CXX} $(CXXFLAGS) -c decimal.cc
unitesparser.o : uniteslex.cc unitesparser.cc
	${CXX} $(CXXFLAGS) -c $(RECODE_SUPPORT) unitesparser.cc 

uniteslex.cc : unites.l unites.y unites.h
	flex  -ouniteslex.cc unites.l

unitesparser.cc: unites.y
	bison  --verbose -o unitesparser.cc unites.y

clean :
	rm -f *~ uniteslex.cc unitesparser.cc *.o  *.output units-filter tmp.*

