compat: pcmcia/cs.h is removed form new kernels
[~emulex/for-vlad/old/compat.git] / Makefile
index 484386949f2d36533d41b3661915aedd9b324b3d..04877c540aadc8eea902c7e7aa7c9b68aa9ee159 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -9,6 +9,17 @@ export KLIB_BUILD ?=    $(KLIB)/build
 
 export PWD := $(shell pwd)
 
+ifeq ($(KERNELRELEASE),)
+export COMPAT_BASE_TREE := "linux-next.git"
+# For this specific tree this is only relevant in
+# terms of the last time we synched code up with upstream
+# for internal stuff. For other compatability projects this
+# would be the git describe of the base tree you are
+# working with.
+export COMPAT_BASE_TREE_VERSION := "next-20100517"
+export COMPAT_VERSION := $(shell git describe)
+endif
+
 # This generates a bunch of CONFIG_COMPAT_KERNEL_22 CONFIG_COMPAT_KERNEL_23 .. etc for
 # each kernel release you need an object for.
 ifneq ($(wildcard $(KLIB_BUILD)/Makefile),)
@@ -19,15 +30,23 @@ $(foreach ver,$(COMPAT_VERSIONS),$(eval export CONFIG_COMPAT_KERNEL_$(ver)=y))
 endif
 
 ifeq ($(CONFIG_COMPAT_KERNEL_33),y)
+ifneq ($(CONFIG_FW_LOADER),)
  export CONFIG_COMPAT_FIRMWARE_CLASS=m
 endif
+endif
 
 obj-y += compat/
 
 # This hack lets us put our include path first than the kernel's
 # when building our compat modules. Your own makefile would look
 # the same.
-NOSTDINC_FLAGS := -I$(M)/include/ -include $(M)/include/linux/compat-2.6.h $(CFLAGS)
+NOSTDINC_FLAGS := -I$(M)/include/ \
+       -include $(M)/include/linux/compat-2.6.h \
+       $(CFLAGS) \
+       -DCOMPAT_BASE_TREE="\"$(COMPAT_BASE_TREE)\"" \
+       -DCOMPAT_BASE_TREE_VERSION="\"$(COMPAT_BASE_TREE_VERSION)\"" \
+       -DCOMPAT_PROJECT="\"Generic kernel\"" \
+       -DCOMPAT_VERSION="\"$(COMPAT_VERSION)\""
 
 modules:
        $(MAKE) -C $(KLIB_BUILD) M=$(PWD) modules
@@ -35,6 +54,7 @@ install: modules
        $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \
                modules_install
        depmod -a
+       @./scripts/compat_firmware_install
 clean:
        $(MAKE) -C $(KLIB_BUILD) M=$(PWD) clean
 all: modules