CC = riscv64-linux-gnu-gcc -static
CC = gcc

TIME = /usr/bin/time -f "%E (real)\t%U (user)\t%S(system)"
TIME = /opt/local/bin/gtime -f "%E (real)\t%U (user)\t%S(system)"

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

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

all: $(ALL)

run: $(ALL)
	@for f in $(REG); do \
	    /bin/echo -n "./$$f: "; \
	    $(TIME) ./$$f; \
	    /bin/echo -n "./$$f-o: "; \
	    $(TIME) ./$$f-o; \
	    echo ; \
	done

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

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

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

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

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

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

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

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

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