 #
# $Id: Makefile,v 1.3 2002/11/30 01:38:45 dredd Exp $
#
# A GNU Makefile - for Hammerhead
#
# $Source: /cvsroot/hammerhead/hammerhead/utils/Makefile,v $
# $Revision: 1.3 $
# $Date: 2002/11/30 01:38:45 $
# $State: Exp $
#
# Author: Geoff Wong
#

include ../hammer.mk

#
# Compiler and install stuff
#

#CC=g++ -pedantic
CC=g++

#
# Analysis stuff
#

PROF=

#
# Some operating system dependent trickery
#

OS=$(shell uname)
OBJPATH=obj/$(OS)/
BINPATH=../bin/$(OS)/
#HACKPATH=$(shell echo $(OBJPATH) | sed -e "s/\//\\\\\//g")
#VPATH=$(OBJPATH)
DEFS=-D_REENTRANT -D$(OS)
SRC_INCLUDE=-I../src

#
# Libs
#

ifeq ($(OS),FreeBSD) 
# assumes 2.2.7
	CC=g++ -O3 -fomit-frame-pointer
#	CC=g++ -pthread -O3 -fomit-frame-pointer
#    CC=g++ -pthread -pg
	LIBS=$(SSL_LIB_PATH) $(SSL_LIB)
#    LIBS=
    INCLUDE= -I/usr/local/include $(SSL_INCLUDE) $(SRC_INCLUDE)
    CFLAGS=-g -Wall -D_THREAD_SAFE -DSA_LEN_IN_SOCKADDR -DHAVE_SSL -DHAVE_OPENSSL $(INCLUDE)
endif

ifeq ($(OS),Linux)
# Redhat 5.2
	LIBS=$(SSL_LIB_PATH) -lc -ldl -lpthread $(SSL_LIB)
	INCLUDE=$(SSL_INCLUDE) $(SRC_INCLUDE)
	CFLAGS=-g -Wall $(INCLUDE)
endif

ifeq ($OS,SunOS)
	LIBS=$(SSL_LIB_PATH) -lsocket -lnsl -lc -ldl -lpthread $(SSL_LIB) 
	INCLUDE=$(SSL_INCLUDE) $(SRC_INCLUDE)
	CFLAGS=-g -Wall $(INCLUDE)
endif
 
#
# Hammerhead
#

HSRC= 
	

#
# ConvertLog
#

CSRC= convertLog.cc str.cc strptime.cc hrtime.cc

#
# Objects
#

HOBJ:=$(HSRC:%.cc=$(OBJPATH)%.o)
COBJ:=$(CSRC:%.cc=$(OBJPATH)%.o)
CLEANOBJ:=$(shell /bin/ls $(OBJPATH)*.o)

# all: depend hammerhead convertLog

first: depend
	$(MAKE) all

all: convertLog

echo :
	echo $(HOBJ)
	echo $(HSRC)

$(HOBJ) : $(OBJPATH)%.o: %.cc
	$(CC) $(PROF) -c $(DEFS) $(CFLAGS) $< -o $@

$(COBJ) : $(OBJPATH)%.o: %.cc
	$(CC) $(PROF) -c $(DEFS) $(CFLAGS) $< -o $@

convertLog: $(COBJ)
	$(CC) $(PROF) -o convertLog $(DEFS) $(CFLAGS) $^ $(LIBS) -lc

tags: $(HSRC) 
	ctags $^

clean:
	rm -f $(CLEANOBJ) 

veryclean: clean
	rm -f $(CLEANOBJ) convertLog
	
proper:
	rm -f $(BINPATH)hammerhead $(BINPATH)convertLog $(COBJ) $(JOBJ) 
	
.PHONY: depend

depend: sdepend 
	rm -f depend.tmp
	@echo Dependencies Rebuilt

sdepend: $(HSRC) $(CSRC)
	$(CC) -MM $(CFLAGS) $(DEFS) $^ > depend.tmp
#	sed -e "s/^.*:/$(HACKPATH)&/" depend.tmp > $(OBJPATH).sdepend
	sed -e "s+^.*:+$(OBJPATH)&+" depend.tmp > $(OBJPATH).sdepend

-include $(OBJPATH).sdepend
