From 21797cd3d683c34b0d59255fb9a0e9ea48c69c36 Mon Sep 17 00:00:00 2001 From: tzafrir Date: Sat, 19 Jan 2008 15:50:31 +0000 Subject: Some more separation of kernel build Makefile from original one. This is a small change functionality-wise but makes it much simpler to move things around. It also fixes the major issue of issue #11141, with only xpp issue left for proper kernel 2.6.24 support. git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@3706 5390a7c7-147a-4af0-8ec9-7488f05a26cb --- Kbuild | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ Makefile | 14 +++++++++++++- Makefile.kernel26 | 48 ------------------------------------------------ wctc4xxp/Kbuild | 2 +- 4 files changed, 64 insertions(+), 50 deletions(-) create mode 100644 Kbuild delete mode 100644 Makefile.kernel26 diff --git a/Kbuild b/Kbuild new file mode 100644 index 0000000..fdd8d39 --- /dev/null +++ b/Kbuild @@ -0,0 +1,50 @@ +ifdef ECHO_CAN_NAME + ECHO_CAN_CFLAGS := -DECHO_CAN_FROMENV -DECHO_CAN_$(ECHO_CAN_NAME) +endif + +obj-m := $(KBUILD_OBJ_M) + +EXTRA_CFLAGS := -I$(src) -DSTANDALONE_ZAPATA +EXTRA_CFLAGS += $(ECHO_CAN_CFLAGS) + +# fix typo present in CentOS and RHEL 2.6.9 kernels +BAD_KERNELS_VERS := 22 34 34.0.1 34.0.2 +BAD_KERNELS := $(foreach ver,$(BAD_KERNELS_VERS),2.6.9-$(ver).EL 2.6.9-$(ver).ELsmp) +ifneq (,$(filter $(KVERS),$(BAD_KERNELS))) +EXTRA_CFLAGS+=-Drw_lock_t=rwlock_t +endif + +zaptel-objs := zaptel-base.o + +ifeq ($(HPEC_PRESENT),yes) +ifeq ($(ARCH),i386) +zaptel-objs += hpec/hpec_x86_32.o +endif + +ifeq ($(ARCH),x86_64) +zaptel-objs += hpec/hpec_x86_64.o +endif + +EXTRA_CFLAGS += -DECHO_CAN_HPEC -I$(src)/hpec +endif + + +# set CONFIG_ZAPTEL_MMX for a number of CPU types. +# Right now this part is not enabled, unless you build with +# ZAPTEL_MMX_AUTO=something . +ZAPMMX_WHITELIST_i386 = M586MMX M686 MPENTIUMII MPENTIUMIII MPENTIUMM \ + MPENTIUM4 MVIAC3_2 + +ZAPMMX_WHITELIST_x86_64 = + +# A list of configuration variables to test: CONFIG_M686 , etc. +ZAPMMX_CONFIG_VARS := $(ZAPMMX_WHITELIST_$(ARCH):%=CONFIG_%) + +# expand them: +ZAPMMX_CONFIG_VALS := $(strip $(foreach var,$(ZAPMMX_CONFIG_VARS),$(var)) ) +ifneq (,$(ZAPTEL_MMX_AUTO)) + ifneq (,$(ZAPMMX_CONFIG_VALS)) + # TODO: make that + CFLAGS_zaptel-base.o += -DCONFIG_ZAPTEL_MMX + endif +endif diff --git a/Makefile b/Makefile index 724a9d9..ca89393 100644 --- a/Makefile +++ b/Makefile @@ -5,6 +5,13 @@ # # +ifneq ($(KBUILD_EXTMOD),) +# We only get in here if we're from kernel 2.6 <= 2.6.8 and going through +# Kbuild. Later versions will include Kbuild instead of Makefile. +include Kbuild + +else + CFLAGS+=-DSTANDALONE_ZAPATA -DBUILDING_TONEZONE ifeq ($(MAKELEVEL),0) @@ -127,6 +134,7 @@ obj-m+=$(BUILD_SUBDIR_MODULES:%=%/) include $(src)/Makefile.kernel26 else +KBUILD_OBJ_M=$(BUILD_TOPDIR_MODULES:%=%.o) $(BUILD_SUBDIR_MODULES:%=%/) ifeq ($(BUILDVER),linux24) INSTALL_MODULES:=$(BUILD_TOPDIR_MODULES:%=%.o) @@ -178,7 +186,8 @@ MODULE_ALIASES=wcfxs wctdm8xxp wct2xxp KFLAGS+=-DSTANDALONE_ZAPATA CFLAGS+=-DSTANDALONE_ZAPATA -KMAKE = $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) HOTPLUG_FIRMWARE=$(HOTPLUG_FIRMWARE) +KMAKE = $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) \ + HOTPLUG_FIRMWARE=$(HOTPLUG_FIRMWARE) KBUILD_OBJ_M="$(KBUILD_OBJ_M)" KMAKE_INST = $(KMAKE) \ INSTALL_MOD_PATH=$(DESTDIR) INSTALL_MOD_DIR=misc modules_install @@ -674,3 +683,6 @@ menuselect-tree: zaptel.xml firmware/firmware.xml .PHONY: menuselect distclean dist-clean clean version.h all _all install b410p devices programs modules tests devel data stackcheck install-udev config update install-programs install-modules install-include install-libs install-utils-subdirs utils-subdirs uninstall-modules endif + +#end of: ifneq ($(KBUILD_EXTMOD),) +endif diff --git a/Makefile.kernel26 b/Makefile.kernel26 deleted file mode 100644 index 2833504..0000000 --- a/Makefile.kernel26 +++ /dev/null @@ -1,48 +0,0 @@ -ifdef ECHO_CAN_NAME - ECHO_CAN_CFLAGS := -DECHO_CAN_FROMENV -DECHO_CAN_$(ECHO_CAN_NAME) -endif - -EXTRA_CFLAGS := -I$(src) -EXTRA_CFLAGS += $(ECHO_CAN_CFLAGS) - -# fix typo present in CentOS and RHEL 2.6.9 kernels -BAD_KERNELS_VERS := 22 34 34.0.1 34.0.2 -BAD_KERNELS := $(foreach ver,$(BAD_KERNELS_VERS),2.6.9-$(ver).EL 2.6.9-$(ver).ELsmp) -ifneq (,$(filter $(KVERS),$(BAD_KERNELS))) -EXTRA_CFLAGS+=-Drw_lock_t=rwlock_t -endif - -zaptel-objs := zaptel-base.o - -ifeq ($(HPEC_PRESENT),yes) -ifeq ($(ARCH),i386) -zaptel-objs += hpec/hpec_x86_32.o -endif - -ifeq ($(ARCH),x86_64) -zaptel-objs += hpec/hpec_x86_64.o -endif - -EXTRA_CFLAGS += -DECHO_CAN_HPEC -I$(src)/hpec -endif - - -# set CONFIG_ZAPTEL_MMX for a number of CPU types. -# Right now this part is not enabled, unless you build with -# ZAPTEL_MMX_AUTO=something . -ZAPMMX_WHITELIST_i386 = M586MMX M686 MPENTIUMII MPENTIUMIII MPENTIUMM \ - MPENTIUM4 MVIAC3_2 - -ZAPMMX_WHITELIST_x86_64 = - -# A list of configuration variables to test: CONFIG_M686 , etc. -ZAPMMX_CONFIG_VARS := $(ZAPMMX_WHITELIST_$(ARCH):%=CONFIG_%) - -# expand them: -ZAPMMX_CONFIG_VALS := $(strip $(foreach var,$(ZAPMMX_CONFIG_VARS),$(var)) ) -ifneq (,$(ZAPTEL_MMX_AUTO)) - ifneq (,$(ZAPMMX_CONFIG_VALS)) - # TODO: make that - CFLAGS_zaptel-base.o += -DCONFIG_ZAPTEL_MMX - endif -endif diff --git a/wctc4xxp/Kbuild b/wctc4xxp/Kbuild index 598c025..f538494 100644 --- a/wctc4xxp/Kbuild +++ b/wctc4xxp/Kbuild @@ -1,6 +1,6 @@ obj-m += wctc4xxp.o -EXTRA_CFLAGS := -I$(src)/.. -Wno-undef +EXTRA_CFLAGS := -I$(src)/.. -Wno-undef -DSTANDALONE_ZAPATA wctc4xxp-objs := base.o -- cgit v1.2.3