# << krbs Makefile >>
# krbs ver 1.00
# 96/12/18
# By Kenta Cho(cho@ueda.info.waseda.ac.jp)

# change this if you want to recompile KL1 programs
KLIJAVA = /home/satoshi/klijava/compiler/kl1cmp $(KLIJOPTS)
KLIJOPTS = 

VERSION = 19990316-SNAP
DISTDIR =  jkrbs-$(VERSION)
TGZ_FILE = jkrbs-$(VERSION).tar.gz
JAR_FILE = jkrbs-$(VERSION).jar

JAVAMODULES = \
	math.java rbs.java \
	testrobot1.java testrobot2.java \
	testrobot3.java testrobot4.java testrobot5.java \
	testrobot6.java \
	jmain.java
#	random.java main.java tty.java

JAVAFILES = \
	Module_math.java Module_rbs.java \
	Module_testrobot1.java Module_testrobot2.java \
	Module_testrobot3.java Module_testrobot4.java Module_testrobot5.java \
	Module_testrobot6.java \
	Module_jmain.java \
#	Module_main.java  Module_tty.java Module_random.java

KL1_FILES = \
	jmain.kl1 main.kl1 math.kl1 random.kl1 rbs.kl1 rbsmain.kl1 \
	testrobot1.kl1 testrobot2.kl1 testrobot3.kl1 \
	testrobot4.kl1 testrobot5.kl1 testrobot6.kl1 \
	tty.kl1 tty2.kl1 

PROGRAMS = # rbs vrbs

VRBS2_JAVA =    vrbs2.java
VRBS2_CLASSES = vrbs2*.class
CLASS_FILES = \
	Module_math.class Module_rbs.class \
	Module_testrobot1.class Module_testrobot2.class \
	Module_testrobot3.class Module_testrobot4.class \
	Module_testrobot5.class Module_testrobot6.class \
	Module_jmain.class

DISTFILES = \
	Makefile ChangeLog \
	README README.jkrbs complie.doc makerobot.doc \
	vrbs.c \
	$(KL1_FILES) \
	$(JAVAMODULES) $(JAVAFILES) $(VRBS2_JAVA) \
	$(CLASS_FILES) $(VRBS2_CLASSES)

all:	$(CLASS_FILES) $(PROGRAMS) $(VRBS2_CLASSES)

$(CLASS_FILES): $(JAVAFILES) $(JAVAMODULES)
	javac -g $(JAVAFILES)

$(VRBS2_CLASSES): $(VRBS2_JAVA)
	javac -g $<

symlinks::
	-ln -s math.java Module_math.java
#	-ln -s random.java Module_random.java
#	-ln -s rbs.java Module_rbs.java
#	-ln -s main.java Module_main.java
	-ln -s testrobot1.java Module_testrobot1.java
	-ln -s testrobot2.java Module_testrobot2.java
	-ln -s testrobot3.java Module_testrobot3.java
	-ln -s testrobot4.java Module_testrobot4.java
	-ln -s testrobot5.java Module_testrobot5.java
	-ln -s testrobot6.java Module_testrobot6.java
#	-ln -s tty2.java Module_tty.java
#	-ln -s tty.java Module_tty.java
	-ln -s jmain.java Module_jmain.java

distribute:
	-rm -frv $(DISTDIR)
	mkdir $(DISTDIR)
	cp -av $(DISTFILES) $(DISTDIR)
	tar zcvf $(TGZ_FILE) $(DISTDIR)

clean::
	-rm $(JAVAMODULES)

%.java:	%.kl1
	$(KLIJAVA) $<

%.o: %.kl1
	klic -v -O -c $^

vrbs:	vrbs.c
	gcc -O2 -o $@ $< -L/usr/X11/lib -lX11 -lm

rbs:	rbs.o testrobot1.o testrobot2.o testrobot3.o testrobot4.o testrobot5.o testrobot6.o math.o main.o tty2.o random.o
	klic -v -o $@ $^
