# -*------------------
# Uses: GNU Make 3.7x
# -*------------------
# @(#) $Id$
#
# Makefile: makefile for kudos.schemej.util
# - created by cjeong@etri.re.kr
#
# Copyleft(c) 2000. Cheoljoo Jeong. All lefts reserved.
# 
#SHELL = /bin/sh
MAKE = make


#-*----------------------------------------
# project name; or package name or ...
#-*----------------------------------------
package = kudos.schemej.util


#-*----------------------------------------
# directories
#-*----------------------------------------
source_dir = .
dest_dir = .


#-*----------------------------------------
# machineries
#-*----------------------------------------
javac = javac
javac_flags = 
java = java
java_flags =
jar = jar


#-*----------------------------------------
# sources and objects
#-*----------------------------------------
sources = SSymbol.java \
	SNumber.java \
	Pair.java \
	NullList.java \
	SExprVisitorI.java \
	Token.java
classes = $(sources:.java=.class)


#-*----------------------------------------
# implicit rules
#-*----------------------------------------
.SUFFIXES: 
.SUFFIXES: .java .class
.java.class:
	$(javac) $(javac_flags) $<


#-*----------------------------------------
# default rule to be executed
#-*----------------------------------------
default: all


#-*----------------------------------------
# dependencies
#-*----------------------------------------
Token.class: 
SExpr.class: 
Atom.class: SExpr.class
SSymbol.class: Atom.class
SNumber.class: Atom.class
Pair.class: SExpr.class
NullList.class: SExpr.class
SExprVisitorI.class: Atom.class Pair.class NullList.class

#-*----------------------------------------
# rules
#-*----------------------------------------
all: 
	$(MAKE) classes

classes: $(classes)

jar:
	$(jar) cvmf $(source_dir)/$(manifest_file) \
		$(dest_dir)/$(proj).jar *.class

run:
	$(javac) $(javac_flags) Main.java
	$(java) $(java_flags) Main

touch:
	touch $(lex_spec) $(yacc_spec) $(sources) 

clean:
	$(RM) *.class *.jar
