export LC_ALL=C
CXXFLAGS= -Wall -pedantic -g -ggdb
LDFLAGS= -lpthread

OBJS=main.o simu.o basesched.o basetask.o tasks.o sched_rr.o sched_fcfs.o sched_sjf.o sched_rsjf.o sched_mfq.o
MAIN=simusched

.PHONY: all clean new
all: $(MAIN)

$(MAIN): $(OBJS)
	$(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS)

%.o: %.cpp %.h basesched.h
basesched.o: basesched.cpp basesched.h
basetask.o: basetask.cpp basetask.h
main.o: main.cpp simu.h basetask.h basesched.h tasks.h sched_fcfs.h \
	sched_mfq.h sched_rr.h sched_rsjf.h sched_sjf.h
simu.o: simu.cpp simu.h basetask.h basesched.h
simusched.o: simusched.cpp basetask.h basesched.h tasks.h
tasks.o: tasks.cpp tasks.h basetask.h

clean:
	rm -f $(OBJS) $(MAIN)
	rm -f *.png

informe/informe.pdf: informe/informe.md

informe: informe/informe.pdf
	pandoc informe/informe.md -o informe/informe.pdf
new: clean all

ejercicio1: all
	./simusched consola.tsk 1 1 2 SchedFCFS | ./graphsched.py > ejercicio1.png

ejercicio2: all
	./simusched ejer2.tsk 1 2 99 SchedFCFS | ./graphsched.py > ejercicio2_1core.png
	./simusched ejer2.tsk 2 2 99 SchedFCFS | ./graphsched.py > ejercicio2_2core.png
	./simusched ejer2.tsk 4 2 99 SchedFCFS | ./graphsched.py > ejercicio2_4core.png

ejercicio3: all
	./simusched ejer3.tsk 1 2 99 SchedFCFS | ./graphsched.py > ejercicio3_1core.png
