CXXFLAGS = -O3 -Wall -Ismodels
CXX = g++
LFLAGS =
LIBS =
SRCS = main.cc bitarr.cc ulstack.cc ulhash.cc shash.cc ptnet.cc dhash.cc\
set.cc mset.cc ulhsort.cc unfold.cc sarray.cc darray.cc prefix.cc\
monset.cc eventq.cc dphash.cc buchi.cc dset.cc
OBJS = $(SRCS:.cc=.o)
SMODELS_OBJS = smodels/api.o smodels/atomrule.o smodels/dcl.o\
smodels/denant.o smodels/improve.o smodels/list.o smodels/program.o\
smodels/queue.o smodels/smodels.o smodels/stack.o smodels/timer.o\
smodels/tree.o

unfsmodels: $(OBJS) smodels
	$(CXX) $(LFLAGS) -o unfsmodels $(OBJS) $(SMODELS_OBJS) $(LIBS)

%.o: %.cc
	$(CXX) $(CXXFLAGS) -c $<

.PHONY: all smodels clean

smodels:
	cd smodels; $(MAKE)

all:
	cd smodels; $(MAKE)
	rm -f $(OBJS); $(MAKE) unfsmodels

clean:
	cd smodels; $(MAKE) clean
	rm -f core $(OBJS)
