# -*------------------
# 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.stdlib


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


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


#-*----------------------------------------
# sources and objects
#-*----------------------------------------
sources = Eval.java \
	EqvP.java \
	EqualsP.java \
	NullP.java \
	SymbolP.java \
	PairP.java \
	BooleanP.java \
	NumberP.java \
	StringP.java \
	ProcedureP.java \
	Read.java \
	Add.java \
	Subtract.java \
	Multiply.java \
	Divide.java \
	GreaterThan.java \
	GreaterThanEquals.java \
	NumEquals.java \
	LessThan.java \
	LessThanEquals.java \
	Car.java \
	Cdr.java \
	Cons.java \
	ClassP.java \
	InterfaceP.java \
	ImplementsP.java \
	LoadClass.java \
	CreateObject.java \
	SendMessage.java \
	SendStatic.java \
	GetMethod.java \
	GetField.java \
	GetFieldValue.java \
	SetFieldValue.java \
	MakeActionListener.java \
	Converter.java
classes = $(sources:.java=.class)


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


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


#-*----------------------------------------
# dependencies
#-*----------------------------------------
Converter.class:
Eval.class:
EqvP.class:
EqualsP.class:
NullP.class:
SymbolP.class:
PairP.class:
BooleanP.class:
NumberP.class:
StringP.class:
ProcedureP.class:
Read.class:
Add.class:
Subtract.class:
Multiply.class:
Divide.class:
GreaterThan.class:
GreaterThanEquals.class:
NumEquals.class:
LessThan.class:
LessThanEquals.class:
Car.class:
Cdr.class:
Cons.class:
ClassP.class:
InterfaceP.class:
ImplementsP.class:
LoadClass.class:
CreateObject.class:
SendMessage.class: Converter.class
SendStatic.class: Converter.class
GetMethod.class:
GetField.class:
GetFieldValue.class:
SetFieldValue.class: 
MakeActionListener.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 $(sources) 

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




