CXX = g++
CXXFLAGS = -O3 -fno-strength-reduce -Wall -Ismodels
LFLAGS = -static
SRCS = main.cc braproc.cc bitarr.cc unf2smo.cc ulstack.cc ulhash.cc shash.cc
OBJS = $(SRCS:.cc=.o)
SMODELS_OBJS = smodels/api.o smodels/atomrule.o smodels/dcl.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

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

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

.PHONY: all smodels clean

smodels:
	cd smodels; $(MAKE)

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

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