#
# Makefile for source packages inside Cerberus.
#

all: prandom chartst memtester memtst flushb crashmex random



dist-clean: clean
	rm -f ../bin/random
	rm -f ../bin/prandom
	# if flushb gets fixed, change this
	rm -f ../bin/flushb.real
	rm -f ../chartst
	rm -f ../memtst
	rm -f ../bin/smartctl
	sh -c "make -C cpuburn dist-clean"
	sh -c "make -C crashme dist-clean"
	sh -c "make -C memtester4 clean"

install: all 
	cp random ../bin
	cp prandom ../bin
	cp flushb ../bin/flushb.real
	cp chartst ..
	cp memtst.src/memtst ../memtst
	cp memtester4/memtester ../bin/memtester
	sh -c "make -C cpuburn install"
	sh -c "make -C crashme install >> /dev/null 2>&1"

memtester: 
	make -C memtester4

memtst: 
	make -C memtst.src

flushb: flushb.o 
	$(CC) $(CFLAGS) -o flushb flushb.o -lm

random: random.o 
	$(CC) $(CFLAGS) -o random random.o -lm

prandom: prandom.o 
	$(CC) $(CFLAGS) -o prandom prandom.o -lm

chartst: chartst.o 
	$(CC) $(CFLAGS) -o chartst chartst.o -lm


crashmex: 
	make -C crashme >>/dev/null 2>&1


clean: ;
	rm -f *.o prandom chartst flushb random
	make -C memtst.src clean
	make -C memtester4 clean
	make -C cpuburn clean
	make -C crashme clean
