
CC	= gcc # -Wall
MV	= mv
RM	= rm -f
EXE	=
YTAB	= y.tab

# For GNU/Linux systems
CFLAGS	= -I. -O2	# -static
YACC	= bison -y

# For the Cygnus Win32 environment
#CFLAGS	= -DL_ENDIAN -DGNU_WIN32 -I. -O
#YACC	= byacc

# For OS/2
#CFLAGS	= -DL_ENDIAN -DOS2 -I. -O2
#YACC	= yacc
#LEX	= flex -l
#MV	= move
#RM	= del
#EXE	= .exe
#YTAB	= y_tab

# Everything else
#CFLAGS	= -I. -O
#YACC	= yacc

# You will amost certainly need this flag if you are compiling under
# a BSD or Linux system:-
#LEX	= lex -l

# ----------------------------------------------------------------------
# You should not need to modify anything below here
#
OBJS		= fortify.o morpher.o gram.o lex.o index.o \
			os2lx.o os2obj.o os2page.o \
			misc.o md5_dgst.o md5_calc.o spans.o trace.o

MD5_OBJ		= md5_calc.o md5_dgst.o md5.o spans.o trace.o

all:	fortify$(EXE) md5$(EXE)

fortify$(EXE): $(OBJS)
	$(CC) $(CFLAGS) $(OBJS) -o $@

md5$(EXE):    $(MD5_OBJ)
	$(CC) $(CFLAGS) $(MD5_OBJ) -o $@


gram.o:	gram.y
	$(YACC) -b y gram.y
	$(MV) $(YTAB).c gram.c
	$(CC) $(CFLAGS) -c gram.c

lex.o:	lex.c $(YTAB).h

lex.c:	lex.l

#	$(LEX) -o$@ lex.l

lex.l:	$(YTAB).h

$(YTAB).h: gram.y
	$(YACC) -d -b y gram.y

clean:
	-$(RM) *.o
	-$(RM) $(YTAB).h
	-$(RM) $(YTAB).c
	-$(RM) gram.c
	-$(RM) lex.c
	-$(RM) core
	-$(RM) *.old
	-$(RM) *.bak
