mirror of
https://github.com/boostorg/graph.git
synced 2026-01-27 19:02:12 +00:00
105 lines
3.3 KiB
Makefile
105 lines
3.3 KiB
Makefile
|
|
# The files in this directory implement the read_graphviz() functions
|
|
# declared in <boost/graph/graphviz.hpp>. There are both directed
|
|
# and undirected graph versions of these functions. To use both, you
|
|
# will need to compile the code generated from graphviz_parser.y twice,
|
|
# once with -DGRAPHVIZ_GRAPH=boost::GraphvizDigraph and once with
|
|
# -DGRAPHVIZ_GRAPH=boost::GraphvizGraph.
|
|
#
|
|
# This Makefile will most likely *not* work on your system.
|
|
# We have not yet had time to create a portable Makefile.
|
|
# This is the Makefile we currently use.
|
|
#
|
|
|
|
BOOST = ../../..
|
|
|
|
CXX = g++ -ftemplate-depth-30
|
|
LEX = flex
|
|
YACC = bison
|
|
MV = /bin/mv
|
|
|
|
EXTRAFLAGS = -g
|
|
|
|
INCLUDES = -I$(BOOST)
|
|
|
|
CXXFLAGS = $(INCLUDES) $(EXTRAFLAGS)
|
|
|
|
LDFLAAGS =
|
|
|
|
LIBS =
|
|
|
|
AR = ar
|
|
|
|
|
|
default: libbgl-viz.a libbgl-viz.so
|
|
|
|
.SUFFIXES: .cpp .o .l .y .c
|
|
|
|
OBJS = graphviz_graph_lex.o graphviz_digraph_lex.o graphviz_digraph_parser.o graphviz_graph_parser.o
|
|
|
|
libbgl-viz.a: $(OBJS)
|
|
$(AR) -rc libbgl-viz.a $(OBJS)
|
|
|
|
GRAPH_SONAME_VERSION = 1
|
|
|
|
libbgl-viz.so: $(OBJS)
|
|
$(CXX) -shared -Wl,-soname -Wl,$@.$(GRAPH_SONAME_VERSION) -o $@.$(GRAPH_SONAME_VERSION) $(OBJS)
|
|
ln -s $@.$(GRAPH_SONAME_VERSION) $@
|
|
|
|
# this next part is a bit strange. We compile graphviz_parser.cpp twice.
|
|
# Once with for undirected graphs with GRAPHVIZ_GRAPH=boost::GraphvizGraph
|
|
# and once for directed graphs with GRAPHVIZ_GRAPH=boost::GraphvizDigraph.
|
|
|
|
graphviz_graph_parser.o: graphviz_graph_parser.cpp
|
|
$(CXX) -DGRAPHVIZ_GRAPH=boost::GraphvizGraph $(CXXFLAGS) -c graphviz_graph_parser.cpp -o graphviz_graph_parser.o
|
|
|
|
graphviz_digraph_parser.o: graphviz_digraph_parser.cpp
|
|
$(CXX) -DGRAPHVIZ_GRAPH=boost::GraphvizDigraph $(CXXFLAGS) -c graphviz_digraph_parser.cpp -o graphviz_digraph_parser.o
|
|
|
|
graphviz_graph_lex.o: graphviz_graph_lex.cpp graphviz_parser.h
|
|
$(CXX) $(CXXFLAGS) -c graphviz_graph_lex.cpp
|
|
|
|
graphviz_digraph_lex.o: graphviz_digraph_lex.cpp graphviz_parser.h
|
|
$(CXX) $(CXXFLAGS) -c graphviz_digraph_lex.cpp
|
|
|
|
graphviz_graph_lex.cpp: graphviz_lex.l
|
|
$(LEX) graphviz_lex.l
|
|
rm -rf graphviz_graph_lex.cpp
|
|
sed -f ./sed-undir lex.yy.c > graphviz_graph_lex.cpp
|
|
|
|
graphviz_digraph_lex.cpp: graphviz_lex.l
|
|
$(LEX) graphviz_lex.l
|
|
rm -rf graphviz_digraph_lex.cpp
|
|
sed -f ./sed-dir lex.yy.c > graphviz_digraph_lex.cpp
|
|
|
|
graphviz_graph_parser.cpp: graphviz_parser.y
|
|
$(YACC) -p bgl_undir_ -d -v graphviz_parser.y
|
|
sed -f ./sed-undir graphviz_parser.tab.c > graphviz_graph_parser.cpp
|
|
|
|
graphviz_digraph_parser.cpp: graphviz_parser.y
|
|
$(YACC) -p bgl_dir_ -d -v graphviz_parser.y
|
|
sed -f ./sed-dir graphviz_parser.tab.c > graphviz_digraph_parser.cpp
|
|
|
|
graphviz_parser.h: graphviz_digraph_parser.cpp
|
|
$(MV) graphviz_parser.tab.h graphviz_parser.h
|
|
|
|
dist:
|
|
mkdir -p ./tmp/graphviz/boost/boost/graph
|
|
cp boost/boost/graph/graphviz.hpp ./tmp/graphviz/boost/boost/graph
|
|
cp graphviz.grammar ./tmp/graphviz
|
|
cp graphviz_parser.cpp ./tmp/graphviz
|
|
cp graphviz_lex.cpp ./tmp/graphviz
|
|
cp graphviz_parser.h ./tmp/graphviz
|
|
cp graphviz_graph_type.h ./tmp/graphviz
|
|
cp graphviz_lex.l ./tmp/graphviz
|
|
cp graphviz_parser.y ./tmp/graphviz
|
|
cp graphviz.cpp ./tmp/graphviz
|
|
cp *.dot ./tmp/graphviz
|
|
cp Makefile ./tmp/graphviz
|
|
cd ./tmp; tar cvfz graphviz.tgz graphviz; $(MV) graphviz.tgz ..; cd ..
|
|
/bin/rm -rf ./tmp
|
|
|
|
|
|
clean:
|
|
/bin/rm -rf *.o *.a *.so* *.output graphviz_digraph_parser.cpp graphviz_graph_parser.cpp graphviz_lex.cpp graphviz_parser.h
|