REG =	sosar   sossr   sostr   sosit
OPT =	sosar-o sossr-o sostr-o sosit-o
ALL =	$(REG) $(OPT)

CFLAGS =  -Wall
COFLAGS = $(CFLAGS) -O2

all: $(ALL)

run: run-reg run-opt

sosar: sosar.c
	gcc $(CFLAGS) -o $@ $<

sosar-o: sosar.c
	gcc $(COFLAGS) -o $@ $<

sossr: sossr.c
	gcc $(CFLAGS) -o $@ $<

sossr-o: sossr.c
	gcc $(COFLAGS) -o $@ $<

sostr: sostr.c
	gcc $(CFLAGS) -o $@ $<

sostr-o: sostr.c
	gcc $(COFLAGS) -o $@ $<

sosit: sosit.c
	gcc $(CFLAGS) -o $@ $<

sosit-o: sosit.c
	gcc $(COFLAGS) -o $@ $<

run-reg: $(REG)
	@for f in $(REG); do \
	    /bin/echo -n "./$$f: "; \
	    /usr/bin/time ./$$f; \
	done

run-opt: $(OPT)
	@for f in $(OPT); do \
	    /bin/echo -n "./$$f: " ; \
	    /usr/bin/time ./$$f; \
	done

clean:
	rm -f $(ALL) *.o
