CFLAGS = -O6 -m386 -Wall
LDFLAGS = -static
MODCFLAGS := $(CFLAGS) -DMODULE -D__KERNEL__ -DLINUX

# If block device 42 is in use, change the definition below:
HW_MAJOR=42

PROGS=linuxrc

all: $(PROGS)

linuxrc: linuxrc.o load_elf.o

linuxrc.o load_elf.o: insmod.h

drv_hello.o:	drv_hello.c  /usr/include/linux/version.h
	$(CC) $(MODCFLAGS) -c drv_hello.c 

devhw:
	if [ ! -c devhw ]; then mknod devhw c $(HW_MAJOR) 0;fi

test: $(PROGS) drv_hello.o devhw
	@echo Installing drv_hello.o with linuxrc
	echo "drv_hello.o major=$(HW_MAJOR)" >linuxrc.conf
	./linuxrc
	@echo This is the output from lsmod
	lsmod
	@echo You should now see 3 lines of the greeting:
	head -3 devhw
	@echo Removing drv_hello with rmmod
	rmmod drv_hello
	@echo It is gone...
	lsmod

clean:
	rm -f *.o $(PROGS) $(INSMOD_LINKS) devhw linuxrc.conf

install: $(PROGS)
	install -s -m 544 linuxrc /usr/libexec/linuxrc
