# Comment/uncomment the following line to disable/enable debugging
#DEBUG = y
SVGALIB_HELPER_MAJOR = 60

# Change it here or specify it on the "make" commandline
INCLUDEDIR = /usr/src/linux/include

ifeq ($(DEBUG),y)
  DEBFLAGS = -O -g -DSCULL_DEBUG # "-O" is needed to expand inlines
else
  DEBFLAGS = -O2
endif

CFLAGS = -D__KERNEL__ -DMODULE -Wall $(DEBFLAGS)
CFLAGS += -I$(INCLUDEDIR)
CFLAGS += -DSVGALIB_HELPER_MAJOR=$(SVGALIB_HELPER_MAJOR)

# Extract version number from headers.
VER = $(shell awk -F\" '/REL/ {print $$2}' $(INCLUDEDIR)/linux/version.h)

TARGET = svgalib_helper
OBJS = $(TARGET).o
SRC = main.c

all: .depend $(TARGET).o

$(TARGET).o: $(SRC:.c=.o)
	$(LD) -r $^ -o $@

install: device
	mkdir -p /lib/modules/$(VER)/misc /lib/modules/misc
	install -c $(TARGET).o /lib/modules/$(VER)/misc
	install -c $(TARGET).o /lib/modules/misc

device:
	mknod /dev/svgalib_helper c $(SVGALIB_HELPER_MAJOR) 0
	mknod /dev/svgalib_helper1 c $(SVGALIB_HELPER_MAJOR) 1
	mknod /dev/svgalib_helper2 c $(SVGALIB_HELPER_MAJOR) 2
	mknod /dev/svgalib_helper3 c $(SVGALIB_HELPER_MAJOR) 3
	mknod /dev/svgalib_helper4 c $(SVGALIB_HELPER_MAJOR) 4

clean:
	rm -f *.o *~ core .depend

depend .depend dep:
	$(CC) $(CFLAGS) -M *.c > $@


ifeq (.depend,$(wildcard .depend))
include .depend
endif
