CXX = g++
CXXFLAGS = -O3 -Wall -Ismodels
LFLAGS = -static
SRCS = main.cc braproc.cc bitarr.cc unf2smo.cc ulstack.cc ulhash.cc shash.cc\
safe2smo.cc y_tab.cc tree.cc scanner.cc tree2smo.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

mcsmodels: $(OBJS) smodels
	$(CXX) $(LFLAGS) -o mcsmodels $(OBJS) $(SMODELS_OBJS)

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

.PHONY: all smodels clean

smodels:
	cd smodels; $(MAKE)

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

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