# # Makefile for the Stanford GraphBase # # Change DATADIR to the directory where the data files will go (425K bytes) DATADIR = /usr/local/lib # Uncomment the next line if your C uses but not # SYS = -DSYSV # If you prefer optimization to debugging, change CFLAGS to something like -O CFLAGS = -g # Change MLIB, if necessary, to the code that loads the C math library MLIB = -lm install: - mkdir $(DATADIR) install -c -m 444 *.dat $(DATADIR) %.c: %.w ctangle $* %.o: %.c cc $(CFLAGS) -c $*.c IFGS = gb_io.o gb_flip.o gb_graph.o gb_sort.o IFG = gb_io.o gb_flip.o gb_graph.o IG = gb_io.o gb_graph.o FG = gb_flip.o gb_graph.o assign_mona: assign_mona.c $(IG) gb_mona.o cc $(CFLAGS) assign_mona.c $(IG) gb_mona.o -o assign_mona book_components: book_components.c $(IFGS) gb_books.o cc $(CFLAGS) book_components.c $(IFGS) gb_books.o -o book_components econ_order: econ_order.c $(IFG) gb_econ.o cc $(CFLAGS) econ_order.c $(IFG) gb_econ.o -o econ_order football: football.c $(IFGS) gb_games.o cc $(CFLAGS) football.c $(IFGS) gb_games.o -o football gb_graph.o: gb_graph.c cc $(CFLAGS) $(SYS) -c $*.c gb_io.o: gb_io.c echo "#define DATA_DIRECTORY \"$(DATADIR)/\"" >localdefs.h cc $(CFLAGS) $(SYS) -c $*.c rm localdefs.h gb_plane.o: gb_miles.o girth: girth.c $(FG) gb_raman.o cc $(CFLAGS) girth.c $(FG) gb_raman.o -o girth $(MLIB) miles_span: miles_span.c $(IFGS) gb_miles.o cc $(CFLAGS) miles_span.c $(IFGS) gb_miles.o -o miles_span multiply: multiply.c $(FG) gb_gates.o cc $(CFLAGS) multiply.c $(FG) gb_gates.o -o multiply queen: queen.c $(IG) gb_basic.o gb_save.o cc $(CFLAGS) queen.c $(IG) gb_basic.o gb_save.o -o queen queen_wrap.c: queen.w queen_wrap.ch ctangle queen_wrap.w queen_wrap.ch queen_wrap.c queen_wrap: queen_wrap.c $(IG) gb_basic.o gb_save.o cc $(CFLAGS) queen_wrap.c $(IG) gb_basic.o gb_save.o -o queen_wrap roget_components: roget_components.c $(IFG) gb_roget.o cc $(CFLAGS) roget_components.c $(IFG) gb_roget.o -o roget_components take_risc: take_risc.c $(FG) gb_gates.o cc $(CFLAGS) take_risc.c $(FG) gb_gates.o -o take_risc word_components: word_components.c $(IFGS) gb_words.o cc $(CFLAGS) word_components.c $(IFGS) gb_words.o -o word_components ladders: ladders.c $(IFGS) gb_words.o gb_dijk.o cc $(CFLAGS) ladders.c $(IFGS) gb_words.o gb_dijk.o -o ladders test_io: gb_io.o cc $(CFLAGS) test_io.c gb_io.o -o test_io test_graph: gb_graph.o cc $(CFLAGS) test_graph.c gb_graph.o -o test_graph test_flip: gb_flip.o cc $(CFLAGS) test_flip.c gb_flip.o -o test_flip test_sample: test_sample.c $(IFGS) gb_basic.o gb_books.o gb_econ.o \ gb_games.o gb_gates.o gb_miles.o gb_mona.o gb_plane.o gb_raman.o \ gb_rand.o gb_roget.o gb_save.o gb_words.o cc $(CFLAGS) test_sample.c $(IFGS) gb_basic.o gb_books.o gb_econ.o \ gb_games.o gb_gates.o gb_miles.o gb_mona.o gb_plane.o gb_raman.o \ gb_rand.o gb_roget.o gb_save.o gb_words.o -o test_sample test_all: test_io test_graph test_flip test_sample test_io test_graph test_flip test_sample > sample.out diff test.gb test.correct diff sample.out sample.correct rm test.gb sample.out test_io test_graph test_flip test_sample veryclean: rm -f *.o *.c *.h \ assign_mona book_components econ_order football \ girth ladders miles_span multiply roget_components \ take_risc word_components