TOPDIR = ../..
include $(TOPDIR)/MakeVars
include $(TOPDIR)/Makerules

SRCS = pmisc.c
OBJS = $(SRCS:.c=.o) 
PCCTSOBJS = cndl.o scan.o err.o

TOKENS = tokens.h
MOD_FILE = mode.h
DLG_FILE = parser.dlg
ERR = err
SCAN = scan
GRM=cndl.g
AFLAGS = -ga -k 4 -e2 -prc on# -gl
ANTLR_SPAWN = cndl.c $(DLG_FILE) $(TOKENS) $(ERR).c
DLG_SPAWN = $(SCAN).c $(MOD_FILE)
ANTLR_H = $(PCCTS)/h
BIN = $(PCCTS)/bin
ANTLR = $(BIN)/antlr
DLG = $(BIN)/dlg
CFLAGS := $(CFLAGS) -I$(ANTLR_H)
DFLAGS = -C2 -i

all: pccts.o


pccts.o: $(OBJS) $(PCCTSOBJS)
	$(RM) pccts.o
	$(LD) -r -o pccts.o $(OBJS) $(PCCTSOBJS)

cndl.o: $(MOD_FILE) $(TOKENS) cndl.c
	$(CC) -c $(CFLAGS) -o cndl.o cndl.c

$(ERR).o: $(ERR).c $(TOKENS)
	$(CC) -c $(CFLAGS) -o $(ERR).o $(ERR).c

$(SCAN).o: $(SCAN).c $(TOKENS)
	$(CC) -c $(CFLAGS) -o $(SCAN).o $(SCAN).c

$(ANTLR_SPAWN): $(GRM)
	$(ANTLR) $(AFLAGS) $(GRM)

$(DLG_SPAWN) : $(DLG_FILE)
	$(DLG) $(DFLAGS) $(DLG_FILE) $(SCAN).c

dep depend:
	$(DEPEND) $(SRCS) > .depend
tags: 
	ln -sf $(TOPDIR)/TAGS TAGS
	etags -a -o TAGS $(SRCS)
clean:
	$(RM) *.o scan.c err.c tokens.h mode.h parser.dlg cndl.c

#
# include a dependency file if one exists
#
ifeq (.depend,$(wildcard .depend))
include .depend
endif

