# -*-makefile-*- # # This file is a helper make file that makes building easier. It is meant # to be generic and is designed to be recycled by other drivers. The # comments should be clear enough. It partly comes from Linux Makefile, # and needs GNU make. # TOPDIR is declared by the Makefile including this file. ifndef TOPDIR TOPDIR = . endif # KERNELDIR can be speficied on the command line or environment # this may assuems a symbolic link has been set to /usr/src/linux ifndef KERNELDIR KERNELDIR = /usr/src/linux endif # The headers are taken from the kernel INCLUDEDIR = $(KERNELDIR)/include # We need the configuration file, for CONFIG_SMP and possibly other stuff # (especiall for RISC platforms, where CFLAGS depends on the exact # processor being used). #ifeq ($(KERNELDIR)/.config,$(wildcard $(KERNELDIR))/.config) # include $(KERNELDIR)/.config #else # MESSAGE := $(shell echo "WARNING: no .config file in $(KERNELDIR)") #endif # ARCH can be speficed on the comdline or env. too, and defaults to this arch # Unfortunately, we can't easily extract if from kernel configuration # (well, we could look athe asm- symlink... don't know if worth the effort) ifndef ARCH ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \ -e s/arm.*/arm/ -e s/sa110/arm/) endif # This is useful if cross-compiling. Taken from kernel Makefile (CC changed) AS =$(CROSS_COMPILE)as LD =$(CROSS_COMPILE)ld CC =$(CROSS_COMPILE)gcc CPP =$(CC) -E AR =$(CROSS_COMPILE)ar NM =$(CROSS_COMPILE)nm STRIP =$(CROSS_COMPILE)strip OBJCOPY =$(CROSS_COMPILE)objcopy OBJDUMP =$(CROSS_COMPILE)objdump # The platform-specific Makefiles include portability nightmares. # Some platforms, though, don't have one, so check for existence first ARCHMAKEFILE = $(TOPDIR)/Makefile.$(ARCH) ifeq ($(ARCHMAKEFILE),$(wildcard $(ARCHMAKEFILE))) include $(ARCHMAKEFILE) endif # CFLAGS: all assignments to CFLAGS are inclremental, so you can specify # the initial flags on the command line or environment, if needed. CFLAGS += -Wall -D__KERNEL__ -DMODULE -I$(INCLUDEDIR) ifdef CONFIG_SMP CFLAGS += -D__SMP__ -DSMP endif # Prepend modversions.h if we're running with versioning. ifdef CONFIG_MODVERSIONS CFLAGS += -DMODVERSIONS -include $(KERNELDIR)/include/linux/modversions.h endif #Install dir VERSIONFILE = $(INCLUDEDIR)/linux/version.h VERSION = $(shell awk -F\" '/REL/ {print $$2}' $(VERSIONFILE)) INSTALLDIR = /lib/modules/$(VERSION)/misc