# September 1993
#
# Robot simulator functions in C
#

SHELL = /bin/sh
CFLAGS = -O -g 
CC = gcc

#############################################################

SRCD = ./
OBJD = ./
INCD = ../include/
MOTIFD = /usr/share/local/motif/usr/
BIND = /homedir/flakey/bin/

OBJECTS = $(OBJD)world.o $(OBJD)seg.o $(OBJD)robot.o $(OBJD)ptrs.o \
$(OBJD)servo.o $(OBJD)win.o $(OBJD)xdisp.o $(OBJD)mdisp.o $(OBJD)timer.o \
$(OBJD)comm-server.o $(OBJD)comm-rw.o $(OBJD)comm-pac.o $(OBJD)loadfile.o \
$(OBJD)sonar-beam.o $(OBJD)sonar.o $(OBJD)toplevel.o

#############################################################
all: $(OBJECTS) $(BIND)erratic
	touch all

$(OBJD)robot.o: robot.c $(INCD)structures.h $(INCD)parameters.h $(INCD)constants.h $(INCD)angles.h
	$(CC) $(CFLAGS) -c robot.c -I$(INCD) -o $(OBJD)robot.o

$(OBJD)seg.o: seg.c $(INCD)structures.h $(INCD)parameters.h $(INCD)constants.h $(INCD)angles.h
	$(CC) $(CFLAGS) -c seg.c -I$(INCD) -o $(OBJD)seg.o

$(OBJD)ptrs.o: ptrs.c $(INCD)structures.h $(INCD)parameters.h $(INCD)constants.h $(INCD)angles.h
	$(CC) $(CFLAGS) -c ptrs.c -I$(INCD) -o $(OBJD)ptrs.o

$(OBJD)world.o: world.c $(INCD)structures.h $(INCD)parameters.h $(INCD)constants.h $(INCD)angles.h
	$(CC) $(CFLAGS) -c world.c -I$(INCD) -o $(OBJD)world.o

$(OBJD)servo.o: servo.c $(INCD)structures.h $(INCD)parameters.h $(INCD)constants.h $(INCD)angles.h
	$(CC) $(CFLAGS) -c servo.c -I$(INCD) -o $(OBJD)servo.o

$(OBJD)win.o: win.c $(INCD)structures.h $(INCD)parameters.h $(INCD)constants.h $(INCD)angles.h
	$(CC) $(CFLAGS) -c win.c -I$(INCD) -o $(OBJD)win.o

$(OBJD)xdisp.o: xdisp.c $(INCD)structures.h $(INCD)parameters.h $(INCD)constants.h $(INCD)angles.h
	$(CC) $(CFLAGS) -c xdisp.c -I$(INCD) -I$(MOTIFD)include -o $(OBJD)xdisp.o

$(OBJD)mdisp.o: mdisp.c $(INCD)structures.h $(INCD)parameters.h $(INCD)constants.h $(INCD)angles.h
	$(CC) $(CFLAGS) -c mdisp.c -I$(INCD) -I$(MOTIFD)include -o $(OBJD)mdisp.o


$(OBJD)timer.o: timer.c 
	$(CC) $(CFLAGS) -c timer.c -I$(INCD) -o $(OBJD)timer.o

$(OBJD)comm-server.o: comm-server.c  
	$(CC) $(CFLAGS) -c comm-server.c -I$(INCD) -o $(OBJD)comm-server.o

$(OBJD)comm-rw.o: comm-rw.c  
	$(CC) $(CFLAGS) -c comm-rw.c -I$(INCD) -o $(OBJD)comm-rw.o

$(OBJD)comm-pac.o: comm-pac.c $(INCD)structures.h $(INCD)parameters.h $(INCD)constants.h $(INCD)angles.h
	$(CC) $(CFLAGS) -c comm-pac.c -I$(INCD) -o $(OBJD)comm-pac.o

$(OBJD)loadfile.o: loadfile.c $(INCD)structures.h $(INCD)parameters.h $(INCD)constants.h $(INCD)angles.h
	$(CC) $(CFLAGS) -c loadfile.c -I$(INCD) -o $(OBJD)loadfile.o

$(OBJD)sonar-beam.o: sonar-beam.c $(INCD)structures.h $(INCD)parameters.h $(INCD)constants.h $(INCD)angles.h
	$(CC) $(CFLAGS) -c sonar-beam.c -I$(INCD) -o $(OBJD)sonar-beam.o

$(OBJD)sonar.o: sonar.c $(INCD)structures.h $(INCD)parameters.h $(INCD)constants.h $(INCD)angles.h
	$(CC) $(CFLAGS) -c sonar.c -I$(INCD) -o $(OBJD)sonar.o

$(OBJD)toplevel.o: toplevel.c $(INCD)structures.h $(INCD)parameters.h $(INCD)constants.h $(INCD)angles.h
	$(CC) $(CFLAGS) -c toplevel.c -I$(INCD) -o $(OBJD)toplevel.o

$(BIND)erratic: $(OBJECTS)
	$(CC) $(OBJECTS) -o $(BIND)erratic -L$(MOTIFD)lib -lXm -lXt -lX11 -lc -lm