# For Linux or any machines with gcc compiler
HOME_DIR_1 = ../EISL_TIFF_1.0
TIFFRW_DIR = $(HOME_DIR_1)/TIFF_RW
TIFF_DIR = $(HOME_DIR_1)/tiff-v3.6.1/tiff-v3.6.1/libtiff
JPEG_DIR = $(HOME_DIR_1)/jpegsrc.v6b/jpeg-6b
ZLIB_DIR = $(HOME_DIR_1)/zlib-1.2.1/zlib-1.2.1

CC = gcc
CFLAGS = -ansi -Wall -pedantic -O2 
LIB_FLAGS = -L$(TIFF_DIR) -L$(JPEG_DIR) -L$(ZLIB_DIR) -ltiff -ljpeg -lz -lm 
INC_FLAGS = -I$(TIFFRW_DIR) -I$(JBIG_DIR) -I$(JPEG_DIR) -I$(MMR_HEAD) -I. 
# -pg : profile (measure time)
# gprof Main_segment > ! time.txt
#DBG_FLAGS = -DDEBUG_PROGRESS -pg
DBG_FLAGS = -DDEBUG_PROGRESS 
#DBG_FLAGS = -pg

# For SunOS
#CFLAGS = -Aa

all: Main_segment 

clean:
	/bin/rm *.o Main_segment

MAIN_OBJ = allocate.o segmentation.o Main_segment.o \
$(TIFFRW_DIR)/obj/TIFF_RW.o convert_color.o convert_type.o COS_library.o \
CCC_library.o prior_calc.o
MAIN_HEADER = allocate.h segmentation.h convert_color.h convert_type.h \
Main_def.h COS_library.h COS_library_itnl.h CCC_library.h CCC_library_itnl.h \
prior_calc.h
CONN_OBJ = boundary.o marklist.o pbmtools.o utils.o
CONN_HEADER = line.h boundary.h marklist.h pbmtools.h utils.h
CLASSIFY_OBJ = classify.o clust_io.o clust_util.o alloc_util.o eigen.o invert.o
CLASSIFY_HEADER  = classify.h clust_io.h clust_util.h clust_defs.h \
clustermessage.h alloc_util.h

Main_segment: $(MAIN_OBJ) $(MAIN_HEADER) $(CONN_OBJ) $(CONN_HEADER) $(CLASSIFY_OBJ) $(CLASSIFY_HEADER)
	 $(CC) $(DBG_FLAGS) $(CFLAGS) $(MAIN_OBJ) $(CONN_OBJ) $(CLASSIFY_OBJ) -o Main_segment $(LIB_FLAGS)
.c.o: 
	 $(CC) -c $(INC_FLAGS) $(DBG_FLAGS) $<
