85 lines
2.1 KiB
Makefile
85 lines
2.1 KiB
Makefile
|
include ../../Makefile.cfg
|
||
|
|
||
|
|
||
|
ifndef INCLUDEDIR
|
||
|
INCLUDEDIR = /lib/modules/$(shell uname -r)/build/include
|
||
|
endif
|
||
|
|
||
|
MODVER = $(shell grep CONFIG_MODVERSIONS $(INCLUDEDIR)/linux/autoconf.h)
|
||
|
|
||
|
ifeq ($(MODVER),)
|
||
|
@echo INCLUDEDIR is not set up correctly
|
||
|
exit 1
|
||
|
endif
|
||
|
|
||
|
# Extract version number from headers.
|
||
|
VER = $(shell awk -F\" '/REL/ {print $$2}' $(INCLUDEDIR)/linux/version.h 2>/dev/null)
|
||
|
|
||
|
# Use version of current running kernel
|
||
|
ifeq ($(VER),)
|
||
|
VER = $(shell uname -r)
|
||
|
endif
|
||
|
|
||
|
VER_MAJOR = $(shell echo $(VER) | cut -d. -f1)
|
||
|
VER_MINOR = $(shell echo $(VER) | cut -d. -f2)
|
||
|
|
||
|
INCLUDES += -I$(INCLUDEDIR)
|
||
|
INCLUDES += -I$(INCLUDEDIR)/asm/mach-default
|
||
|
|
||
|
CFLAGS = -O2 -DLINUX -Dlinux -D__KERNEL__ -DMODULE $(DEBFLAGS)
|
||
|
ifeq (2,$(VER_MAJOR))
|
||
|
ifeq (6,$(VER_MINOR))
|
||
|
CFLAGS += -DKBUILD_MODNAME="svgalib_helper"
|
||
|
endif
|
||
|
endif
|
||
|
|
||
|
CFLAGS += $(INCLUDES)
|
||
|
CFLAGS += -DSVGALIB_HELPER_MAJOR=$(SVGALIB_HELPER_MAJOR)
|
||
|
|
||
|
ifeq (1,$(findstring 1,$(MODVER)))
|
||
|
CFLAGS += -DMODVERSIONS -include $(INCLUDEDIR)/linux/modversions.h
|
||
|
endif
|
||
|
|
||
|
TARGET = svgalib_helper
|
||
|
OBJS = $(TARGET).o
|
||
|
SRC = main.c interrupt.c i810.c virtual.c displaystart.c
|
||
|
|
||
|
ifeq (2,$(VER_MAJOR))
|
||
|
ifeq (6,$(VER_MINOR))
|
||
|
OBJS = $(TARGET).ko
|
||
|
endif
|
||
|
endif
|
||
|
|
||
|
all: .depend $(OBJS)
|
||
|
|
||
|
$(TARGET).o: $(SRC:.c=.o)
|
||
|
$(LD) -r $^ -o $@
|
||
|
|
||
|
$(TARGET).ko: $(TARGET).o
|
||
|
$(LD) -d -r $^ -o $@
|
||
|
|
||
|
install: device modules_install
|
||
|
|
||
|
modules_install: $(OBJS)
|
||
|
mkdir -p /lib/modules/$(VER)/kernel/misc
|
||
|
install -m 0644 -c $(OBJS) /lib/modules/$(VER)/kernel/misc
|
||
|
|
||
|
device:
|
||
|
rm -f /dev/svgalib_helper* /dev/svga_helper* /dev/svga /dev/svga?
|
||
|
mknod -m 666 /dev/svga c $(SVGALIB_HELPER_MAJOR) 0
|
||
|
mknod -m 666 /dev/svga1 c $(SVGALIB_HELPER_MAJOR) 1
|
||
|
mknod -m 666 /dev/svga2 c $(SVGALIB_HELPER_MAJOR) 2
|
||
|
mknod -m 666 /dev/svga3 c $(SVGALIB_HELPER_MAJOR) 3
|
||
|
mknod -m 666 /dev/svga4 c $(SVGALIB_HELPER_MAJOR) 4
|
||
|
|
||
|
clean:
|
||
|
rm -f *.ko *.o *~ core .depend *.bak *.orig
|
||
|
|
||
|
depend .depend dep:
|
||
|
$(CC) $(CFLAGS) -M *.c > $@
|
||
|
|
||
|
|
||
|
ifeq (.depend,$(wildcard .depend))
|
||
|
include .depend
|
||
|
endif
|