www.pudn.com > FP-GROWTH.rar > makefile
#-----------------------------------------------------------------------
# File : makefile
# Contents: build fpgrowth program
# Author : Christian Borgelt
# History : 21.11.2004 file created from eclat makefile
# 10.12.2004 general memory management system added
#-----------------------------------------------------------------------
CC = gcc
CFBASE = -ansi -Wall -pedantic -I$(UTILDIR) -I$(APRIDIR) $(ADDFLAGS)
CFLAGS = $(CFBASE) -DNDEBUG -O3
# CFLAGS = $(CFBASE) -DNDEBUG -O3 -DBENCH
# CFLAGS = $(CFBASE) -g
# CFLAGS = $(CFBASE) -g -DSTORAGE $(ADDINC)
LDFLAGS =
LIBS = -lm
# ADDINC = -I../../misc/src
# ADDOBJ = storage.o
UTILDIR = ../../util/src
APRIDIR = ../../apriori/src
HDRS = $(UTILDIR)/memsys.h $(UTILDIR)/vecops.h \
$(UTILDIR)/symtab.h $(UTILDIR)/tfscan.h \
$(UTILDIR)/scan.h $(APRIDIR)/tract.h fptree.h
OBJS = $(UTILDIR)/memsys.o $(UTILDIR)/vecops.o \
$(UTILDIR)/nimap.o $(UTILDIR)/tfscan.o \
$(UTILDIR)/scform.o $(APRIDIR)/tract.o \
fptree.o fpgrowth.o $(ADDOBJ)
#-----------------------------------------------------------------------
# Build Program
#-----------------------------------------------------------------------
all: fpgrowth
fpgrowth: $(OBJS) makefile
$(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
#-----------------------------------------------------------------------
# Main Program
#-----------------------------------------------------------------------
fpgrowth.o: $(HDRS)
fpgrowth.o: fpgrowth.c makefile
$(CC) $(CFLAGS) -c fpgrowth.c -o $@
#-----------------------------------------------------------------------
# Frequent Pattern Tree Management
#-----------------------------------------------------------------------
fptree.o: fptree.h
fptree.o: fptree.c makefile
$(CC) $(CFLAGS) -c fptree.c -o $@
#-----------------------------------------------------------------------
# External Modules
#-----------------------------------------------------------------------
$(UTILDIR)/memsys.o:
cd $(UTILDIR); $(MAKE) memsys.o ADDFLAGS=$(ADDFLAGS)
$(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)
$(APRIDIR)/tract.o:
cd $(APRIDIR); $(MAKE) tract.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 fpgrowth $(HOME)/bin
#-----------------------------------------------------------------------
# Clean up
#-----------------------------------------------------------------------
clean:
rm -f *.o *~ *.flc core fpgrowth
cd $(UTILDIR); $(MAKE) clean
cd $(APRIDIR); $(MAKE) localclean
localclean:
rm -f *.o *~ *.flc core fpgrowth