TOPOBIN = /usr/local/topo/bin
TOPOINC = /usr/local/topo/lib
TOPOLIB = /usr/local/topo/lib

SPEC=	handnat
DNAME=	hnat_ldc
TNAME=	hnat_lbc
GLAD=	$(SPEC).gld

CFLAGS=-g -I$(TOPOINC)
LDFLAGS=-L$(TOPOLIB) -lotos -lkaos

TRGT=	$(SPEC)
OBJS=	nat.o $(DNAME).o $(TNAME).o test.o $(SPEC).o

$(TRGT):	$(OBJS)
	$(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS)

DNAME_HH=	nat.h $(DNAME).hh
TNAME_HH=	$(DNAME_HH) $(TNAME).hh

nat.c:	nat.h
$(DNAME).o:	$(DNAME_HH)
$(TNAME).o:	$(TNAME_HH)
test.o:	$(DNAME_HH) test.h
$(SPEC).o:	test.h

$(DNAME).c $(DNAME).hh:	$(SPEC).lot $(GLAD) $(SPEC).ctx
	$(TOPOBIN)/topo $(SPEC) -verbose -d
$(TNAME).c $(TNAME).hh:	$(SPEC).lot $(GLAD) $(SPEC).ctx
	$(TOPOBIN)/topo $(SPEC) -verbose -t

$(SPEC).ctx:
	$(TOPOBIN)/toposet $(SPEC) -dname $(DNAME) -tname $(TNAME)
	$(TOPOBIN)/toposet $(SPEC) -glad $(GLAD)

clean tidy::
	rm -f *~ core topocore
	rm -f $(OBJS)
	rm -f $(SPEC).com

clean::
	$(TOPOBIN)/topo $(SPEC) -clean

tidy::
	rm -f $(TRGT)
	$(TOPOBIN)/topo $(SPEC) -tidy
	rm -f $(SPEC).ctx

#-----------------------------------------------------------------------
HDRS=	nat.h $(DNAME).hh test.h
SRCS=	nat.c $(DNAME).c test.c

LINTFLAGS=-abhx -I$(TOPOINC) $(TOPOLIB)/llib-lkaos.ln

lint:	$(HDRS) $(SRCS)
	$(LINT) $(LINTFLAGS) $(SRCS)
