CC	      = gcc -Zomf -Zmtd -s
O	      = .obj

.SUFFIXES: .c $O

.c$O:
	      $(CC) $(CFLAGS) -c $<

DEST	      = .

HDRS	      = defs.h

CFLAGS	      = -O -DNDEBUG

LDFLAGS	      =

LIBS	      = yacc.def

LINKER	      = $(CC)

MAKEFILE      = Makefile

OBJS	      = closure$O \
		error$O \
		lalr$O \
		lr0$O \
		main$O \
		mkpar$O \
		output$O \
		reader$O \
		skeleton$O \
		symtab$O \
		verbose$O \
		warshall$O \
	        isvalid$O

PRINT	      = pr -f -l88

PROGRAM	      = yacc

SRCS	      = closure.c \
		error.c \
		lalr.c \
		lr0.c \
		main.c \
		mkpar.c \
		output.c \
		reader.c \
		skeleton.c \
		symtab.c \
		verbose.c \
		warshall.c \
	        isvalid.c

all:		$(PROGRAM)

$(PROGRAM):     $(OBJS) $(LIBS)
		$(LINKER) $(LDFLAGS) -o $(PROGRAM) $(OBJS) $(LIBS)

clean:;		@rm -f $(OBJS)

clobber:;	@rm -f $(OBJS) $(PROGRAM)

depend:;	@mkmf -f $(MAKEFILE) PROGRAM=$(PROGRAM) DEST=$(DEST)

index:;		@ctags -wx $(HDRS) $(SRCS)

install:	$(PROGRAM)
		@echo Installing $(PROGRAM) in $(DEST)
		@install -s $(PROGRAM) $(DEST)

listing:;	@$(PRINT) Makefile $(HDRS) $(SRCS) | lpr

lint:;		@lint $(SRCS)

program:        $(PROGRAM)

tags:           $(HDRS) $(SRCS); @ctags $(HDRS) $(SRCS)

###
closure$O: defs.h
error$O: defs.h
lalr$O: defs.h
lr0$O: defs.h
main$O: defs.h
mkpar$O: defs.h
output$O: defs.h
reader$O: defs.h
skeleton$O: defs.h
symtab$O: defs.h
verbose$O: defs.h
warshall$O: defs.h
