www.pudn.com > FP-GROWTH.rar > fpgrowth.mak


#-----------------------------------------------------------------------
# File    : fpgrowth.mak
# Contents: build fpgrowth program
# Author  : Christian Borgelt
# History : 21.11.2004 file created from eclat.mak
#           20.07.2006 adapted to Visual Studio 8
#-----------------------------------------------------------------------
CC      = cl.exe
LD      = link.exe
DEFS    = /D WIN32 /D NDEBUG /D _CONSOLE /D _MBCS \
          /D _CRT_SECURE_NO_DEPRECATE
CFLAGS  = /nologo /W3 /EHsc /O2 /I $(UTILDIR) /I $(APRIDIR) \
          $(DEFS) /FD /c
LDFLAGS = /nologo /subsystem:console /incremental:no /machine:I386

THISDIR = ..\..\fpgrowth\src
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.obj $(UTILDIR)\vecops.obj \
          $(UTILDIR)\nimap.obj  $(UTILDIR)\tfscan.obj \
          $(UTILDIR)\scan.obj   $(APRIDIR)\tract.obj \
          fptree.obj fpgrowth.obj

#-----------------------------------------------------------------------
# Build Program
#-----------------------------------------------------------------------
all:         fpgrowth.exe

fpgrowth.exe:   $(OBJS)
	$(LD) $(LDFLAGS) $(OBJS) $(LIBS) /out:$@

#-----------------------------------------------------------------------
# Main Program
#-----------------------------------------------------------------------
fpgrowth.obj:   $(HDRS)
	$(CC) $(CFLAGS) fpgrowth.c /Fo$@

#-----------------------------------------------------------------------
# Frequent Pattern Tree Management
#-----------------------------------------------------------------------
fptree.obj:  fptree.h fptree.c fpgrowth.mak
	$(CC) $(CFLAGS) fptree.c /Fo$@

#-----------------------------------------------------------------------
# External Modules
#-----------------------------------------------------------------------
$(UTILDIR)\memsys.obj:
	cd $(UTILDIR)
	$(MAKE) /f util.mak memsys.obj
	cd $(THISDIR)
$(UTILDIR)\vecops.obj:
	cd $(UTILDIR)
	$(MAKE) /f util.mak vecops.obj
	cd $(THISDIR)
$(UTILDIR)\nimap.obj:
	cd $(UTILDIR)
	$(MAKE) /f util.mak nimap.obj
	cd $(THISDIR)
$(UTILDIR)\tfscan.obj:
	cd $(UTILDIR)
	$(MAKE) /f util.mak tfscan.obj
	cd $(THISDIR)
$(UTILDIR)\scan.obj:
	cd $(UTILDIR)
	$(MAKE) /f util.mak scan.obj
	cd $(THISDIR)
$(APRIDIR)\tract.obj:
	cd $(APRIDIR)
	$(MAKE) /f apriori.mak tract.obj
	cd $(THISDIR)

#-----------------------------------------------------------------------
# Install
#-----------------------------------------------------------------------
install:
	-@copy fpgrowth.exe c:\home\bin

#-----------------------------------------------------------------------
# Clean up
#-----------------------------------------------------------------------
clean:
	$(MAKE) /f fpgrowth.mak localclean
	cd $(APRIDIR)
	$(MAKE) /f apriori.mak localclean
	cd $(UTILDIR)
	$(MAKE) /f util.mak clean
	cd $(THISDIR)

localclean:
	-@erase /Q *~ *.obj *.idb *.pch fpgrowth.exe