# Semana 9: hilos, condiciones de carrera y la API de pthreads.
#   make            compila todo
#   make demo       corre la condición de carrera con y sin mutex
#   make asm        genera counter-rv.s: counter++ compilado para RISC-V
CFLAGS = -Wall -Wextra -g
LDLIBS = -pthread
PROGS  = race args stacks cond

all: $(PROGS)

demo: race
	./race nolock 4 1000000
	./race mutex  4 1000000
	./race local  4 1000000

# Compilador cruzado de RISC-V del contenedor (el mismo que compila xv6).
asm: counter.c
	riscv64-linux-gnu-gcc $(CFLAGS) -O1 -S -o counter-rv.s counter.c

clean:
	rm -f $(PROGS) counter-rv.s

.PHONY: all demo asm clean
