# Makefile to build an instance of snark14
PREFIX = .
-XERCES = /usr/local/snark14
+XERCES = ~/snark14kmr
CC = gcc
CXX = g++
DIGFILED = $(PREFIX)/src/DIGFile
DIGFILESD = $(PREFIX)/src/DIGFileSnark
DIGFILERD = $(PREFIX)/src/DIGRand
+SNARK14D = $(PREFIX)/src/snark
OBJDIR = build
BINDIR = bin
LDIGFILED = $(LIBSDIR)/libDIGFile.so
LDIGFILESD = $(LIBSDIR)/libDIGFileSnark.so
LDIGFILERD = $(LIBSDIR)/libDIGRand.so
+LSNARK14 = $(LIBSDIR)/libsnark14.a
SRC_CXX = $(foreach dir,src/snark,$(wildcard src/snark/*.cpp))
SRC_C = $(foreach dir,src/snark,$(wildcard src/snark/*.c))
OBJ_CXX = $(patsubst src/snark/%.cpp,build/%.o,$(SRC_CXX))
OBJ_C = $(patsubst src/snark/%.c,build/%.o,$(SRC_C))
-INCLUDES = -I./include -I$(XERCES)/include $(addprefix -I,$(DIGFILED),$(DIGFILESD),$(DIGFILERD)) -Iinclude/DIGFile -Iinclude/DIGFileSnark -Iinclude/DIGRand -I/usr/include
+INCLUDES = -I./include $(addprefix -I,$(DIGFILED),$(DIGFILESD),$(DIGFILERD)) -Iinclude/DIGFile -Iinclude/DIGFileSnark -Iinclude/DIGRand -I/usr/include
-LIBPATH = -L$(PREFIX)/lib -L$(XERCES)/lib
-LIBS = $(LIBPATH) -lm -lxerces-c -lxerces-depdom -lDIGFile -lDIGFileSnark -lDIGRand
+#LIBPATH = -L$(PREFIX)/lib -L$(XERCES)/lib
+LIBPATH = -L$(PREFIX)/lib
+LIBS = $(LIBPATH) -lm -lxerces-c -lDIGFile -lDIGFileSnark -lDIGRand
SNARK14 = snark14
INPUT = snark14Input
all: $(OBJDIR) $(LIBSDIR) $(BINDIR) $(BINDIR)/$(SNARK14) $(BINDIR)/$(DISPLAY) $(BINDIR)/$(INPUT)
-$(BINDIR)/$(SNARK14): $(LDIGFILED) $(LDIGFILESD) $(LDIGFILERD) $(OBJ_C) $(OBJ_CXX)
- $(LD) $(LIBS) $(LDFLAGS) -o bin/$(SNARK14) $(OBJ_C) $(OBJ_CXX)
+$(BINDIR)/$(SNARK14): $(LDIGFILED) $(LDIGFILESD) $(LDIGFILERD) $(OBJ_C) $(OBJ_CXX) $(LSNARK14)
+ $(LD) $(LIBPATH) $(LDFLAGS) $(OBJ_C) $(OBJ_CXX) $(LIBS) -o bin/$(SNARK14)
$(BINDIR)/$(DISPLAY): $(DISPLAY_SRC) $(DISPLAY_INC)
cd tools/Display ; make
$(LDIGFILERD) : $(DIGFILERD)
$(MAKE) --directory=$<
+$(LSNARK14) : $(SNARK14D)
+ $(MAKE) --directory=$<
+
$(OBJDIR):
@mkdir -p $@