www.pudn.com > bayes.rar > bayes.mak
#-----------------------------------------------------------------------
# File : bayes.mak
# Contents: commands to build naive and full Bayes classifier programs
# Author : Christian Borgelt
# History : 26.01.2003 file created
# 26.04.2003 program bcdb added
# 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 $(DEFS) /FD /c
LDFLAGS = /nologo /subsystem:console /incremental:no /machine:I386
INC = /I $(UTILDIR) /I $(TABLEDIR)
THISDIR = ..\..\bayes\src
UTILDIR = ..\..\util\src
TABLEDIR = ..\..\table\src
HDRS = $(UTILDIR)\vecops.h $(UTILDIR)\scan.h \
$(TABLEDIR)\attset.h $(TABLEDIR)\table.h
BCHDRS = $(HDRS) $(UTILDIR)\tfscan.h $(UTILDIR)\parse.h \
$(TABLEDIR)\io.h mvnorm.h fbayes.h nbayes.h
OBJS = $(UTILDIR)\vecops.obj $(UTILDIR)\tfscan.obj \
$(UTILDIR)\scan.obj $(UTILDIR)\parse.obj \
$(TABLEDIR)\attset1.obj $(TABLEDIR)\attset2.obj \
$(TABLEDIR)\attset3.obj
BCI_O = $(OBJS) $(TABLEDIR)\io_tab.obj $(TABLEDIR)\table1.obj \
mvnorm.obj fbc_ind.obj nbc_ind.obj bci.obj
BCX_O = $(OBJS) $(TABLEDIR)\io.obj \
mvn_pars.obj fbc_exec.obj nbc_exec.obj bcx.obj
BCDB_O = $(OBJS) mvn_pars.obj fbc_exec.obj nbc_exec.obj bcdb.obj
CORR_O = $(UTILDIR)\symtab.obj $(UTILDIR)\tfscan.obj \
mvnorm.obj corr.obj
PRGS = bci.exe bcx.exe bcdb.exe corr.exe
#-----------------------------------------------------------------------
# Build Programs
#-----------------------------------------------------------------------
all: $(PRGS)
bci.exe: $(BCI_O) bayes.mak
$(LD) $(LDFLAGS) $(BCI_O) $(LIBS) /out:$@
bcx.exe: $(BCX_O) bayes.mak
$(LD) $(LDFLAGS) $(BCX_O) $(LIBS) /out:$@
bcdb.exe: $(BCDB_O) bayes.mak
$(LD) $(LDFLAGS) $(BCDB_O) $(LIBS) /out:$@
corr.exe: $(CORR_O) bayes.mak
$(LD) $(LDFLAGS) $(CORR_O) $(LIBS) /out:$@
#-----------------------------------------------------------------------
# Main Programs
#-----------------------------------------------------------------------
bci.obj: $(BCHDRS) bci.c bayes.mak
$(CC) $(CFLAGS) $(INC) bci.c /Fo$@
bcx.obj: $(BCHDRS) bcx.c bayes.mak
$(CC) $(CFLAGS) $(INC) bcx.c /Fo$@
bcdb.obj: $(BCHDRS) bcdb.c bayes.mak
$(CC) $(CFLAGS) $(INC) bcdb.c /Fo$@
corr.obj: $(UTILDIR)\symtab.h $(UTILDIR)\tfscan.h \
mvnorm.h corr.c bayes.mak
$(CC) $(CFLAGS) $(INC) corr.c /Fo$@
#-----------------------------------------------------------------------
# Naive Bayes Classifier Management
#-----------------------------------------------------------------------
nbc_ind.obj: $(HDRS) nbayes.h nbayes.c bayes.mak
$(CC) $(CFLAGS) $(INC) /D NBC_INDUCE nbayes.c /Fo$@
nbc_exec.obj: $(HDRS) nbayes.h nbayes.c bayes.mak
$(CC) $(CFLAGS) $(INC) /D NBC_PARSE nbayes.c /Fo$@
#-----------------------------------------------------------------------
# Full Bayes Classifier Management
#-----------------------------------------------------------------------
fbc_ind.obj: $(HDRS) mvnorm.h fbayes.h fbayes.c bayes.mak
$(CC) $(CFLAGS) $(INC) /D FBC_INDUCE fbayes.c /Fo$@
fbc_exec.obj: $(HDRS) mvnorm.h fbayes.h fbayes.c bayes.mak
$(CC) $(CFLAGS) $(INC) /D FBC_PARSE fbayes.c /Fo$@
#-----------------------------------------------------------------------
# Multivariate Normal Distribution Management
#-----------------------------------------------------------------------
mvnorm.obj: $(UTILDIR)\scan.h mvnorm.h mvnorm.c bayes.mak
$(CC) $(CFLAGS) $(INC) mvnorm.c /Fo$@
mvn_pars.obj: $(UTILDIR)\scan.h mvnorm.h mvnorm.c bayes.mak
$(CC) $(CFLAGS) $(INC) /D MVN_PARSE mvnorm.c /Fo$@
#-----------------------------------------------------------------------
# External Modules
#-----------------------------------------------------------------------
$(UTILDIR)\vecops.obj:
cd $(UTILDIR)
$(MAKE) /f util.mak vecops.obj
cd $(THISDIR)
$(UTILDIR)\symtab.obj:
cd $(UTILDIR)
$(MAKE) /f util.mak symtab.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)
$(UTILDIR)\parse.obj:
cd $(UTILDIR)
$(MAKE) /f util.mak parse.obj
cd $(THISDIR)
$(TABLEDIR)\attset1.obj:
cd $(TABLEDIR)
$(MAKE) /f table.mak attset1.obj
cd $(THISDIR)
$(TABLEDIR)\attset2.obj:
cd $(TABLEDIR)
$(MAKE) /f table.mak attset2.obj
cd $(THISDIR)
$(TABLEDIR)\attset3.obj:
cd $(TABLEDIR)
$(MAKE) /f table.mak attset3.obj
cd $(THISDIR)
$(TABLEDIR)\table1.obj:
cd $(TABLEDIR)
$(MAKE) /f table.mak table1.obj
cd $(THISDIR)
$(TABLEDIR)\io.obj:
cd $(TABLEDIR)
$(MAKE) /f table.mak io.obj
cd $(THISDIR)
$(TABLEDIR)\io_tab.obj:
cd $(TABLEDIR)
$(MAKE) /f table.mak io_tab.obj
cd $(THISDIR)
#-----------------------------------------------------------------------
# Install
#-----------------------------------------------------------------------
install:
-@copy *.exe c:\home\bin
#-----------------------------------------------------------------------
# Clean up
#-----------------------------------------------------------------------
clean:
$(MAKE) /f bayes.mak localclean
cd $(UTILDIR)
$(MAKE) /f util.mak clean
cd $(TABLEDIR)
$(MAKE) /f table.mak localclean
cd $(THISDIR)
localclean:
-@erase /Q *~ *.obj *.idb *.pch $(PRGS)