ifneq (${KERNELRELEASE},)

# KERNELRELEASE defined: we are being compiled as part of the Kernel
        obj-m := vga_ball.o

else

# We are being compiled as a module: use the Kernel build system

	KERNEL_SOURCE := /usr/src/linux-headers-$(shell uname -r)
        PWD := $(shell pwd)

default: module rr

rr: main.c rr.c utils.c rr.h
	gcc -Wall main.c rr.c utils.c -o rr -pthread

cleanrr:
	rm rr

module:
	${MAKE} -C ${KERNEL_SOURCE} SUBDIRS=${PWD} modules

clean:
	${MAKE} -C ${KERNEL_SOURCE} SUBDIRS=${PWD} clean
	${RM} rr

TARFILES = Makefile README vga_ball.h vga_ball.c rr.c rr.h main.c utils.c screen-arrange.txt vga_ball.mod.c
TARFILE = rr_sw.tar.gz
.PHONY : tar
tar : $(TARFILE)

$(TARFILE) : $(TARFILES)
	tar zcfC $(TARFILE) .. $(TARFILES:%=rr_sw/%)

endif 
