
.SUFFIXES: .c .u
CC= g++

CFLAGS = -Wall -O3 -DHAVE_INLINE -DGSL_RANGE_CHECK_OFF -DNDEBUG -Wno-sign-compare -Wno-unused
#CFLAGS = -g -Wall -DHAVE_INLINE -DGSL_RANGE_CHECK_OFF

LDFLAGS = -lm -lgsl -lgslcblas
#LDFLAGS = -lm -lgsl -lcblas
LOBJECTS= main.o NBMM.o gibbs.o NBMM_sampling.o inf_gibbs.o util.o corpus.o sort.o params.o model.o
LSOURCE= main.cpp NBMM.cpp gibbs.cpp NBMM_sampling.cpp inf_gibbs.cpp util.cpp corpus.cpp sort.cpp params.cpp model.cpp

all:	$(LOBJECTS)
	$(CC) $(CFLAGS) $(LOBJECTS) -o NBMMLDA $(LDFLAGS)
	
.cpp.o:
	$(CC) -c $(CFLAGS) $< 

debug:	$(LOBJECTS)
	$(CC) $(CFLAGS) $(LOBJECTS) -o NBMMLDA $(LDFLAGS)

clean:
	-rm -f *.o
	-rm -f NBMMLDA

build:
	make all

TRSETTING = ./tr_setting.txt
TESETTING = ./te_setting.txt
MODELS = ./models.txt

##############################################################

#DATASET = ICML
DATASET = 20news
VDATA = ../data/20news_voc.txt
#VDATA = ./data/20news_s_voc.txt
#VDATA = ./data/icml.tokens

TDATA = ../data


OFILE = ./results/$(DATASET)

ZROOT = $(OFILE)/r_K20

RESULT_DIR = K20

#############################################################
est:
	./NBMMLDA -e -n $(RESULT_DIR) -z 0 -f $(ZROOT) -v $(VDATA) -t $(TDATA) -o $(OFILE) -s $(TRSETTING) #>$(OFILE)/test_$(RESULT_DIR).log
pred:
	./NBMMLDA -p -n $(RESULT_DIR) -z 0 -f $(ZROOT) -v $(VDATA) -t $(TDATA) -o $(OFILE) -s $(TESETTING)
pmi:
	./NBMMLDA -p -P $(PMIF) -s $(MODELS) -m $(OFILE) #>$(OFILE)/PMI_PDP.log
