Makefile
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:5k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #
  2. #   Makefile for the Stanford GraphBase
  3. #
  4. #   Be sure that CWEB version 3.0 or greater is installed before proceeding!
  5. #   Skip down to "SHORTCUT" if you're going to work only from the
  6. #   current directory. (Not recommended for serious users.)
  7. #   Change SGBDIR to the directory where all GraphBase files will go:
  8. SGBDIR = /usr/local/sgb
  9. #   Change DATADIR to the directory where GraphBase data files will go:
  10. DATADIR = $(SGBDIR)/data
  11. #   Change INCLUDEDIR to the directory where GraphBase header files will go:
  12. INCLUDEDIR = $(SGBDIR)/include
  13. #   Change LIBDIR to the directory where GraphBase library routines will go:
  14. LIBDIR = /usr/local/lib
  15. #   Change BINDIR to the directory where installdemos will put demo programs:
  16. BINDIR = /usr/local/bin
  17. #   Change CWEBINPUTS to the directory where CWEB include files will go:
  18. CWEBINPUTS = /usr/local/lib/cweb
  19. #   SHORTCUT: Uncomment these lines, for single-directory installation:
  20. #DATADIR = .
  21. #INCLUDEDIR = .
  22. #LIBDIR = .
  23. #BINDIR = .
  24. #CWEBINPUTS = .
  25. #   Uncomment the next line if your C uses <string.h> but not <strings.h>:
  26. #SYS = -DSYSV
  27. #   If you prefer optimization to debugging, change -g to something like -O:
  28. CFLAGS = -g -I$(INCLUDEDIR) $(SYS)
  29. ########## You shouldn't have to change anything after this point ##########
  30. LDFLAGS = -L. -L$(LIBDIR)
  31. LDLIBS = -lgb
  32. LOADLIBES = $(LDLIBS)
  33. .SUFFIXES: .dvi .tex .w
  34. .tex.dvi:
  35. tex $*.tex
  36. .w.c:
  37. if test -r $*.ch; then ctangle $*.w $*.ch; else ctangle $*.w; fi
  38. .w.tex:
  39. if test -r $*.ch; then cweave $*.w $*.ch; else cweave $*.w; fi
  40. .w.o:
  41. make $*.c
  42. make $*.o
  43. .w:
  44. make $*.c
  45. make $*
  46. .w.dvi:
  47. make $*.tex
  48. make $*.dvi
  49. DATAFILES = anna.dat david.dat econ.dat games.dat homer.dat huck.dat 
  50.         jean.dat lisa.dat miles.dat roget.dat words.dat
  51. KERNELFILES = gb_flip.w gb_graph.w gb_io.w gb_sort.w
  52. GENERATORFILES = gb_basic.w gb_books.w gb_econ.w gb_games.w gb_gates.w 
  53.         gb_lisa.w gb_miles.w gb_plane.w gb_raman.w gb_rand.w gb_roget.w 
  54.         gb_words.w
  55. DEMOFILES = assign_lisa.w book_components.w econ_order.w football.w 
  56.         girth.w ladders.w miles_span.w multiply.w queen.w roget_components.w 
  57.         take_risc.w word_components.w
  58. MISCWEBS = boilerplate.w gb_dijk.w gb_save.w gb_types.w test_sample.w
  59. CHANGEFILES = queen_wrap.ch word_giant.ch
  60. MISCFILES = Makefile README abstract.plaintex cities.texmap blank.w 
  61.         sample.correct test.correct test.dat +The+Stanford+GraphBase+
  62. ALL = $(DATAFILES) $(KERNELFILES) $(GENERATORFILES) $(DEMOFILES) 
  63.         $(MISCWEBS) $(CHANGEFILES) $(MISCFILES)
  64. OBJS = $(KERNELFILES:.w=.o) $(GENERATORFILES:.w=.o) gb_dijk.o gb_save.o
  65. HEADERS = $(OBJS:.o=.h)
  66. DEMOS = $(DEMOFILES:.w=)
  67. help:
  68. @ echo "First 'make tests';"
  69. @ echo "then (optionally) become superuser;"
  70. @ echo "then 'make install';"
  71. @ echo "then (optionally) 'make installdemos';"
  72. @ echo "then (optionally) 'make clean'."
  73. lib: libgb.a
  74. libgb.a: $(OBJS)
  75. rm -f certified
  76. ar rcv libgb.a $(OBJS)
  77. - ranlib libgb.a
  78. gb_io.o: gb_io.c
  79. $(CC) $(CFLAGS) -DDATA_DIRECTORY="$(DATADIR)/" -c gb_io.c
  80. test_io: gb_io.o
  81. $(CC) $(CFLAGS) test_io.c gb_io.o -o test_io
  82. test_graph: gb_graph.o
  83. $(CC) $(CFLAGS) test_graph.c gb_graph.o -o test_graph
  84. test_flip: gb_flip.o
  85. $(CC) $(CFLAGS) test_flip.c gb_flip.o -o test_flip
  86. tests: test_io test_graph test_flip
  87. ./test_io
  88. ./test_graph
  89. ./test_flip
  90. make gb_sort.o
  91. make lib
  92. make test_sample
  93. - ./test_sample > sample.out
  94. diff test.gb test.correct
  95. diff sample.out sample.correct
  96. rm -f test.gb sample.out test_io test_io.exe test_graph test_graph.exe test_flip test_flip.exe test_sample test_sample.exe
  97. echo "Congratulations --- the tests have all been passed."
  98. touch certified
  99. install: lib
  100. if test ! -r certified; then echo "Please run 'make tests' first!"; fi
  101. test -r certified
  102. make installdata
  103. - mkdir $(LIBDIR)
  104. - cp libgb.a $(LIBDIR)
  105. - mkdir $(CWEBINPUTS)
  106. - cp -p boilerplate.w gb_types.w $(CWEBINPUTS)
  107. - mkdir $(INCLUDEDIR)
  108. - cp -p $(HEADERS) Makefile $(INCLUDEDIR)
  109. installdata: $(DATAFILES)
  110. - mkdir $(SGBDIR)
  111. - mkdir $(DATADIR)
  112. - cp -p $(DATAFILES) $(DATADIR)
  113. installdemos: lib $(DEMOS)
  114. - mkdir $(BINDIR)
  115. - mv $(DEMOS) $(BINDIR)
  116. uninstalldemos:
  117. - cd $(BINDIR); rm -f $(DEMOS)
  118. doc:
  119. tex abstract.plaintex
  120. clean:
  121. rm -f *~ *.o *.c *.h libgb.a certified 
  122.          *.tex *.log *.dvi *.toc *.idx *.scn core
  123. veryclean: clean
  124. rm -f $(DEMOS)
  125. sgb.tar: $(ALL)
  126. tar cvf sgb.tar $(ALL)
  127. floppy: $(ALL)
  128. bar cvf /dev/rfd0 $(ALL)
  129. bar tvf /dev/rfd0
  130. eject
  131. fullfloppy: $(ALL) ERRATA ANSI AMIGA PROTOTYPES
  132. bar cvf /dev/rfd0 $(ALL) ERRATA ANSI AMIGA PROTOTYPES
  133. bar tvf /dev/rfd0
  134. eject
  135. fulltar: $(ALL) ERRATA ANSI AMIGA PROTOTYPES
  136. tar cvf sgb.tar $(ALL) ERRATA ANSI AMIGA PROTOTYPES