CC=gcc
JAVA=java

ifndef CODEGEN_PATH
$(error CODEGEN_PATH is not set. Please set it before running this Makefile.)
endif

CFLAGS=-Wall -g -I. -I.. -I../lib
JFLAGS=-cp "$(CODEGEN_PATH)/*" codegen.Main

# All Target
all: equivalent

objects = equivalent.o timer.o main.o io_interface.o

equivalent : $(objects)
	$(CC) $(LFLAGS) -o equivalent $(objects)

equivalent.c : equivalent_sc.xml
	$(JAVA) $(JFLAGS) -v -c -Trace -p ssc -o equivalent equivalent_sc.xml 


main.o : main.c equivalent.o equivalent.h
	$(CC) $(CFLAGS) main.c -c -o main.o

equivalent.o : equivalent.c equivalent_sc.xml
	$(CC) $(CFLAGS) equivalent.c -c -o equivalent.o

timer.o : timer.c equivalent_sc.xml
	$(CC) $(CFLAGS) timer.c -c -o timer.o


io_interface.o : io_interface.c
	$(CC) $(CFLAGS) io_interface.c -c -o io_interface.o


clean:
	rm -f equivalent *.o
	touch *.xml

ref:
	./equivalent > tst.ref
