www.pudn.com > FP-GROWTH.rar > makefile
#-----------------------------------------------------------------------
# File : makefile
# Contents: build apriori program
# Author : Christian Borgelt
# History : ??.??.1995 file created
# 13.10.1997 macro ADDFLAGS added
# 07.12.1997 minor improvements
# 04.01.1998 table file scanner management added
# 11.11.1999 vector operations module added
# 04.11.2000 modules vecops, symtab, and tfscan made external
# 18.11.2001 module tract (transaction management) added
# 12.12.2003 preprocessor definition ARCH64 added
#-----------------------------------------------------------------------
CC = gcc
CFBASE = -ansi -Wall -pedantic -I$(UTILDIR) $(ADDFLAGS)
CFLAGS = $(CFBASE) -DNDEBUG -O3
# CFLAGS = $(CFBASE) -DNDEBUG -O3 -DBENCH
# CFLAGS = $(CFBASE) -DNDEBUG -O3 -DARCH64
# CFLAGS = $(CFBASE) -g
# CFLAGS = $(CFBASE) -g -DARCH64
# CFLAGS = $(CFBASE) -g -DSTORAGE $(ADDINC)
LDFLAGS =
LIBS = -lm
# ADDINC = -I../../misc/src
# ADDOBJ = storage.o
UTILDIR = ../../util/src
HDRS = $(UTILDIR)/vecops.h $(UTILDIR)/symtab.h $(UTILDIR)/tfscan.h \
$(UTILDIR)/scan.h tract.h istree.h
OBJS = $(UTILDIR)/vecops.o $(UTILDIR)/nimap.o $(UTILDIR)/tfscan.o \
$(UTILDIR)/scform.o tract.o istree.o apriori.o $(ADDOBJ)
#-----------------------------------------------------------------------
# Build Program
#-----------------------------------------------------------------------
all: apriori
apriori: $(OBJS) makefile
$(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
#-----------------------------------------------------------------------
# Main Program
#-----------------------------------------------------------------------
apriori.o: tract.h istree.h $(UTILDIR)/symtab.h
apriori.o: apriori.c makefile
$(CC) $(CFLAGS) -c apriori.c -o $@
#-----------------------------------------------------------------------
# Item and Transaction Management
#-----------------------------------------------------------------------
tract.o: tract.h $(UTILDIR)/symtab.h
tract.o: tract.c makefile
$(CC) $(CFLAGS) -c tract.c -o $@
#-----------------------------------------------------------------------
# Frequent Item Set Tree Management
#-----------------------------------------------------------------------
istree.o: istree.h tract.h
istree.o: istree.c makefile
$(CC) $(CFLAGS) -c istree.c -o $@
#-----------------------------------------------------------------------
# External Modules
#-----------------------------------------------------------------------
$(UTILDIR)/vecops.o:
cd $(UTILDIR); $(MAKE) vecops.o ADDFLAGS=$(ADDFLAGS)
$(UTILDIR)/nimap.o:
cd $(UTILDIR); $(MAKE) nimap.o ADDFLAGS=$(ADDFLAGS)
$(UTILDIR)/tfscan.o:
cd $(UTILDIR); $(MAKE) tfscan.o ADDFLAGS=$(ADDFLAGS)
$(UTILDIR)/scform.o:
cd $(UTILDIR); $(MAKE) scform.o ADDFLAGS=$(ADDFLAGS)
#-----------------------------------------------------------------------
# Storage Debugging
#-----------------------------------------------------------------------
storage.o: ../../misc/src/storage.h
storage.o: ../../misc/src/storage.c
$(CC) $(CFLAGS) -c ../../misc/src/storage.c -o $@
#-----------------------------------------------------------------------
# Install
#-----------------------------------------------------------------------
install:
cp apriori $(HOME)/bin
#-----------------------------------------------------------------------
# Clean up
#-----------------------------------------------------------------------
clean:
rm -f *.o *~ *.flc core apriori
cd $(UTILDIR); $(MAKE) clean
localclean:
rm -f *.o *~ *.flc core apriori