SHELL=/bin/sh
.SUFFIXES:
.SUFFIXES: .c .o .pl .pm .pod .html .man


CC	= gcc
CPP	= gcc -E
LEX	= flex
PERL	= /usr/bin/perl
YACC	= bison -y
PERL	= /usr/bin/perl
INSTALL	= /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
MKDIR = ../mkinstalldirs

RM = rm -f

CFLAGS	= -g -O2 -I/usr/local/BerkeleyDB/include
CPPFLAGS=  -I/usr/local/BerkeleyDB/include
LDFLAGS	=  -L/usr/local/BerkeleyDB/lib
LIBS	= -ldb -lpthread 
DEFS	= -DHAVE_CONFIG_H

INCLUDES= -I.. -I. -I$(srcdir)

COMPILE = $(CC) $(INCLUDES) $(CPPFLAGS) $(DEFS) $(CFLAGS)
LINK    = $(CC) $(LDFLAGS) -o $@

top_srcdir = ..
srcdir     = .


prefix	= /usr/local
exec_prefix = ${prefix}
bindir	= $(exec_prefix)/bin
logdir	= 
cfgdir	= 
infodir	= $(prefix)/info

OBJS	= main.o sgLog.o sgDb.o HTParse.o sgDiv.o sgFree.o y.tab.o lex.yy.o

all::
	@echo making $@ in `basename \`pwd\``

all::	squidGuard
	@echo making $? in `basename \`pwd\``

squidGuard:	$(OBJS)
	$(LINK) $(OBJS) $(LIBS)

conf: y.tab.o lex.yy.o
	$(COMPILE) -o conf y.tab.o lex.yy.o

main.o:	main.c sg.h
	$(COMPILE) -c main.c

sgLog.o:	sgLog.c sg.h
	$(COMPILE) -c sgLog.c

HTParse.o:	HTParse.c wwwsys.h HTEscape.h
	$(COMPILE) -c HTParse.c

sgDiv.o: sgDiv.c sg.h sgEx.h
	$(COMPILE) -c sgDiv.c

sgFree.o: sgFree.c sg.h sgEx.h
	$(COMPILE) -c sgFree.c

sgDb.o:	sgDb.c sg.h
	$(COMPILE) -c sgDb.c

lex.yy.o: lex.yy.c y.tab.h sg.h
	$(COMPILE) -c lex.yy.c

y.tab.o: y.tab.c y.tab.h sg.h sgEx.h
	$(COMPILE) -c y.tab.c

lex.yy.c: sg.l sg.h
	$(LEX) sg.l || cp lex.yy.c.flex lex.yy.c

lex.yy.c.flex: sg.l sg.h
	$(LEX) sg.l
	mv -f lex.yy.c lex.yy.c.flex

y.tab.c y.tab.h: sg.y sg.h
	$(YACC) -d sg.y || (cp y.tab.c.bison y.tab.c && cp y.tab.h.bison y.tab.h)

y.tab.c.bison y.tab.h.bison: sg.y sg.h
	$(YACC) -d sg.y
	mv -f y.tab.c y.tab.c.bison
	mv -f y.tab.h y.tab.h.bison

#
# Dependencies for installing
#

install::	 install.bin
	@echo making $@ in `basename \`pwd\``

uninstall::	 uninstall.bin
	@echo making $@ in `basename \`pwd\``

install.bin:: squidGuard
	@echo making $@ in `basename \`pwd\``
	@$(MKDIR) $(bindir) $(logdir) $(cfgdir)
	$(INSTALL_PROGRAM) squidGuard $(bindir)/squidGuard

uninstall.bin::
	@echo making $@ in `basename \`pwd\``
	$(RM) $(bindir)/squidGuard

update::
	@echo making $@ in `basename \`pwd\``

update::lex.yy.c.flex y.tab.c.bison y.tab.h.bison

#
# Dependencies for cleanup
#

clean::
	@echo making $@ in `basename \`pwd\``
	$(RM) *~ *.bak core *.log *.error
	$(RM) *.o y.tab.c y.tab.h squidGuard lex.yy.c

realclean:: clean
	@echo making $@ in `basename \`pwd\``
	$(RM) TAGS *.orig

distclean:: realclean
	@echo making $@ in `basename \`pwd\``
	$(RM) Makefile sg.h config.h

#
# Dependencies for maintenance
#


subdir = src

Makefile: Makefile.in ../config.status
	cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
