CC = gcc
CFLAGS = -g -I. -c -O0  -Wall
LFLAGS = -g -lm
OBJECTS = flow.o io.o loops.o misc.o opt.o vars.o vect.o loop_bound_analysis.o


all: $(OBJECTS)
	$(CC) $(LFLAGS) -o loopbound $(OBJECTS)

opt: $(OBJECTS)
	$(CC) $(LFLAGS) -o loopbound $(OBJECTS)

flow.o: flow.c flow.h opt.h
	$(CC) $(CFLAGS) flow.c

io.o: io.c io.h analysis.h misc.h opt.h vars.h
	$(CC) $(CFLAGS) io.c

loops.o: loops.c analysis.h misc.h opt.h
	$(CC) $(CFLAGS) loops.c

misc.o: misc.c misc.h opt.h vars.h
	$(CC) $(CFLAGS) misc.c

opt.o: opt.c opt.h
	$(CC) $(CFLAGS) opt.c

vars.o: vars.c vars.h opt.h
	$(CC) $(CFLAGS) vars.c

vect.o: vect.c vect.h opt.h
	$(CC) $(CFLAGS) vect.c

loops_bound_analysis.o: loop_bound_analysis.c analysis.h misc.h opt.h
	$(CC) $(CFLAGS) loop_bound_analysis.c

clean:  
	rm -f $(OBJECTS) opt.exe opt

clobber:
	rm -f *.o

