# Internet Junkbuster makefile

# comment out the next line if you do NOT want to use regular expressions
REGEX = -DREGEX
DEFAULT_CFLAGS = -I. $(REGEX) -DSTDC_HEADERS -DHAVE_STRING -D_LINUX_THREAD 
PURIFY =        purify -collector=/usr/ccs/bin/ld -gcc /s/ogcc/bin/gcc

PROG   = junkbuster
O      = o
RM     = rm -f
MORE_CFLAGS = -g
CC	= gcc


#LDFLAGS = -lsocket -lnsl -lresolv -lpthread 
LDFLAGS = -lnsl -lresolv -lpthread

# use this for Solaris 2.x
#LDFLAGS = -lnsl -lsocket 

# use these for SunOS 4.x
#LDFLAGS = -nsl
#MORE_CFLAGS = -g -DNOSTRERROR

# use this for HPUX 10.01
# you may get pointer assignment warnings
#MORE_CFLAGS = -Ae -g $(MORE_CFLAGS)

# use these with OS/2 EMX (tested with EMX 0.9c)
#CC        = gcc
#MOREFLAGS = -DOS2
#LDFLAGS   = -lsocket -Zexe -s
#RM        = del
#PROG      = junkbstr         # uncomment if you don't use HPFS

# use this for BSD/OS 3.0
#CC=shlicc2

# use these for mingw32
#PROG        = junkbstr.exe
#MORE_CFLAGS = -DWin32_Winsock -O3
#LDFLAGS     = -lwsock32

# use these for Win32
#PROG     = junkbstr.exe
#MORE_CFLAGS = /nologo -MT -Og
#LDFLAGS = wsock32.lib
#O       = obj
#RM      = del

# use these for BeOS
#MORE_CFLAGS = -relax_pointers
#LDFLAGS = -map junkbuster.xMAP

CFLAGS  = $(DEFAULT_CFLAGS) $(MORE_CFLAGS)

OBJS =	jcc.$(O) parsers.$(O) filters.$(O) loaders.$(O) bind.$(O) conn.$(O) \
	encode.$(O) ssplit.$(O) socks4.$(O) acl.$(O) gnu_regex.$(O) \
	win32.$(O) store.$(O) md5.$(O) http.$(O) hash.$(O) rfc1123.$(O) policy.$(O) pachyderm.$(O)

REBUILD = rebuild
DOSTAT = dostat
ACHIS = achis

ROBJS = rebuilder.$(O) hash.$(O) ssplit.$(O)
DOBJS = dostat.$(O) hash.$(O) ssplit.$(O)
AOBJS = achis.$(O) ssplit.$(O) conn.$(O) socks4.$(O)

all : $(OBJS) $(ROBJS) $(DOBJS) $(AOBJS) 
	$(CC) $(CFLAGS) -o $(DOSTAT) $(DOBJS) $(DLDFLAGS)
	$(CC) $(CFLAGS) -o $(PROG) $(OBJS) $(LDFLAGS)
	$(CC) $(CFLAGS) -o $(REBUILD) $(ROBJS) $(RLDFLAGS)
	$(CC) $(CFLAGS) -o $(ACHIS) $(AOBJS) $(ALDFLAGS)
	$(CC) $(CFLAGS) -o logx logx.c ssplit.c
	$(CC) $(CFLAGS) -o htdir htdir.c
	$(CC) $(CFLAGS) -o ht ht.c
	$(CC) $(CFLAGS) -o cmpv1v2 cmpv1v2.c ssplit.c md5.c rfc1123.c
$(PROG): $(OBJS)
	$(CC) $(CFLAGS) -o $(PROG) $(OBJS) $(LDFLAGS)

$(REBUILD): $(ROBJS)
	$(CC) $(CFLAGS) -o $(REBUILD) $(ROBJS) $(RLDFLAGS)

$(DOSTAT): $(DOBJS)
	$(CC) $(CFLAGS) -o $(DOSTAT) $(DOBJS) $(DLDFLAGS)

$(ACHIS) : $(AOBJS)
	$(CC) $(CFLAGS) -o $(ACHIS) $(AOBJS) $(ALDFLAGS)

purify:
	$(PURIFY) $(CFLAGS) -o $(PROG) $(OBJS) $(LDFLAGS)

clean:
	$(RM) a.out core *.o *.obj

clobber: clean
	$(RM) junkbuster junkbuster.xMAP junkbstr.exe *.pdb *.lib *.exp

# $Id: Makefile,v 1.15 2000/12/17 22:10:32 junfengy Exp $
# Written and copyright 1997-8 Anonymous Coders and Junkbusters Corporation.
# Distributed under the GNU General Public License; see the README file.
# This code comes with NO WARRANTY. http://www.junkbusters.com/ht/en/gpl.html


