# LAP Makefile  -- for the monx (monkey unix) stuff

# this stuff works with gnu's c++ version 2.7.2.1, tested on linux and
# sun os (really! I haven't tried solaris!)
CC=g++ -g
LIBS = -lm # -L/usr/lib -lm -lg++ 
#  LIBS = -lm -L/usr/lib/gcc-lib/i486-linux/2.5.8 -lgcc -lobjc
INCLUDE = -I/home/jo/client

# note:  no point in optimizing unless quietly is turned off, since
# the pipe i/o is slower than anything in the code...
CFLAGS = -g -Wall $(INCLUDE) # -DQUIETLY # -O3 
#                                        (_and_ the  robot, but slower)

MONXOBJS = brain-objs.o monx-prims.o brain-read.o 
GRASPOBJS = brain-objs.o grasp-prims.o brain-read.o 

all : monx



# stuff actually happening

brain-objs.o : braintrie.hh brain-objs.hh monx.hh brain-objs.cc
	$(CC) $(CFLAGS) -c $*.cc

monx-prims.o : monx-prims.cc monx.hh braintrie.hh brain-objs.hh monx-dirattn.hh# monx-sense.hh monx-nav.hh
	$(CC) $(CFLAGS) -c $*.cc

grasp-prims.o : grasp-prims.cc monx.hh braintrie.hh brain-objs.hh
	$(CC) $(CFLAGS) -c $*.cc

# monx-sense.o : monx-sense.cc monx-sense.hh monx.hh monx-move.hh
	# $(CC) $(CFLAGS) -c $*.cc

# monx-move.o : monx-move.cc monx-sense.hh monx.hh monx-move.hh
	# $(CC) $(CFLAGS) -c $*.cc

brain-read.o : brain-read.cc brain-objs.hh braintrie.hh monx.hh
	$(CC) $(CFLAGS) -c $*.cc

# monx-nav.o : monx-nav.cc monx.hh monx-move.hh monx-nav.hh monx-sense.hh
	$(CC) $(CFLAGS) -c $*.cc

test.o : test.cc braintrie.hh brain-objs.hh brain-read.hh monx.hh # monx-sense.hh monx-move.hh 
	$(CC) $(CFLAGS) -c $*.cc

monx.o : monx.cc braintrie.hh brain-objs.hh brain-read.hh monx.hh monx-dirattn.hh# monx-sense.hh monx-move.hh  monx-nav.hh
	$(CC) $(CFLAGS) -c $*.cc

comm.o: lynn/comm.c lynn/comm.h
	 gcc -Dsun4 -D_ALL_SOURCE -D_BSD_INCLUDES -I/home/ll/include -c lynn/comm.c

grasp.o : grasp.cc braintrie.hh brain-objs.hh brain-read.hh monx.hh 
	$(CC) $(CFLAGS) -c $*.cc

test : $(MONXOBJS) test.o 
	$(CC) $(CFLAGS) -o $@ $@.o $(MONXOBJS)  $(LIBS)

monx : $(MONXOBJS) monx.o
	$(CC) $(CFLAGS) -o $@ $@.o $(MONXOBJS)  $(LIBS)

grasp : $(GRASPOBJS) grasp.o comm.o
	$(CC) $(CFLAGS) -o $@ $@.o comm.o $(GRASPOBJS)  $(LIBS)
