CFLAGS=-g -I$(TOPOINC)
TOPO = /usr/local/topo
TOPOBIN = $(TOPO)/bin
TOPOINC = $(TOPO)/lib
TOPOLIB = $(TOPO)/lib

LOBJS1=	lbc1.o ldc1.o
OBJS1=	$(LOBJS1) eratos.o bool.o int.o

eratos1: $(OBJS1)
	$(CC) $(CFLAGS) -o $@ $(OBJS1) -L$(TOPOLIB) -lotos -lkaos

lbc1.o ldc1.o:	ldc1.hh bool.h int.h
lbc1.o:		lbc1.hh

lbc1.c lbc1.hh:   eratos1.lot
	$(TOPOBIN)/topo eratos1 -verbose -t

ldc1.c ldc1.hh:   eratos1.lot
	$(TOPOBIN)/topo eratos1 -verbose -d

LOBJS2=	lbc2.o ldc2.o
OBJS2=	$(LOBJS2) eratos.o bool.o int.o

eratos2: $(OBJS2)
	$(CC) $(CFLAGS) -o $@ $(OBJS2) -L$(TOPOLIB) -lotos -lkaos

lbc2.o ldc2.o:	ldc2.hh bool.h int.h
lbc2.o:		lbc2.hh

lbc2.c lbc2.hh:   eratos2.lot
	$(TOPOBIN)/topo eratos2 -verbose -t

ldc2.c ldc2.hh:   eratos2.lot
	$(TOPOBIN)/topo eratos2 -verbose -d

LOBJS3=	lbc3.o ldc3.o
OBJS3=	$(LOBJS3) eratos.o bool.o int.o

eratos3: $(OBJS3)
	$(CC) $(CFLAGS) -o $@ $(OBJS3) -L$(TOPOLIB) -lotos -lkaos

lbc3.o ldc3.o:	ldc3.hh bool.h int.h
lbc3.o:		lbc3.hh

lbc3.c lbc3.hh:   eratos3.lot
	$(TOPOBIN)/topo eratos3 -verbose -t

ldc3.c ldc3.hh:   eratos3.lot
	$(TOPOBIN)/topo eratos3 -verbose -d

LOBJS4=	lbc4.o ldc4.o
OBJS4=	$(LOBJS4) eratos.o bool.o int.o intlist.o

eratos4: $(OBJS4)
	$(CC) $(CFLAGS) -o $@ $(OBJS4) -L$(TOPOLIB) -lotos -lkaos

lbc4.o ldc4.o:	ldc4.hh bool.h int.h intlist.h
lbc4.o:		lbc4.hh

lbc4.c lbc4.hh:   eratos4.lot
	$(TOPOBIN)/topo eratos4 -verbose -t

ldc4.c ldc4.hh:   eratos4.lot
	$(TOPOBIN)/topo eratos4 -verbose -d

LOBJS5=	lbc5.o ldc5.o
OBJS5=	$(LOBJS5) eratos.o bool.o int.o intlist.o isprime.o

eratos5: $(OBJS5)
	$(CC) $(CFLAGS) -o $@ $(OBJS5) -L$(TOPOLIB) -lotos -lkaos

lbc5.o ldc5.o:	ldc5.hh bool.h int.h intlist.h isprime.h
lbc5.o:		lbc5.hh

lbc5.c lbc5.hh:   eratos5.lot
	$(TOPOBIN)/topo eratos5 -verbose -t

ldc5.c ldc5.hh:   eratos5.lot
	$(TOPOBIN)/topo eratos5 -verbose -d

eratos6:        eratos6.c
	$(CC) $(CFLAGS) -o $@ eratos6.c

bool.o:         bool.h
int.o:          int.h           bool.h
intlist.o:      intlist.h       bool.h int.h

clean tidy::
	rm -f *~ core topocore
	rm -f *.o
	rm -f $(LOBJS1) $(LOBJS2) $(LOBJS3) $(LOBJS4) $(LOBJS5)
	rm -f eratos.o eratos6.o bool.o int.o intlist.o isprime.o
	rm -f eratos1.com eratos2.com eratos3.com eratos4.com eratos5.com
clean::
	$(TOPOBIN)/topo eratos1 -clean
	$(TOPOBIN)/topo eratos2 -clean
	$(TOPOBIN)/topo eratos3 -clean
	$(TOPOBIN)/topo eratos4 -clean
	$(TOPOBIN)/topo eratos5 -clean

tidy::
	rm -f eratos1 eratos2 eratos3 eratos4 eratos5 eratos6
	$(TOPOBIN)/topo eratos1 -tidy
	$(TOPOBIN)/topo eratos2 -tidy
	$(TOPOBIN)/topo eratos3 -tidy
	$(TOPOBIN)/topo eratos4 -tidy
	$(TOPOBIN)/topo eratos5 -tidy
