1 # Makefile to build an instance of snark14
10 CFLAGS = -O4 -fPIC -DLINUX -D_REENTRANT -w -Wunused-parameter
11 CXXFLAGS = -O4 -fPIC -DLINUX -D_REENTRANT -w -Wunused-parameter
15 DIGFILED = $(PREFIX)/src/DIGFile
16 DIGFILESD = $(PREFIX)/src/DIGFileSnark
17 DIGFILERD = $(PREFIX)/src/DIGRand
23 LDIGFILED = $(LIBSDIR)/libDIGFile.so
24 LDIGFILESD = $(LIBSDIR)/libDIGFileSnark.so
25 LDIGFILERD = $(LIBSDIR)/libDIGRand.so
27 SRC_CXX = $(foreach dir,src/snark,$(wildcard src/snark/*.cpp))
28 SRC_C = $(foreach dir,src/snark,$(wildcard src/snark/*.c))
29 OBJ_CXX = $(patsubst src/snark/%.cpp,build/%.o,$(SRC_CXX))
30 OBJ_C = $(patsubst src/snark/%.c,build/%.o,$(SRC_C))
31 INCLUDES = -I./include $(addprefix -I,$(DIGFILED),$(DIGFILESD),$(DIGFILERD)) -Iinclude/DIGFile -Iinclude/DIGFileSnark -Iinclude/DIGRand -I/usr/include
33 #LIBPATH = -L$(PREFIX)/lib -L$(XERCES)/lib
34 LIBPATH = -L$(PREFIX)/lib
35 LIBS = $(LIBPATH) -lm -lxerces-c -lDIGFile -lDIGFileSnark -lDIGRand
39 INPUT_SRC = $(foreach dir,tools/Input,$(wildcard tools/Input/*.cpp))
40 INPUT_INC = $(foreach dir,tools/Input,$(wildcard tools/Input/*.h))
41 DISPLAY = snark14Display
42 DISPLAY_SRC = $(foreach dir,tools/Display,$(wildcard tools/Display/*.cpp))
43 DISPLAY_INC = $(foreach dir,tools/Display,$(wildcard tools/Display/*.hpp))
45 all: $(OBJDIR) $(LIBSDIR) $(BINDIR) $(BINDIR)/$(SNARK14) $(BINDIR)/$(DISPLAY) $(BINDIR)/$(INPUT)
47 $(BINDIR)/$(SNARK14): $(LDIGFILED) $(LDIGFILESD) $(LDIGFILERD) $(OBJ_C) $(OBJ_CXX)
48 $(LD) $(LIBPATH) $(LDFLAGS) $(OBJ_C) $(OBJ_CXX) $(LIBS) -o bin/$(SNARK14)
50 $(BINDIR)/$(DISPLAY): $(DISPLAY_SRC) $(DISPLAY_INC)
51 cd tools/Display ; make
53 $(BINDIR)/$(INPUT): $(INPUT_SRC) $(INPUT_INC)
56 $(OBJDIR)/%.o : src/snark/%.c src/snark/.deps/%.Po
57 $(CC) -c $(CFLAGS) $(INCLUDES) -MT $@ -MD -MP -MF $(word 2,$^) -o $@ $<
59 $(OBJDIR)/%.o : src/snark/%.cpp src/snark/.deps/%.Po
60 $(CXX) -c $(CXXFLAGS) $(INCLUDES) -MT $@ -MD -MP -MF $(word 2,$^) -o $@ $<
62 $(OBJDIR)/bckray.o : src/snark/bckray.cpp
63 $(CXX) -c $(CXXFLAGS) $(INCLUDES) -MT $@ -MD -MP -o $@ $<
65 $(LDIGFILED) : $(DIGFILED)
66 $(MAKE) --directory=$<
68 $(LDIGFILESD) : $(DIGFILESD)
69 $(MAKE) --directory=$<
71 $(LDIGFILERD) : $(DIGFILERD)
72 $(MAKE) --directory=$<
84 @rm -rf $(BINDIR) $(OBJDIR) $(LIBSDIR) $(LDIGFILED) $(LDIGFILESD) $(LDIGFILERD)
85 @rm -rf $(DIGFILED)/*.o $(DIGFILESD)/*.o $(DIGFILERD)/*.o src/snark/*.o
86 @cd tools/Input ; make clean
87 @cd tools/Display ; make clean