# Makefile to build an instance of snark14 ROOTDIR = ../.. XERCES = ../.. CC = gcc CXX = g++ LD = g++ LIBDIR = $(ROOTDIR)/lib CFLAGS = -O4 -fPIC -DLINUX -D_REENTRANT -w -Wunused-parameter CXXFLAGS = -O4 -fPIC -DLINUX -D_REENTRANT -w -Wunused-parameter LDFLAGS = SRC_CXX = $(foreach dir,.,$(wildcard ./*.cpp)) SRC_CC = $(foreach dir,.,$(wildcard ./*.c)) OBJ_CXX = $(patsubst ./%.cpp,../../build/%.o,$(SRC_CXX)) OBJ_CC = $(patsubst ./%.c,../../build/%.o,$(SRC_CC)) INCLUDES = -I/usr/include -I./include -I$(XERCES) -I$(XERCES)/include \ -I$(ROOTDIR)/include/DIGFile -I$(ROOTDIR)/include/DIGFileSnark \ -I$(ROOTDIR)/include/DIGRand LIBPATH = -L$(PREFIX)/lib -L$(XERCES)/lib LIBS = $(LIBPATH) -lm -lxerces-c TARGET = $(LIBDIR)/libsnark14.so .PHONY: all all: $(LIBDIR) $(TARGET) $(TARGET): $(OBJ_CXX) $(OBJ_CC) $(LD) --shared $(LIBS) $(LDFLAGS) -o $(TARGET) $(OBJ_CXX) $(OBJ_CC) /%.o : ./%.c .deps/%.Po $(CC) -c $(CFLAGS) $(INCLUDES) -MT $@ -MD -MP -MF $(word 2,$^) -o $@ $< %.o : ./%.cpp .deps/%.Po $(CXX) -c $(CXXFLAGS) $(INCLUDES) -MT $@ -MD -MP -MF $(word 2,$^) -o $@ $< $(LIBDIR) : @mkdir -p $(LIBDIR) clean: @rm -rf $(OBJ_CXX) $(TARGET)