
all : lisp cplusplus java


CLISP = clisp -q

lisp : ud2cd.lsp cd2ud.lsp cdiffreverse.lsp udiffreverse.lsp


CXX = g++
CXXFLAGS = -O2 -fno-exceptions -fomit-frame-pointer

cplusplus : ud2cd cd2ud cdiffreverse udiffreverse

ud2cd : ud2cd.cc
	$(CXX) $(CXXFLAGS) $< -o $@

cd2ud : cd2ud.cc
	$(CXX) $(CXXFLAGS) $< -o $@

cdiffreverse : cdiffreverse.cc
	$(CXX) $(CXXFLAGS) $< -o $@

udiffreverse : udiffreverse.cc
	$(CXX) $(CXXFLAGS) $< -o $@


JAVAC = javac -O

java : ud2cd.class cd2ud.class cdiffreverse.class udiffreverse.class

ud2cd.class : ud2cd.java
	$(JAVAC) ud2cd.java
	chmod a+x $@

cd2ud.class : cd2ud.java
	$(JAVAC) cd2ud.java
	chmod a+x $@

cdiffreverse.class : cdiffreverse.java
	$(JAVAC) cdiffreverse.java
	chmod a+x $@

udiffreverse.class : udiffreverse.java
	$(JAVAC) udiffreverse.java
	chmod a+x $@


clean : force
	rm -f ud2cd cd2ud cdiffreverse udiffreverse *.class
	rm -f core

force :
