
CC = gcc
AR = /usr/ccs/bin/ar
RANLIB = /usr/ccs/bin/ranlib

INSTALL_PATH = /ncc/ttpro
BIN_PATH = $(INSTALL_PATH)/bin  
INC_PATH = $(INSTALL_PATH)/include  
EXE_PATH = $(INSTALL_PATH)/bin/$(shell uname -s)
LIB_PATH = $(INSTALL_PATH)/lib/$(shell uname -s)



GLIB_CFLAGS  = -I/usr/include/glib-1.2 -I/usr/lib/glib/include		#cow
GLIB_CFLAGS  = -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
GLIB_CFLAGS = -I/ncc/ttpro/contrib/lib/glib/include -I/ncc/ttpro/contrib/include

GLIB_LIBPATH = /usr/lib
GLIB_LIBPATH = /ncc/ttpro/contrib/lib

MYSQL_CFLAGS = -I/usr/local/mysql/include 
MYSQL_LIBPATH = /usr/local/mysql/lib/mysql

PERF = O2	# optimize
PERF = g	# debug info / symbol tables

CFLAGS = -Wall -$(PERF) -DUSE_STRTOK -D_REENTRANT $(GLIB_CFLAGS) $(MYSQL_CFLAGS)

LDFLAGS = -Wl,-R,$(MYSQL_LIBPATH),-R,$(GLIB_LIBPATH) -L$(MYSQL_LIBPATH) -L$(GLIB_LIBPATH) 

LIBS = -lmysqlclient -lnsl -lz -lm -lglib 		    #cow
LIBS = -lmysqlclient -lnsl -lz -lm -lglib-2.0 		    #tekuiti
LIBS = -lmysqlclient -lsocket -lnsl -lxnet -lz -lm -lglib  #solaris

OBJS = as.o common.o read_line.o digest.o md5.o querydb.o

#EXE = updatedb asquery routequery transferdb checkrvec
EXE = updatedb asquery routequery transferdb 

LIB = libtraceroutedb.a 

INCLUDE = common.h querydb.h

all:	$(EXE) $(LIB)

updatedb:	$(OBJS) updatedb.o
	$(CC) $(LDFLAGS) -o updatedb $(OBJS) updatedb.o $(LIBS)

testquery:	$(OBJS) testquery.o
	$(CC) $(LDFLAGS) -o testquery $(OBJS) testquery.o $(LIBS)

fillroutes:	$(OBJS) fillroutes.o
	$(CC) $(LDFLAGS) -o fillroutes $(OBJS) fillroutes.o $(LIBS)

fillrecords:	$(OBJS) fillrecords.o
	$(CC) $(LDFLAGS) -o fillrecords $(OBJS) fillrecords.o $(LIBS)

transferdb:	$(OBJS) transferdb.o
	$(CC) $(LDFLAGS) -o transferdb $(OBJS) transferdb.o $(LIBS)
	
routequery:	$(OBJS) routequery.o
	$(CC) $(LDFLAGS) -o routequery $(OBJS) routequery.o $(LIBS)

asquery:	$(OBJS) asquery.o
	$(CC) $(LDFLAGS) -o asquery $(OBJS) asquery.o $(LIBS)

mytest:	$(OBJS) mytest.o
	$(CC) $(LDFLAGS) -o mytest $(OBJS) mytest.o $(LIBS)

checkrvec:	common.o read_line.o checkrvec.o
	$(CC) $(LDFLAGS) -o checkrvec common.o read_line.o checkrvec.o $(LIBS)

testas:	common.o read_line.o testas.o as.o
	$(CC) $(LDFLAGS) -o testas common.o read_line.o as.o testas.o $(LIBS)

string2crc: string2crc.o $(OBJS)
	$(CC) $(LDFLAGS) -o string2crc $(OBJS) string2crc.o $(LIBS)

libtraceroutedb.a: $(OBJS)
	$(AR) r $(LIB) $(OBJS)
	$(RANLIB) libtraceroutedb.a

.c.o:	
	$(CC) $(CFLAGS) -c $<

clean:  
	rm -f updatedb testquery fillroutes mytest transferdb fillrecords routequery libtraceroutedb.a *.o core

test:	updatedb	
	/usr/local/mysql/bin/mysql -u ttmadmin --password=FSdSqL TTM < pSQL
	./updatedb files
	
install: install_bin install_inc install_lib

install_bin: $(EXE)
	install -c -m 550 $? $(EXE_PATH)
	
install_inc: $(INCLUDE)
	install -c -m 444 $? $(INC_PATH)

install_lib: $(LIB)
	install -c -m 550 $? $(LIB_PATH)

read_line.o: read_line.h read_line.c
digest.o: digest.c digest.h md5.h
md5.o: md5.c md5.h getput.h
