SvgaLib/kernel/svgalib_helper/Makefile.alt

84 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