makefile
上传用户:lengbin
上传日期:2010-03-31
资源大小:121k
文件大小:4k
开发平台:

C/C++

  1. #-----------------------------------------------------------------------
  2. # File    : makefile
  3. # Contents: build apriori program
  4. # Author  : Christian Borgelt
  5. # History : ??.??.1995 file created
  6. #           13.10.1997 macro ADDFLAGS added
  7. #           07.12.1997 minor improvements
  8. #           04.01.1998 table file scanner management added
  9. #           11.11.1999 vector operations module added
  10. #           04.11.2000 modules vecops, symtab, and tfscan made external
  11. #           18.11.2001 module tract (transaction management) added
  12. #           12.12.2003 preprocessor definition ARCH64 added
  13. #-----------------------------------------------------------------------
  14. CC      = gcc
  15. CFBASE  = -ansi -Wall -pedantic -I$(UTILDIR) $(ADDFLAGS)
  16. CFLAGS  = $(CFBASE) -DNDEBUG -O3
  17. # CFLAGS  = $(CFBASE) -DNDEBUG -O3 -DBENCH
  18. # CFLAGS  = $(CFBASE) -DNDEBUG -O3 -DARCH64
  19. # CFLAGS  = $(CFBASE) -g
  20. # CFLAGS  = $(CFBASE) -g -DARCH64
  21. # CFLAGS  = $(CFBASE) -g -DSTORAGE $(ADDINC)
  22. LDFLAGS =
  23. LIBS    = -lm
  24. # ADDINC  = -I../../misc/src
  25. # ADDOBJ  = storage.o
  26. UTILDIR = ../../util/src
  27. HDRS    = $(UTILDIR)/vecops.h $(UTILDIR)/symtab.h $(UTILDIR)/tfscan.h 
  28.           $(UTILDIR)/scan.h   tract.h istree.h
  29. OBJS    = $(UTILDIR)/vecops.o $(UTILDIR)/nimap.o  $(UTILDIR)/tfscan.o 
  30.           $(UTILDIR)/scform.o tract.o istree.o apriori.o $(ADDOBJ)
  31. #-----------------------------------------------------------------------
  32. # Build Program
  33. #-----------------------------------------------------------------------
  34. all:       apriori
  35. apriori:   $(OBJS) makefile
  36. $(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
  37. #-----------------------------------------------------------------------
  38. # Main Program
  39. #-----------------------------------------------------------------------
  40. apriori.o: tract.h istree.h $(UTILDIR)/symtab.h
  41. apriori.o: apriori.c makefile
  42. $(CC) $(CFLAGS) -c apriori.c -o $@
  43. #-----------------------------------------------------------------------
  44. # Item and Transaction Management
  45. #-----------------------------------------------------------------------
  46. tract.o:   tract.h $(UTILDIR)/symtab.h
  47. tract.o:   tract.c makefile
  48. $(CC) $(CFLAGS) -c tract.c -o $@
  49. #-----------------------------------------------------------------------
  50. # Frequent Item Set Tree Management
  51. #-----------------------------------------------------------------------
  52. istree.o:  istree.h tract.h
  53. istree.o:  istree.c makefile
  54. $(CC) $(CFLAGS) -c istree.c -o $@
  55. #-----------------------------------------------------------------------
  56. # External Modules
  57. #-----------------------------------------------------------------------
  58. $(UTILDIR)/vecops.o:
  59. cd $(UTILDIR); $(MAKE) vecops.o ADDFLAGS=$(ADDFLAGS)
  60. $(UTILDIR)/nimap.o:
  61. cd $(UTILDIR); $(MAKE) nimap.o  ADDFLAGS=$(ADDFLAGS)
  62. $(UTILDIR)/tfscan.o:
  63. cd $(UTILDIR); $(MAKE) tfscan.o ADDFLAGS=$(ADDFLAGS)
  64. $(UTILDIR)/scform.o:
  65. cd $(UTILDIR); $(MAKE) scform.o ADDFLAGS=$(ADDFLAGS)
  66. #-----------------------------------------------------------------------
  67. # Storage Debugging
  68. #-----------------------------------------------------------------------
  69. storage.o:  ../../misc/src/storage.h
  70. storage.o:  ../../misc/src/storage.c
  71. $(CC) $(CFLAGS) -c ../../misc/src/storage.c -o $@
  72. #-----------------------------------------------------------------------
  73. # Install
  74. #-----------------------------------------------------------------------
  75. install:
  76. cp apriori $(HOME)/bin
  77. #-----------------------------------------------------------------------
  78. # Clean up
  79. #-----------------------------------------------------------------------
  80. clean:
  81. rm -f *.o *~ *.flc core apriori
  82. cd $(UTILDIR); $(MAKE) clean
  83. localclean:
  84. rm -f *.o *~ *.flc core apriori