#
# $Header: /cvsroot/overdose/overdose/Makefile,v 1.35 2006/09/29 10:25:29 segin Exp $
#
CC=gcc
#CC=icc
WINCROSS_CC=i386-mingw32msvc-gcc
DEFINES=-DVERSION=\""$(VERSION)\"" -DARCH="\"$(ARCH)\"" \
	-DOS=\"$(OS)\" -DOS_VERSION="\"$(OS_VERSION)\"" \
	-DHAVE_SNPRINTF -DNEED_VASPRINTF -D__USE_YMSK__ \
	-D_HAVE_CONFIG_H -DPACKAGE=\"Overdose\" 
	
CFLAGS= -march=pentium -Os -ggdb3 \
	-fno-ident $(DEFINES) -I.
# This is for use with Inhell's C Compiler
# -fstack-security-check is the same as the gcc CFLAG -fstack-protector-all
#CFLAGS=-march=pentium4 -Os -fstack-security-check $(DEFINES) -I. -msse2
# Use these CFLAGS if your gcc is patched for SSP.
#CFLAGS=-Os -fomit-frame-pointer -fstack-protector-all $(DEFINES) -I.
VERSION="0.3"
LDFLAGS=-lpthread -lncurses
OS=`uname`
OS_VERSION=`uname -r`
ARCH=`uname -m`

all: overdose

overdose: objclean cmd.o gui.o http.o main.o md5.o memtok.o sha.o snprintf.o strutil.o tcp.o ymsg.o 
	
	$(CC) $(LDFLAGS) *.o -o overdose 

cmd.o:

gui.o:

http.o:

memtok.o:

main.o:

tcp.o:

snprintf.o:

strutil.o:

ycht.o:

crypt.o:

sha.o:

md5.o:

yahoo_fn.o:

sample_client.o:

libyahoo_sample: crypt.o libyahoo2.o md5.o memtok.o sample_client.o sha.o snprintf.o yahoo_fn.o yahoo_httplib.o yahoo_list.o yahoo_util.o  
	$(CC) $(LDFLAGS) *.o -o sample

wincross: 
	exec make -f Makefile.wc wincross WINCROSS_CC=$(WINCROSS_CC) #

wincross-debug:
	exec make -f Makefile.wc wincross-debug WINCROSS_CC=$(WINCROSS_CC) #

# Currently, xcurses is broken.
#
xcurses:
	$(CC) $(CFLAGS) -lpthread `xcurses-config --libs` *.c -o overdose -DVERSION=\"$(VERSION)\" -DARCH=\"$(ARCH)\" -DOS=\"$(OS)\" -DOS_VERSION=\"$(OS_VERSION)\" -DHAVE_SNPRINTF -DNEED_VASPRINTF -DNORESIZE

noresize:
	$(CC) $(CFLAGS) -lpthread -lncurses *.c -o overdose -DVERSION=\"$(VERSION)\" -DARCH=\"$(ARCH)\" -DOS=\"$(OS)\" -DOS_VERSION=\"$(OS_VERSION)\" -DNORESIZE -DHAVE_SNPRINTF -DNEED_VASPRINTF

#
# This doesn't particulary work on any machine but mine.
#
#wincross:
#	$(WINCROSS_CC) $(CFLAGS) -lpthreadGC -lcurses *.c -o overdose.exe -DVERSION=\"$(VERSION)\" -DARCH=\"$(ARCH)\" -DOS=\"$(OS)\" -DOS_VERSION=\"$(OS_VERSION)\" -DHAVE_SNPRINTF -DNEED_VASPRINTF /opt/xmingw/lib/libcurses.a -lws2_32 /opt/xmingw/i386-mingw32msvc/lib/libws2_32.a pthreadGC.dll WS2_32.DLL -Wl,--strip-all 
# -DDEBUG

objclean:
	$(RM) *.o


clean: objclean
	rm -f overdose sample
	cd latex && exec make clean
	exec make -f Makefile.wc clean

doc:
	doxygen *.c *.h
	
latex-doc:
	cd latex && exec make
