#
# Plik Makefile dla przykadw z podrozdziau "Projektowanie kontraktowe".
# Plik wymaga do prawidowej kompilacji iContract 0.3b1 lub nowszego.
#
# iContract.jar naley umieci CLASSPATH.
#
# BASIC - istniejca cieka do klasy, w tym iContract
# SCODE - katalog gwny kodu rdowego
# CCODE - katalog gwny skompilowanego kodu (zwyky kod bez oprzyrzdowania)
# ISCODE - katalog gwny kodu rdowego z oprzyrzdowaniem
# ICCODE - katalog gwny skompilowanego kodu z oprzyrzdowaniem
# REP - katalog gwny drzewa repozytorium (rdowy i skompilowany __REP)

BASIC=$(JAVA_HOME)/lib/classes.zip:$(CLASSPATH)
ROOT=..
ISCODE=$(ROOT)/instr
REP=$(ROOT)/rep
SCODE=$(ROOT)
CCODE=$(ROOT)
ICCODE=$(ROOT)

all:
	@-mkdir -p $(REP)/dbc
	@-mkdir -p $(ISCODE)/dbc
	java -Djava.compiler=""  \
	-classpath $(CCODE):$(BASIC):$(REP) iContract.Tool  \
	-xdepend \
	-b"javac -g -d $(CCODE) -classpath $(CCODE):$(BASIC)" \
	-v -a \
	-c"javac -g -d $(ICCODE) -classpath $(CCODE):$(BASIC)"  \
	-o$(ISCODE)/@p/@f.@e  \
	-k$(REP)/@p  \
	-n"javac -classpath $(REP):$(BASIC)"  \
	-mpre,post,inv  \
	*.java

test:
	java dbc.dbc_list # Test kontraktu dla listy
	./test_blender.sh # Testy regresji

clean:
	rm -fr *.class dbc *~ $(REP) $(ISCODE) depend


