www.pudn.com > bayes.rar > makefile
#-----------------------------------------------------------------------
# File : makefile (directory: bayes)
# Contents: commands to build naive and full Bayes classifier programs
# Author : Christian Borgelt
# History : 08.12.1998 file created
# 23.03.1999 storage debugging module added
# 17.04.1999 input/output utility functions added
# 10.11.2000 program corr moved here from table directory
# 26.11.2000 module mvnorm added
# 22.01.2002 adapted to changed table makefile
# 26.04.2003 program bcdb added
# 12.08.2004 adapted to new module parse
#-----------------------------------------------------------------------
CC = gcc
CFBASE = -ansi -Wall -pedantic $(ADDFLAGS)
CFLAGS = $(CFBASE) -DNDEBUG -O3
# CFLAGS = $(CFBASE) -g
# CFLAGS = $(CFBASE) -g $(ADDINC) -DSTORAGE
INC = -I$(UTILDIR) -I$(TABLEDIR)
LIBS = -lm
# ADDINC = -I../../misc/src
# ADDOBJ = storage.o
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.o $(UTILDIR)/tfscan.o \
$(UTILDIR)/scan.o $(UTILDIR)/parse.o \
$(TABLEDIR)/attset1.o $(TABLEDIR)/attset2.o \
$(TABLEDIR)/attset3.o $(ADDOBJ)
BCI_O = $(OBJS) $(TABLEDIR)/io_tab.o $(TABLEDIR)/table1.o \
mvnorm.o fbc_ind.o nbc_ind.o bci.o
BCX_O = $(OBJS) $(TABLEDIR)/io.o \
mvn_pars.o fbc_exec.o nbc_exec.o bcx.o
BCDB_O = $(OBJS) mvn_pars.o fbc_exec.o nbc_exec.o bcdb.o
CORR_O = $(UTILDIR)/symtab.o $(UTILDIR)/tfscan.o \
mvnorm.o corr.o $(ADDOBJ)
PRGS = bci bcx bcdb corr
#-----------------------------------------------------------------------
# Build Programs
#-----------------------------------------------------------------------
all: $(PRGS)
bci: $(BCI_O) makefile
$(CC) $(LDFLAGS) $(BCI_O) $(LIBS) -o $@
bcx: $(BCX_O) makefile
$(CC) $(LDFLAGS) $(BCX_O) $(LIBS) -o $@
bcdb: $(BCDB_O) makefile
$(CC) $(LDFLAGS) $(BCDB_O) $(LIBS) -o $@
corr: $(CORR_O) makefile
$(CC) $(LDFLAGS) $(CORR_O) $(LIBS) -o $@
#-----------------------------------------------------------------------
# Main Programs
#-----------------------------------------------------------------------
bci.o: $(BCHDRS)
bci.o: bci.c makefile
$(CC) $(CFLAGS) $(INC) -c bci.c -o $@
bcx.o: $(BCHDRS)
bcx.o: bcx.c makefile
$(CC) $(CFLAGS) $(INC) -c bcx.c -o $@
bcdb.o: $(BCHDRS)
bcdb.o: bcdb.c makefile
$(CC) $(CFLAGS) $(INC) -DDRAND48 -c bcdb.c -o $@
corr.o: mvnorm.h $(UTILDIR)/symtab.h $(UTILDIR)/tfscan.h
corr.o: corr.c makefile
$(CC) $(CFLAGS) $(INC) -c corr.c -o $@
#-----------------------------------------------------------------------
# Naive Bayes Classifier Management
#-----------------------------------------------------------------------
nbc_ind.o: nbayes.h $(HDRS)
nbc_ind.o: nbayes.c makefile
$(CC) $(CFLAGS) $(INC) -DNBC_INDUCE -c nbayes.c -o $@
nbc_exec.o: nbayes.h $(HDRS)
nbc_exec.o: nbayes.c makefile
$(CC) $(CFLAGS) $(INC) -DNBC_PARSE -c nbayes.c -o $@
#-----------------------------------------------------------------------
# Full Bayes Classifier Management
#-----------------------------------------------------------------------
fbc_ind.o: fbayes.h mvnorm.h $(HDRS)
fbc_ind.o: fbayes.c makefile
$(CC) $(CFLAGS) $(INC) -DFBC_INDUCE -c fbayes.c -o $@
fbc_exec.o: fbayes.h mvnorm.h $(HDRS)
fbc_exec.o: fbayes.c makefile
$(CC) $(CFLAGS) $(INC) -DFBC_PARSE -c fbayes.c -o $@
#-----------------------------------------------------------------------
# Multivariate Normal Distribution Management
#-----------------------------------------------------------------------
mvnorm.o: mvnorm.h $(UTILDIR)/scan.h
mvnorm.o: mvnorm.c makefile
$(CC) $(CFLAGS) $(INC) -c mvnorm.c -o $@
mvn_pars.o: mvnorm.h $(UTILDIR)/scan.h
mvn_pars.o: mvnorm.c makefile
$(CC) $(CFLAGS) $(INC) -DMVN_PARSE -c mvnorm.c -o $@
#-----------------------------------------------------------------------
# Storage Debugging
#-----------------------------------------------------------------------
storage.o: ../../misc/src/storage.h
storage.o: ../../misc/src/storage.c
$(CC) $(CFLAGS) -c ../../misc/src/storage.c -o $@
#-----------------------------------------------------------------------
# External Modules
#-----------------------------------------------------------------------
$(UTILDIR)/vecops.o:
cd $(UTILDIR); $(MAKE) vecops.o ADDFLAGS=$(ADDFLAGS)
$(UTILDIR)/symtab.o:
cd $(UTILDIR); $(MAKE) symtab.o ADDFLAGS=$(ADDFLAGS)
$(UTILDIR)/tfscan.o:
cd $(UTILDIR); $(MAKE) tfscan.o ADDFLAGS=$(ADDFLAGS)
$(UTILDIR)/scan.o:
cd $(UTILDIR); $(MAKE) scan.o ADDFLAGS=$(ADDFLAGS)
$(UTILDIR)/parse.o:
cd $(UTILDIR); $(MAKE) parse.o ADDFLAGS=$(ADDFLAGS)
$(TABLEDIR)/attset1.o:
cd $(TABLEDIR); $(MAKE) attset1.o ADDFLAGS=$(ADDFLAGS)
$(TABLEDIR)/attset2.o:
cd $(TABLEDIR); $(MAKE) attset2.o ADDFLAGS=$(ADDFLAGS)
$(TABLEDIR)/attset3.o:
cd $(TABLEDIR); $(MAKE) attset3.o ADDFLAGS=$(ADDFLAGS)
$(TABLEDIR)/table1.o:
cd $(TABLEDIR); $(MAKE) table1.o ADDFLAGS=$(ADDFLAGS)
$(TABLEDIR)/io.o:
cd $(TABLEDIR); $(MAKE) io.o ADDFLAGS=$(ADDFLAGS)
$(TABLEDIR)/io_tab.o:
cd $(TABLEDIR); $(MAKE) io_tab.o ADDFLAGS=$(ADDFLAGS)
#-----------------------------------------------------------------------
# Install
#-----------------------------------------------------------------------
install:
cp $(PRGS) $(HOME)/bin
#-----------------------------------------------------------------------
# Clean up
#-----------------------------------------------------------------------
clean:
rm -f *.o *~ *.flc core $(PRGS)
cd $(UTILDIR); $(MAKE) clean
cd $(TABLEDIR); $(MAKE) localclean
localclean:
rm -f *.o *~ *.flc core $(PRGS)