CC = gcc
CFLAGS = $(VOLFLAG) -idirafter $(DIR_SHARED)myfndt

#if you're sure regex functions in your gcc library work OK (this is not true
#for all versions), you don't have to include rx.c
CSOURCES = curstate.c lexyy.c optrftab.c optval.c rferr.c rx.c

CPPSOURCES = composed.cpp opt1.cpp opt2.cpp opt3.cpp opt4.cpp optc.cpp override.cpp paction.cpp rxletter.cpp rxw.cpp univopt.cpp
COBJECTS = $(CSOURCES:.c=.o)
CPPOBJECTS = $(CPPSOURCES:.cpp=.o)

liboptions.a: $(COBJECTS) $(CPPOBJECTS)
	ar ru liboptions.a $(COBJECTS) $(CPPOBJECTS)

include $(CSOURCES:.c=.d)
include $(CPPSOURCES:.cpp=.d)

%.d: %.c
	   bash -ec '$(CC) -M $(CFLAGS) $< | sed '\''s/$*\\.o[ :]*/& $@/g'\'' > $@'
%.d: %.cpp
	   bash -ec '$(CC) -M $(CFLAGS) $< | sed '\''s/$*\\.o[ :]*/& $@/g'\'' > $@'

%.o: %.c
	   $(CC) -c $(CFLAGS) $<
%.o: %.cpp
	   $(CC) -c $(CFLAGS) $<

lexyy.c: optrf.l optrftab.h
	   flex -olexyy.c optrf.l

optrftab.h: optrf.y
	   bison -o optrftab.c -d optrf.y

optrftab.c: optrf.y
	   bison -o optrftab.c -d optrf.y

