ifeq ($(SWARMHOME),)
SWARMHOME=../../../swarm
endif
include $(SWARMHOME)/Makefile.conf
OTHERINCDIRS=-I.

LIBS_C=		-lcollections -ldefobj -lmisc -lobjc $(OTHERLIBS)
LIBS_A=		-lactivity $(LIBS_C)

TARGETS_C= strtest grid0 grid1a grid1b grid1c grid2 grid2b grid3 grid3b \
           grid4 grid4b
TARGETS_A= grid5 grid6 grid7 grid8 grid9
TARGETS_M= mousetraps mousetraps2

OBJECTS= grid.o GridTurtle.o

all: $(TARGETS_C) $(TARGETS_A) $(TARGETS_M)

grid.o: grid/classes.h grid.xm

grid.xm: grid.h
	@ CC="$(CC)" INCDIRS="-I$(INCDIR) $(OTHERINCDIRS)" \
	OBJECTS="$(OBJECTS)" $(BINDIR)/make-h2x $@

grid/classes.h:
	if [ ! -x grid ]; then mkdir grid; fi
	cd grid; ln -s ../grid.xc classes.h

install:
	echo "no default install"
clean:
	- rm -f grid.x[cmt] *.o $(TARGETS_C) $(TARGETS_A) $(TARGETS_M) core
	- rm grid/classes.h; rmdir grid

c: $(TARGETS_C)
a: $(TARGETS_A)
m: $(TARGETS_M)

$(TARGETS_C): %: grid.o %.o $(OBJECTS)
	$(CC) $(CFLAGS) $(LDFLAGS) $@.o $(OBJECTS) -o $@ $(LIBS_C)

$(TARGETS_A): %: grid.o %.o $(OBJECTS)
	$(CC) $(CFLAGS) $(LDFLAGS) $@.o $(OBJECTS) -o $@ $(LIBS_A)

mousetraps: grid.o mousetraps.o Mousetrap.o
	$(CC) $(CFLAGS) $(LDFLAGS) $@.o Mousetrap.o -o $@ $(LIBS_A)
mousetraps2: grid.o mousetraps2.o Mousetrap2.o
	$(CC) $(CFLAGS) $(LDFLAGS) $@.o Mousetrap2.o -o $@ $(LIBS_A)
